• 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默认的存储引擎是内存映射引擎。
  • 当服务器启动时,将所有数据文件映射到内存。        然后由操作系统负责将缓冲数据写入磁盘,并将数据调入调出内存页面。   这样的引擎有若干特征:
    1. mongodb 服务器进程的虚拟大小通常会很大。超过了整个数据集的大小。这没有关系,因为操作系统会处理让哪些数据常驻内存。
    2. mongodb不能控制写入到磁盘的顺序。
    3. 32位的mongodb服务器有个限制,每个mongod 最多只能处理2GB数据。因为所有数据必须能用32位地址空间访问到。
    4. mongodb管理内存的代码非常精炼。因为大部分工作给了操作系统。

MongoDB appendix的更多相关文章

  1. 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 ...

  2. Appendix A. Common application properties

    Appendix A. Common application properties Prev  Part X. Appendices  Next URl链接:https://docs.spring.i ...

  3. 【翻译】MongoDB指南/聚合——聚合管道

    [原文地址]https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果.聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果.Mo ...

  4. 【翻译】MongoDB指南/CRUD操作(四)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...

  5. 【翻译】MongoDB指南/CRUD操作(三)

    [原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...

  6. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  7. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  8. CRL快速开发框架系列教程十二(MongoDB支持)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. MongoDB系列(二):C#应用

    前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...

随机推荐

  1. linux之chdir函数解析

    [lingyun@localhost chdir]$ ls chdir.c [lingyun@localhost chdir]$ cat chdir.c  /********************* ...

  2. hdu 3711 Binary Number(暴力 模拟)

    Problem Description For non-negative integers x and y, f(x, y) , )=,f(, )=, f(, )=. Now given sets o ...

  3. hdu 1885 Key Task(bfs+状态压缩)

    Problem Description The Czech Technical University years of its existence . Some of the university b ...

  4. C#分层开发MySchool

    分层开发之MYSCHOOL No.1实现登陆功能,验证用户名和密码.从数据库里进行匹配,看是否有符合要求的数据. 在DAL层编写代码,返回值为布尔类型.方法参数为(student实体类对象),使用参数 ...

  5. xib和Storyboard 创建Cell的方式

    xib 方式 .在Cell.h文件中加一个宏 #define cellIdentifier @"customCell" . ViewController中: - (void)vie ...

  6. C#~使用FileSystemWatcher来监视文件系统的变化

    对于一个文件夹的改变,C#这边有自己的类来实现,我们不需要关心它的内部实现机制,不需要关心它底层调用哪些API,我们只需要关心如何去调用它,如何让它帮助我们记录文件夹的修改情况即可. #region ...

  7. HDU 4287 (13.08.17)

    Problem Description We all use cell phone today. And we must be familiar with the intelligent Englis ...

  8. Vijos1051. 送给圣诞夜的极光

    试题请參见: https://vijos.org/p/1051 题目概述 圣诞老人回到了北极圣诞区, 已经快到12点了. 也就是说极光表演要開始了. 这里的极光不是极地特有的自然极光景象. 而是圣诞老 ...

  9. Android应用程序注冊广播接收器(registerReceiver)的过程分析

    前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/公布机制,因此,使用这样的消息驱动模型的第一步便是订阅消息:而对Android应用程序来说,订阅消息事实上就是注冊广播接收器, ...

  10. Git 笔记一 Git简介

    git 笔记一 什么是版本控制 所谓版本控制就是记录对文件的修改记录,这样以后就能回退到需要的 版本.比如你对一段代码进行了几次修改,有几次修改不想要了,如果 使用了版本控制,就可以回退到未做这些修改 ...