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进行通讯.再次强调一下,我使用 ...
随机推荐
- Paint House 解答
Question There are a row of n houses, each house can be painted with one of the three colors: red, b ...
- soj 1698 Hungry Cow_三角函数
题目链接 题意:有只牛要吃草,现在有个墙挡着,给你绑着牛的绳的长度,墙的长度,绳原点到墙的距离,问牛能在多大的面积里吃草 思路:分为四种情况,详情请看书.被dp卡着这题没做成 #include < ...
- [Linux] killall 、kill 、pkill 命令详解
killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀 ...
- 前Google人谈团队管理:针对不同员工的情境管理法和如何选择合理的团队规模
本文作者Tomasz Tunguz是Redpoint Ventures的风险投资人,曾在Google担任产品经理并参与过AdSense项目. 我有一个朋友,他创立了一家很成功的公司,而且还在迅速发展. ...
- 黑马程序猿 IO流 ByteArrayInputStream与ByteArrayOutputStream
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- package cn.itcast.IO; i ...
- Working with Numbers in PL/SQL(在PL/SQL中使用数字)
This article gives you all the information you need in order to begin working with numbers in your P ...
- Query获取值常用
Query获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...}); //为Sel ...
- 修改sqlserver2008中表的schema
schema类似命名空间,相同schema中不能有同样的表名,不用schema下可以有相同的表名 修改schema的方法: 在数据库的 安全性->架构 中添加一个新的架构 找到要修改的表,右击设 ...
- OutputCache各参数的说明
OutputCache各参数的说明 Duration 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location Location当被设置为 ...
- UNION 和UNION ALL
UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列 ...