当前位置:首页 > 开发 > 开源软件 > 正文

Mongodb FAQ fundamentals(基础篇)

发表于: 2013-07-06   作者:donlianli   来源:转载   浏览次数:
摘要: Mongodb FAQ(基础篇),是官方文档的翻译。如有翻译不到之处,还请谅解。 1、Mongdb是什么数据库? mongodb是一个面向文档(document)的数据库,既不支持表连接,也不支持事务。主从复制,故障自动转移,内建的水平扩展是mongodb的几个主要特性。同时还支持二级索引,表达式查询语言,基于文档的原子写操作,一致性读取。   2、Mongdb有表吗? mon

Mongodb FAQ(基础篇),是官方文档的翻译。如有翻译不到之处,还请谅解。

1、Mongdb是什么数据库?

mongodb是一个面向文档(document)的数据库,既不支持表连接,也不支持事务。主从复制,故障自动转移,内建的水平扩展是mongodb的几个主要特性。同时还支持二级索引,表达式查询语言,基于文档的原子写操作,一致性读取。

 

2、Mongdb有表吗?

mongodb的collections和RMDB的table的两个重要区别。一是你可以只向一些document添加某一列的属性,而不用将collection里面的所有document都增加列属性。二是Documents in a single collection may have unique combination and set of fields. Documents need not have identical fields,

 

3、mongodb一般用作什么?

mongodb设计的主要目的是为了处理大规模数据(大数据处理),例如内容管理系统,移动应用,游戏,电商等。请不要用mongodb来管理那些需要sql,表连接和多对象事务处理的操作。

 

4、mongodb支持事务吗?

不支持ACID事务,但是mongodb支持一些基本的事务,比如文档的原子操作。那就是说,我们可以将一个document的两个属性同时进行更新,这个操作要不都完成,要不都不完成,前提是这两个属性都是一个文档。另外,mongodb还能保证修改能够持久化(即ACID中的D),为了使用mongodb的这个特性,必须开启journaling,这个特性仅在64的版本默认是开启的,You must also issue writes with a write concern of {j: true} to ensure that the writes block until the journal has synced to disk.

 

5、运行mongodb需要很大的内存吗?

不是必须的,mongodb可以运行在内存很小的机器上。Mongodb将使用系统的所有的可用内存作为他的缓存,系统资源管理器显示mongodb占满了系统的所有内存,但mongodb会动态的改变这种情况,如果另外一个程序向操作系统申请内存,则mongodb会给另外的进程腾出内存供别的进程使用。

 

6、如何配置mongodb的缓存?

不需要配置,mongodb将使用尽可能多的内存作为缓存,这个跟OS缓存文件的方法是一样的。

 

7、Mongodb的写操作是立即写入磁盘还是延迟写入?

写操作将在100毫秒之内写入物理磁盘的日志文件,At that point, the write is “durable” in the sensethat after a pull-plug-from-wall event, the data will still be recoverable after a hard restart。因为日志文件几乎是立即被持久化,因此真正写入数据文件方式是延迟写入。mongodb真正的写入数据文件甚至会延迟1分钟。但这并不会影响到数据的持久性,因为日志文件已经记录了足够的信息使mongodb即便崩溃,也能把数据恢复。

 

8、Mongodb是否有独立的缓存来应付应用级别的缓存?

木有。

 

9、Mongodb是否有使用缓存?

是的,mongodb会把最近使用的数据都放在内存里面,如果你为某些数据创建了索引,并且这些索引数据在内存里面,则mongodb将直接从内存进行对索引进行查询。Mongodb不使用查询缓存,mongodb总是直接从索引或者数据文件中查询数据。

 

10、Mongodb是用什么语言写的?

c++。客户端驱动则可能是java,php等。

 

11、32位版mongodb有什么限制?

mongodb使用内存映射文件,当使用32位mongodb时,这种文件的大小被限制在2G,包括数据文件和索引文件。因为mongodb被用来处理大数据量,所以千万不要在生产环境部署32版mongodb。而64位版本却不存在这样的问题。

 

 

 

 

对这类话题感兴趣?欢迎发送邮件至 donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问  我的空间

Mongodb FAQ fundamentals(基础篇)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1.MongoDB 特点 面向集合存储,存储对象类型的数据方便 模式自由,不需要定义任何模式(schma) 动
Android应用程序是用java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文
看的是爱酷学习网的视频:http://www.icoolxue.com/album/show/98 01 安装 1、先建mongoDB-data文件
Application Fundamentals——应用程序基础知识 Key classes——关键类 Activity Service Broadcast
Android应用程序是用java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件
亦可参见: http://gnucto.blog.51cto.com/3391516/833532 1、下载MongoDB数据库http://fastdl.mongo
亦可参见: http://gnucto.blog.51cto.com/3391516/833532 1、下载MongoDB数据库http://fastdl.mongo
8 FAQ
1. try just "make clobber". In linux, the "Waiting for unfinished jobs" error usually happens
insert MongoDB中的数据是存在collection中的,类似表。collection中一条数据就是一个document。而c
一、什么是NOSQL NoSQL概念。 随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,它
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号