MongoDB介绍──开发者专区(1)
来源:互联网 发布:淘宝抢红包入口 编辑:程序博客网 时间:2024/04/19 08:32
二.开发者专区
2.1 MongoDB简介
MongoDB是一种面向集合的,模式自由的文档数据库。
面向集合是说数据被分成集合的形式,每个集合在数据库中有惟一的名称,集合可以包含不限数目的文档。除了模式不是预先定义好的,集合与RDBMS中的表概念类似。数据库和集合的创建是“lazy”的,即只有在第一个document被插入时集合和数据库才真正创建──这时在磁盘的文件系统里才能看见。
模式自由是说数据库不需要知道存放在集合中的文档的结构,完全可以在同一个集合中存放不同结构的文档。
文档类似于RDBMS中的记录,以BSON的格式保存。BSON是Binary JSON的简称,是对JSON-like文档的二进制编码序列化。像JSON(JavaScript Object Notation)一样,BSON支持在对象和数组内嵌入其它的对象和数组。有些数据类型在JSON里不能表示,但可以在BSON里表示,如Date类型和BinData(二进制数据),Python原生的类型都可以表示。和Protocal Buffers[1]相比,BSON模式更自由,所以更灵活,但这样也使得每个文档都要保存字段名,所以空间压缩上不如Protocol Buffers。
BSON第一眼看上去像BLOB,但MongoDB理解BSON的内部机制,所以MongoDB可以深入BSON对象的内部,即使是嵌套的对象,这样MongoDB就可以在顶层和嵌套的BSON对象上建立索引来应对各种查询了。
MongoDB可运行在Linux、Windows和OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB为了提高性能使用了内存映射文件进行数据管理,而在32位模式运行时支持的最大文件为2GB。
MongoDB查询速度比MySQL快多了,因为它cache了尽可能多的数据到RAM中,即使是non-cached数据也非常快。当前MongoDB官方支持的客户端API语言就多达8种(C|C++|Java|Javascript|Perl|PHP|Python|Ruby),社区开发的客户端API还有Erlang、Go、Haskell......。
[1]Protocal Buffers是由Google开发的用以处理对索引服务器请求/应答的协议。
- MongoDB介绍──开发者专区(1)
- MongoDB介绍──开发者专区(2)
- MongoDB介绍──开发者专区(3)
- MongoDB介绍──开发者专区(4)
- MongoDB介绍──开发者专区(5)
- MongoDB介绍──管理者专区(1)
- MongoDB介绍──管理者专区(2)
- MongoDB介绍──管理者专区(3)
- MongoDB介绍──管理者专区(4)
- MongoDB介绍──前言
- MongoDB介绍──综述
- mongoDB学习(1)介绍
- MongoDB实战(MongoDB开发者现身说法)
- MongoDB介绍及安装(1)
- MongoDB-1 介绍和安装
- Mongodb深入浅出系列(1): 介绍
- mongodb介绍
- MongoDB介绍
- java提取rar压缩文档
- RMS记录管理系统,J2ME
- 写文件
- [Flex 2] 00 Introduction
- Linux系统下eclipse的安装
- MongoDB介绍──开发者专区(1)
- 激励一下
- Struts2下使用jsonplugin及jquery完成ajax功能 (简单应用)
- C#导出Excel几个例子
- 绑定 window.onload
- 如何判断Qt 4项目文件夹中已经存在某个项目
- 谁知道CSDN有没有手机版呀
- 关于教程发布的通知
- SQL 按组别过滤指定条件的首行记录