失效链接处理 |
mongodb学习手册 PDF 下载
本站整理下载:
提取码:fsmg
相关截图:
主要内容:
一、 Mongodb 简介
1. MongoDB 的名称取自“humongous”(巨大的) 的中间部分,足见
mongodb 的宗旨在处理大量数据上面
2. MongoDB 是一个开源的、面向文档存储的数据库,属于 Nosql 数
据库的一种
3. MongoDB 可运行在 unix、Windows 和 OSX 平台上,支持 32 位和
64 位应用,并且提供了 java、php、c、c++、c#、javaScript 多种语
言的驱动程序
4. 目前正在使用 MongoDB 的网站和企业已经超过 100 多家
二、 MongoDB 特性
MongoDB 是一个可扩展、高性能的下一代数据库,由 C++语言编写,
旨在为 web 应用提供可扩展的高性能数据存储解决方案。它的特点
是高性能、易部署、易使用,存储数据非常方便,主要特性有: 模式自由,支持动态查询、完全索引,可轻易查询文档中内嵌的
对象及数组
面向文档存储,易存储对象类型的数据, 包括文档内嵌对象及数
组 高效的数据存储,支持二进制数据及大型对象(如照片和视频) 支持复制和故障恢复;提供了主-从、主-主模式的数据复制及服务
器之间的数据复制
自动分片以支持云级别的伸缩性,支持水平的数据库集群,可动
态添加额外的服务器
适用场景:
适合作为信息基础设施的持久化缓存层
适合实时的插入,更新与查询,并具备应用程序实时数据存储所
需的复制及高度伸缩性
Mongo 的 BSON 数据格式非常适合文档化格式的存储及查询
适合由数十或数百台服务器组成的数据库。因为 Mongo 已经包含
了对 MapReduce 引擎的内置支持
5
不适用场景:
要求高度事务性的系统
传统的商业智能应用
复杂的跨文档(表)级联查询
三、 MongoDB 的工作方式
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是
非关系数据库当中功能最丰富并且最像关系型数据库。
传统的关系数据库一般由数据库(database)、表(table)、记录(record)
三个层次概念组成,MongoDB 同样也是由数据库(database) 、集
合(collection)、文档对象(document)三个层次组成。 MongoDB 里
的集合对应于关系型数据库里的表,但是集合中没有列、行和关
系的概念,这体现了模式自由的特点。
在 MongoDB 中数据以单文档为单位存储,这样就能在单个数据对
象中表示复杂的关系。文档可以由独立的基本类型属性、内嵌文
档或文档数组组成。
MongoDB 存储的数据格式是 key-value 对的集合,键是字符串,值可
以是数据类型集合里的任意类型,包括数组和文档对象。这种数据
格式称作 BSON,即 “Binary SerializedDocument Notation”,是一
种类似 JSON 的二进制序列化文档 。 MongoDB 是一个免安装的数据库,将它解压后生成一个 bin 目录,
其中包含 11 个工具命令,除此之外不再需要任何其它的二进制依
6
赖文件。
通常情况下启动数据库只需要关注其中的两个命令:mongod 和
mongo。前者是 MongoDB 数据库进程本身,是核心数据库服务器,
后者是命令行 Shell 客户端,其使用方法通常类似于 MySQL 命令行
Shell 客户端,用于确保所有内容都已正常安装且能正常运行,并且
可以对数据进行 CRUD 操作、执行管理任务等等。
MongoDB 使用了内存映射文件进行数据管理,把所有空闲内存当
缓存使用,且不能指定内存大小。这既是优点也是缺点:优点--可
以最大限度提升性能;缺点--容易受其它程序干扰。
数据空间采用预分配,目的是为了避免形成过多的硬盘碎片。它为
每个数据库分配一系列文件,每个数据文件都会被预分配一个大
小,第一个文件名字为“.0 ” ,大小为 64MB,第二个文件“.1” 为128MB ,依此类推,在32位模式运行时支持的最大文件为2GB。
随着数据量的增加,可以在其数据目录里看到这些不断递增的文
件。
MongoDB 没有自动递增或序列特性,当 BSON 对象插入到数据库中
时,如果没有提供“_id”字段 ,数据库会自动生成一个 ObjectId 对
象作为“_id”的值插入到集合中作为该文档的主键(这就避免了其
它数据库意外地选择相同的惟一标识符的情况) ,“_id”的值由 4
字节的时间戳,3 字节的机器号,2 字节的进程 id 以及 3 字节的自增
计数组成。当然字段“_id”的值可以手动生成(任意类型都可),
只要能够保证惟一性。
7
8 每个插入的 BSON 对象大小不能超过 4MB,如果超过 4M 时需使
用 GridFS 来储存数据。
为避免记录删除后的数据的大规模挪动,原记录空间不删除,只
标记“已删除”即可,以后还可以重复利用,所以删除记录不释
放空间。
四、 MongoDB 的下载
|