MongoDB是一种面向文档的数据库管理系统。用C++等语言撰写而成,以此来解决应用程序开发社区中的大量现实问题。
MongoDB 是一种面向文档的数据库管理系统,用 C++等语言撰写而成,以此来解决应用程序开发社区中的大量现实问题。2007 年 10 月,MongoDB 由 10gen 团队所发展。2009 年 2 月首度推出。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
部署
MongoDB 社区版是免费的并可获得为 Windows、Linux 和 OS X 二进制版本。许多 Linux 包管理系统曾经包含 MongoDB 的包,由于许可证变更,MongoDB 已经从 Debian、Fedora 和 Red Hat Enterprise Linux 发行中移除。
MongoDB 使用内存映射文件, 32 位系统上限制大小为 2GB 的数据,64 位支持更大的数据。MongoDB 的核心构件只能在小端序系统上运行,客户端库可以在小端序和大端序的系统上运行。
语言支持
MongoDB 有官方的驱动如下: C,C++,C# / .NET,Erlang, Haskell,Java,JavaScript,Lisp,fibjs,node.JS, Perl,PHP,Python,Ruby,Scala,Go。
当前还有许多非官方式的驱动,ColdFusion,Delphi,Erlang,Factor,Fantom,Go,JVM languages (Clojure, Groovy, Scala, etc.),Lua,HTTP REST,Racket,和 Smalltalk。
复制
MongoDB 的开发人员可以保证一个操作已被复制到至少 N 个服务器上每个运行的基础.
主从式
由于操作都是在主机,从机将复制任何更改的数据。
副本集
副本集类似于主从式架构,但他们结合的能力为副机,如果当前一直迟缓时,选出新的主机。