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进行通讯.再次强调一下,我使用 ...
随机推荐
- 在O(1)时间内删除单链表结点
// 在O(1)时间内删除单链表结点 /* 思考: 很显然链表是一个节点地址不连续的存储结构 删除节点一般很容易会想到是修改p节点的前一个节点的next为p->next 然而除非是双向链表,否则 ...
- php随机函数
<?php function generate_password( $length = 6 ) { // 密码字符集,可任意添加你需要的字符 // $chars = 'abcdefghijklm ...
- Redis + Jedis + Spring (list操作)
为了简便操作,我使用了StringRedisTemplate.用字符串操作做展示.当然,你可以继续使用RedisTemplate. 闲言少叙,上代码,一目了然: /** * Mar 5, 2013 * ...
- (3)选择元素——(6)属性选择器(Attribute selectors)
Attribute selectors are a particularly helpful subset of CSS selectors. They allow us to specify an ...
- 某APK中使用了动态注册BroadcastReceiver,Launcher中动态加载此APK出现java.lang.SecurityException异常的解决方法
在某APK中,通过如下方法动态注册了一个BroadcastReceiver,代码参考如下: @Override protected void onAttachedToWindow() { super. ...
- oracle查询优化
1. 排序合理查询条件 Oracle自下而上分析顺序WHERE收条,从优化性能的角度.它建议,这些条件将能够过滤掉大量行书写的WHERE在条款结束, 之间的连接条件置于其它WHERE子句之前,即对易排 ...
- Python模块学习笔记— —time与datatime
Python提供了多个内置模块用于操作日期时间.像calendar,time,datetime.首先对time模块中最经常使用的几个函数作一个介绍,它提供的接口与C标准库time.h基本一致.然后再介 ...
- java中的二进制
(1)按位与运算 & 1 & 1 = 1, 0 & 1 = 0 51 & 5 即 0011 0011 & 0000 0101 =0000 0001 = 1 ...
- Oracle 中的Pivoting Insert用法
1.标准Insert --单表单行插入 语法: INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...) ...
- WEB服务器1--开篇
WEB服务器 web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下载.目前最主流的三 ...