MongoDB appendix
- mongo 是数据库shell。一般假定它和mongod 运行在同一台机器上,还假定mongod 绑定了默认端口。 eg. mongo staging.example.com:20000,这样就会连接运行在staging.example.com上端口为20000的mongod。 eg. mongo localhost:27017/admin, 连接本地默认端口的mongod,使用admin数据库(默认使用test数据库)。 eg. mongo --nodb, 启动shell而不连接数据库。
- 从shell可以连接任意多个数据库。eg. mongos = connect("localhost:27017") ,connecting to :localhost:27017 ; shard0 = connect("localhost:30000") , connecting to: localhost:30000; shard1 = connect("localhost:30001"), connecting to: localhost: 30001; 随后,mongos、shard0、shard1可以作为db变量使用。
- mongod 核心的数据库服务器。可以作为单个服务器,主从节点、副本集的成员,还可以做片。通常就是所需要的mongoDB进程。
- BSON:mongoDB的文档是个抽象概念。其具体的呈现形式取决于所用的驱动和编程语言。 因为mongoDB中的通信大量依赖于文档,所以需要一种所有驱动、工具、进程都能共享的文档表达方式。这种表达方式叫BSON(Binary JSON)。
- BSON 是一种轻量的二进制格式。能将mongodb的所有文档表示为字节字符串。数据库能理解BSON。存在磁盘上的文档也是这种格式。
- 当驱动要插入文档,或是将文档作为查询条件,驱动会将文档转换为BSON,然后发往服务器。
- 同样,返回客户端的文档也是BSON格式的字符串。驱动需要将这些数据解码,变成本机的文档表示。最后返回给客户端。
- BSON效率高(更有效的表示数据、占用空间少)、可遍历性(字符串前面加入字符串长度)强、性能好(编码和解码速度快)。
- mongodb 的数据目录中,每个数据库都有几个独立的文件。一个.ns文件和若干个数据文件,数据文件以递增的数字结尾。每个新的以数字结尾的数据文件大小会加倍。
- 在数据文件内部,每个数据库都是按命名空间组织的。一种类别的数据和其它类别的分开存放。 每个集合的文档都有自己的命名空间。索引也是。命名空间的元数据存放在数据库的.ns 文件中。
- 存储引擎:mongodb默认的存储引擎是内存映射引擎。
- 当服务器启动时,将所有数据文件映射到内存。 然后由操作系统负责将缓冲数据写入磁盘,并将数据调入调出内存页面。 这样的引擎有若干特征:
- mongodb 服务器进程的虚拟大小通常会很大。超过了整个数据集的大小。这没有关系,因为操作系统会处理让哪些数据常驻内存。
- mongodb不能控制写入到磁盘的顺序。
- 32位的mongodb服务器有个限制,每个mongod 最多只能处理2GB数据。因为所有数据必须能用32位地址空间访问到。
- mongodb管理内存的代码非常精炼。因为大部分工作给了操作系统。
MongoDB appendix的更多相关文章
- MongoDB:The Definitive Guide CHAPTER 2 Getting Started
MongoDB is very powerful, but it is still easy to get started with. In this chapter we’ll introduce ...
- Appendix A. Common application properties
Appendix A. Common application properties Prev Part X. Appendices Next URl链接:https://docs.spring.i ...
- 【翻译】MongoDB指南/聚合——聚合管道
[原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
随机推荐
- Shortest Word Distance 解答
Question Given a list of words and two words word1 and word2, return the shortest distance between t ...
- 《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法
由于Java不支持多重继承,即一个类只能有一个父类,为了克服单继承的缺点,Java语言引入了接口这一概念.接口是抽象方法定义的集合(接口中也可以定义一些常量值),是一种特殊的抽象类.接口中只包含方法的 ...
- Apache、Tomcat、JBoss、WebLogic的区别与关系
Weblogic: 是一个企业级的应用服务器,其中包括j2ee中的各类应用如jsp,servlet,ejb等 Tomcat: 是一个初级的应用服务器,支持sp和servlet,不支持EJB,如需E ...
- ssh公私钥登录方式设置
在Linux中ssh登录远程主机的时候能够进行公私钥的认证方式. ①环境说明:两台Linux主机,host1:192.168.5.1,host2:192.168.5.10. 如今在host1上面设置然 ...
- Memcached完全解剖–1. memcached基金会
翻译一篇技术评论社的文章,是讲memcached的连载.fcicq同学说这个东西非常实用,希望大家喜欢. 发表日:2008/7/2 作者:长野雅广(Masahiro Nagano) 原文链接:ht ...
- C. Robot(BFS)
C. Robot Time Limit: 3000ms Case Time Limit: 3000ms Memory Limit: 262144KB 64-bit integer IO format: ...
- Eclipse安装Vim——viPlugin插件
1.下载viPlugin: http://www.viplugin.com/files/viPlugin_2.14.0.zip 2.安装 解压后有两个文件夹: features 和 plugins 把 ...
- Android 多线程断点下载(非原创)
1.服务器的CPU分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服务器资源,这里在客户端开启多个线程来从服务器下载资源 2.fragment_ma ...
- js 时间YYYY-MM-DD转换为YYYY/MM/DD 自定义函数格式
<script type="text/javascript"> window.onload = function () { va ...
- PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法
1 PowerDesigner中在生成的数据库脚本中用name列替换comment列作为字段描述的方法如下, 依次打开Tools -- Execute Commands -- Run Script,运 ...