盘点11个面向文档的开源NoSQL数据库

MongoDB是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构很是松散,是相似json的bjson格式,所以能够存储比较复杂的数据类型。 Mongo最大的特色是他支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,几乎能够实现相似关系数据库单表查询的绝大部分功能,并且还支持 对数据创建索引。html

  它的特色是高性能、易部署、易使用,存储数据很是方便。主要功能特性有:mongodb

  1.面向集合存储,易存储对象类型的数据。数据库

  2.模式自由。apache

  3.支持动态查询。编程

  4.支持彻底索引,包含内部对象。json

  5.支持查询。服务器

  6.支持复制和故障恢复。网络

  7.使用高效的二进制数据存储,包括大型对象(如视频等)。数据结构

  8.自动处理碎片,以支持云计算层次的扩展性。架构

  9.支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

  10.文件存储格式为BSON(一种JSON的扩展)。

  11.可经过网络访问。

        所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每一个 集合在数据库中都有一个惟一的标识名,而且能够包含无限数目的文档。集合的概念相似关系型数据库(RDBMS)里的表(table),不一样的是它不须要定 义任何模式(schema)。

  模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,咱们不须要知道它的任何结构定义。若是须要的话,你彻底能够把不一样结构的文件存储在同一个数据库里。

  存储在集合中的文档,被存储为键-值对的形式。键用于惟一标识一个文档,为字符串类型,而值则能够是各中复杂的文件类型。咱们称这种存储形式为BSON(Binary Serialized dOcument Format)。

  MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,由于MongoDB

  在32位模式运行时支持的最大文件尺寸为2GB。

  MongoDB把数据存储在文件中(默认路径为:/data/db),为提升效率使用内存映射文件进行管理。

  项目地址: http://www.mongodb.org/

  入门指南: http://www.mongodb.org/display/DOCS/Quickstart

  下载: http://www.mongodb.org/downloads

  Apache CouchDB

        Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 做为数据格式的 REST 接口来对其进行操做,并能够经过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。

  CouchDB落实到最底层的数据结构就是两类B+Tree 。

  简介:11个面向文档的开源NoSQL数据库

  与如今流行的关系数据库服务器不一样,CouchDB 是围绕一系列语义上自包含的文档而组织的。 CouchDB 中的文档是没有模式的(schema free),也就是说并不要求文档具备某种特定的结构。 CouchDB 的这种特性使得相对于传统的关系数据库而言,有本身的适用范围。通常来讲,围绕文档来构建的应用都比较适合使用 CouchDB 做为其后台存储。 CouchDB 强调其中所存储的文档,在语义上是自包含的。这种面向文档的设计思路,更贴近不少应用的问题域的真实状况。对于这类应用,使用 CouchDB 的文档来进行建模,会更加天然和简单。与此同时,CouchDB 也提供基于 MapReduce 编程模型的视图来对文档进行查询,能够提供相似于关系数据库中 SQL 语句的能力。 CouchDB 对于不少应用来讲,提供了关系数据库以外的更好的选择。

  项目地址: http://couchdb.apache.org/

  入门指南: http://couchdb.apache.org/docs/intro.html

  下载: http://couchdb.apache.org/downloads.html

  Terrastore

        Terrastore是一个基于Terracotta(一 个业界公认的、快速的分布式集群组件)实现的高性能分布式文档数据库。能够动态从运行中的集群添 加/删除节点,并且不须要停机和修改任何配置。支持经过http协议访问Terrastore。Terrastore提供了一个基于集合的键/值接口来管 理JSON文档而且不须要预先定义JSON文档的架构。易于操做,安装一个完整可以运行的集群只需几行命令。

  项目地址: http://code.google.com/p/terrastore/

  入门指南: http://code.google.com/p/terrastore/wiki/Documentation

  下载: http://code.google.com/p/terrastore/downloads/list

  RavenDB

        RavenDB 是个新的.NET,支持Linq的开源文档数据库,旨在Window平台下提供一个高性,结构简单,灵活,可扩展NoSQL存储。Raven将JSON文档存在数据库中。可使用C#的Linq语法查询数据。下面是一个简单的例子

  简介:11个面向文档的开源NoSQL数据库

        项目地址: http://ravendb.net/

  入门指南: http://ravendb.net/tutorials

  下载: http://ravendb.net/download  

相关文章
相关标签/搜索