Mongodb FAQ fundamentals(基础篇)
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位版本却不存在这样的问题。
Mongodb FAQ fundamentals(基础篇)的更多相关文章
- 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...
- Mongodb FAQ 存储(storage)篇
1.什么是内存映射文件(memory mapped files)? 内存映射文件是操作系统通过调用函数mmap()创建的一个放在内存中的一个数据文件.这种文件可以当做一个从零开始的内存或者数组,你可以 ...
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- g4e基础篇#3 Git安装与配置
g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...
- g4e基础篇#4 了解Git存储库(Repo)
章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 了解Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git ...
- 使用 FreeRTOS 时注意事项总结(基础篇教程完结)
以下转载自安富莱电子: http://forum.armfly.com/forum.php FreeRTOS 的初始化流程推荐的初始化流程如下,本教程配套的所有例子都是采用的这种形式,当然,不限制必须 ...
- 【MongoDB】NoSQL Manager for MongoDB 教程(进阶篇)
项目做完,有点时间,接着写下第二篇吧.回顾戳这里 基础篇:安装.连接mongodb.使用shell.增删改查.表复制 本文属于进阶篇,为什么叫进阶篇,仅仅是因为这些功能属于DB范畴,一般使用的不多, ...
- nodejs 基础篇整合
nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了.如果你正好喜欢前端,想走的更高,走的更远.no ...
随机推荐
- Android开发的初学者快速创建一个项目
因为gwf的原因,大陆连不上google所以AndroidSDK是无法更新的 而且设置代理也不一定能解决问题 如果是初学者想快速的了解安卓开发,可以在国内的内网下载整合包 下载地址:http://rj ...
- NekoHTML and Dom4j
http://pro.ctlok.com/2010/07/java-read-html-dom4j-nekohtml.html package com.ctlok.pro; import java.i ...
- 转:解决OM的Price List输入找不到对应库存的ITEMS的问题
一,保证Item Validation Organization参数的值一致 Item Validation Organization参数的值是填库存组织,通过这个值,可以分隔OM所能使用的库存Ite ...
- 比较两个序列字典序(lexicographicallySmaller)
bool lexicographicalSmaller(vector<int> a, vector<int> b) { int n = a.size(); int m = b. ...
- CENTOS install summary
1 centos6.5 before version : first :ultraISO write into u disk,second: copy source iso file into u d ...
- Ajax学习笔记(1)
Ajax全称为Asynchronous Javascript and XML.一般用于页面数据交互响应,最大的好处是响应时无需刷新页面. Ajax的优点: 1.不需要插件的支持.用户只需允许javas ...
- 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章
第十三章 Web浏览器中的javascript ① eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42; ③每个window对象 ...
- Visual studio 扩展工具
- 经历:easyui的layout自适应高度布局
在使用easyui的layout布局的时候,在某种情况下,我们会在后续的逻辑中修改一下layout的某个region的高度,那么该怎么做呢? 我就遇到了这样的情况,今天需求经理提出了一个需求:认证用 ...
- ###《Machine Learning in Action》 - KNN
初学Python:理解机器学习. 算法是需要实现的,纸上得来终觉浅. // @author: gr // @date: 2015-01-16 // @email: forgerui@gmail.com ...