首页 > 大数据 > 正文

悉数11种主流NoSQL文档型数据库

2012-08-03 15:38:22  来源:TechTarget中国

摘要:文档型数据库是NoSQL中非常重要的一个分支,它主要用来存储、索引并管理面向文档的数据或者类似的半结构化数据。
关键词: 数据库 NoSQL

    文档型数据库NoSQL中非常重要的一个分支,它主要用来存储、索引并管理面向文档的数据或者类似的半结构化数据。顾名思义,文档型数据库(面向文档数据库)的关键核心概念即文档(Document),它是数据库中最小的单位。每一种文档型数据库的部署都有所不同,通常来说,它们假定文档以某种标准化格式封装并加密数据,并用多种格式进行解码,包括XML、YAML、JSON和BSON,当然也包括二进制格式如PDF、微软Office文档等。在本文中,来自IBM的高级IT工程师Lijin Joseji向我们介绍了11种主流的文档型数据库


    MongoDB


    MongoDB是目前最为流行的NoSQL数据库,它是一种面向集合,模式无关的文档型数据库。其中数据以“集合”的方式进行分组,每个集合都有单独的名称并可以包含无限数量的文档。这里的集合同关系型数据库中的表(table)类似,唯一的区别就是它并没有任何明确的schema.


    MongoDB以一系列键值对集合的方式存储数据,其中键(Key)是字符串,值(Value)是任何一种数据类型的集合,包括数组和文档。


    主页: http://www.mongodb.org/


    文档: http://www.mongodb.org/display/DOCS/Quickstart


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


    CouchDB


    CouchDB是一个文档型数据库服务器,可以通过JSON格式的REST接口进行访问,使用JavaScript作为查询语言。一个CouchDB文档就是一个对象,由不同字段组成。字段值可以是字符串、数字、日期,甚至可以是有序列表和关联映射。


    主页: http://couchdb.apache.org/


    文档: http://couchdb.apache.org/docs/intro.html


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


    Terrastore


    Terrastore的特点是提供高级的扩展和弹性特征,而无需牺牲一致性。它是一个基于Terracotta实现的高性能分布式文档数据库,后者是业界公认的快速分布式集群技术。


    主页: http://code.google.com/p/terrastore/


    文档: http://code.google.com/p/terrastore/wiki/Documentation


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


    RavenDB


    Raven是一个。NET文档型数据库,它的特点是提供了高性能、schema-less、灵活可扩展的面向。NET和Windows平台的NoSQL数据存储平台。RavenDB在其内部可以存储任何JSON文档,他是一个无模式的数据库,你可以使用C#的Linq语法定义索引。


    主页: http://ravendb.net/


    文档: http://ravendb.net/tutorials


    下载: http://ravendb.net/download[page]
    OrientDB


    OrientDB是用Java编写的开源NoSQL数据库管理系统,虽然是文档型数据库,但是它的关系管理方式却和图形数据库相类似。它支持schema-less、schema-full和schema-mixed多种模式。OrientDB拥有健壮的基于用户角色的安全分析系统,并支持SQL查询。


    主页: http://www.orientechnologies.com/


    文档: http://code.google.com/p/orient/wiki/Tutorials


    下载: http://code.google.com/p/orient/wiki/Download


    ThruDB


    Thrudb是一套建立在Apache Thrift framework下的简单服务,提供索引和文件存储服务的网站建设和推广。其目的是提供Web开发灵活,快速和易于使用的服务,可以加强或取代传统的数据存储和访问层。


    Thrudb支持多个数据存储后端,包括BerkeleyDB、Disk、MySQL,还拥有Memcache和Spread集成。


    主页: http://code.google.com/p/thrudb/


    文档: http://thrudb.googlecode.com/svn/trunk/doc/Thrudb.pdf


    下载: http://code.google.com/p/thrudb/source/checkout


    SisoDB


    SisoDb是一个用C#编写的,专门提供给SQL Server面向文档的db-provider.它可以存储POCO的对象图形,而无需设置任何映射。每个实体都别视为一个聚合根,能够快速生成单独的表。


    主页: http://www.sisodb.com


    文档: http://www.sisodb.com/Wiki


    下载: https://github.com/danielwertheim/SisoDb-Provider/


    RaptorDB


    RaptorDB是一个非常小型的快速嵌入式NoSQL数据库,它使用b+tree或者MurMur哈希索引。最初的设计是用来存储JSON数据,但是目前可以存储任何类型的数据。


    主页: http://www.codeproject.com/KB/database/RaptorDB.aspx


    文档: http://www.codeproject.com/KB/database/RaptorDB.aspx


    下载: http://www.codeproject.com/KB/database/RaptorDB.aspx


    CloudKit


    CloudKit提供了模式无关、自动版本化的REST JSON存储,支持OpenID和OAuth,包括OAuth Discovery.


    主页: http://getcloudkit.com/


    文档: http://getcloudkit.com/api/


    下载: https://github.com/jcrosby/cloudkit


    Perservere


    Persevere是一个开源的工具集,用来应对持久性和分布式计算,它使用了一个标准化的JSON接口。Persevere项目的核心就是Persevere Server,它包含了一个Persevere JavaScript客户端,但是基于标准的接口可以用于任何框架或者客户端。


    主页: http://code.google.com/p/persevere-framework/


    文档: http://code.google.com/p/persevere-framework/w/list


    下载: http://code.google.com/p/persevere-framework/downloads/list


    Jackrabbit


    Apache Jackrabbit是一个JSR-170的开放源码实现,支持结构化与非结构化内容、全文搜索、版本控制、交易以及观测等。


    主页: http://jackrabbit.apache.or


    文档: http://jackrabbit.apache.org/getting-started-with-apache-jackrabbit.html


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


    结论


    文档数据库存储并检索文档数据,用户在选用的时候需要参照自身的需求而定。你需要考虑数据访问的模式和用例,以便创建一个高效实用的文档模型。当你的域模型能够分割并分配到多个文档的时候,文档型数据库将是一个不错的选择。比如一个博客软件、一个CMS或者一个维基百科类软件,使用文档型数据库是最佳的方法。而当数据库中有太多的关系和标准化约束的情况下,则传统的关系型数据库更为合适。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:zhangyexi

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。