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_sharePreference
/** * Android的四中数据存储方式: * 1.SharePreferences * 2.SQLite * 3.Content Provider * 4.File * * SharePrefe ...
- 键盘工具栏的快速集成--HcCustomKeyboard
源项目地址:HcCustomKeyboard HcCustomKeyboard是一个键盘工具栏控件: 效果: HcCustomKeyboard使用很方便: 三部: 添加控件->操作处理-> ...
- js解析XML
//在当前页面内追加换行标签和指定的HTML内容function w( html ){ $(document.body).append("<br/>" + htm ...
- 【转】傅盛:怎样做一个创业公司CEO?
摘要 : 傅盛High聊会,泉灵姐姐给的命题作文.怎样做一个创业公司CEO,核心还是思维模式. 这次傅盛High聊会,泉灵姐姐给我的命题作文.创业要如何开始,本质还是思维模式.首先学会把一个开放式问题 ...
- hadoop的mapreduce过程
http://www.cnblogs.com/sharpxiajun/p/3151395.html 下面我从逻辑实体的角度讲解mapreduce运行机制,这些按照时间顺序包括:输入分片(input s ...
- 【Oracle&SQLServer】并集、交际、补集
1.并集(UNION/UNION ALL) Oracle&SQLServer中用法一致 UNION 去重 UNION ALL 不去重 -- 去重 select * from tablea un ...
- 免费的在线Web文件管理器:Net2FTP,Pydio,eXtplorer,KodExplorer–功能强大
https://www.freehao123.com/web-ftp/ 经常有朋友在使用一些没有带文件管理器的空间时,苦于没有办法来解压上传的文件压缩包,而如果不先上传压缩包,直接上传文件夹的话耗费的 ...
- CocoaLumberjack+XcodeColor(输出带有颜色的日志)在安装过程中遇到的问题
在安装的时候遇到了各种坑,(在这里用到的pch文件的使用以及解决无法引入的问题,可以参考上午的文章) 一(XcodeColor的安装).在github上下载XcodeClolor的插件,并且安装,Xc ...
- C#常量字段
const 常量字段使用方法 using System;using System.Collections.Generic;using System.Linq;using System.Text;usi ...
- 对比MySQL,什么场景MongoDB更适用
原文链接: http://page.factj.com/blog/p/4078 MongoDB已经流行了很长一段时间,相对于MySQL,究竟什么场景更需要用MongoDB?下面是一些总结. 更高的写入 ...