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(基础篇)的更多相关文章

  1. 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)

    前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...

  2. Mongodb FAQ 存储(storage)篇

    1.什么是内存映射文件(memory mapped files)? 内存映射文件是操作系统通过调用函数mmap()创建的一个放在内存中的一个数据文件.这种文件可以当做一个从零开始的内存或者数组,你可以 ...

  3. 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

    在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...

  4. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  5. g4e基础篇#3 Git安装与配置

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

  6. g4e基础篇#4 了解Git存储库(Repo)

    章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 了解Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git ...

  7. 使用 FreeRTOS 时注意事项总结(基础篇教程完结)

    以下转载自安富莱电子: http://forum.armfly.com/forum.php FreeRTOS 的初始化流程推荐的初始化流程如下,本教程配套的所有例子都是采用的这种形式,当然,不限制必须 ...

  8. 【MongoDB】NoSQL Manager for MongoDB 教程(进阶篇)

    项目做完,有点时间,接着写下第二篇吧.回顾戳这里  基础篇:安装.连接mongodb.使用shell.增删改查.表复制 本文属于进阶篇,为什么叫进阶篇,仅仅是因为这些功能属于DB范畴,一般使用的不多, ...

  9. nodejs 基础篇整合

    nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了.如果你正好喜欢前端,想走的更高,走的更远.no ...

随机推荐

  1. Android开发的初学者快速创建一个项目

    因为gwf的原因,大陆连不上google所以AndroidSDK是无法更新的 而且设置代理也不一定能解决问题 如果是初学者想快速的了解安卓开发,可以在国内的内网下载整合包 下载地址:http://rj ...

  2. NekoHTML and Dom4j

    http://pro.ctlok.com/2010/07/java-read-html-dom4j-nekohtml.html package com.ctlok.pro; import java.i ...

  3. 转:解决OM的Price List输入找不到对应库存的ITEMS的问题

    一,保证Item Validation Organization参数的值一致 Item Validation Organization参数的值是填库存组织,通过这个值,可以分隔OM所能使用的库存Ite ...

  4. 比较两个序列字典序(lexicographicallySmaller)

    bool lexicographicalSmaller(vector<int> a, vector<int> b) { int n = a.size(); int m = b. ...

  5. CENTOS install summary

    1 centos6.5 before version : first :ultraISO write into u disk,second: copy source iso file into u d ...

  6. Ajax学习笔记(1)

    Ajax全称为Asynchronous Javascript and XML.一般用于页面数据交互响应,最大的好处是响应时无需刷新页面. Ajax的优点: 1.不需要插件的支持.用户只需允许javas ...

  7. 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章

    第十三章 Web浏览器中的javascript ①   eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42;   ③每个window对象 ...

  8. Visual studio 扩展工具

  9. 经历:easyui的layout自适应高度布局

    在使用easyui的layout布局的时候,在某种情况下,我们会在后续的逻辑中修改一下layout的某个region的高度,那么该怎么做呢?  我就遇到了这样的情况,今天需求经理提出了一个需求:认证用 ...

  10. ###《Machine Learning in Action》 - KNN

    初学Python:理解机器学习. 算法是需要实现的,纸上得来终觉浅. // @author: gr // @date: 2015-01-16 // @email: forgerui@gmail.com ...