`

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

 
阅读更多

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

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

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持查询。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性
  • 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)
  • 可通过网络访问

所谓“面向集合”(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

2.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

3.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

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

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

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

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

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

5.OrientDB是兼具文挡数据库的灵活性和图形数据库管理链接能力的可深层次扩展的文档-图形数据库管理系统。可选无模式、全模式或混合模式下。支持许多高级特性,诸如ACID事务、快速索引,原生和SQL查询功能。可以JSON格式导入、导出文档。若不执行昂贵的JOIN操作的话,如同关系数据库可在几毫秒内可检索数以百记的链接文档图。

项目地址:http://www.orientechnologies.com/

入门指南:http://code.google.com/p/orient/wiki/Tutorials

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

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

主要特征:

  • Client libraries for most languages
  • Incremental backups and redo logging
  • Multiple storage backends (BerkeleyDB, Disk, MySQL, S3 included)
  • Memcache and Spread integration.
  • Built for horizontal scalability
  • Simple and powerful search service

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

入门指南:http://thrudb.googlecode.com/svn/trunk/doc/Thrudb.pdf

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

7.SisoDb是一个为SQL Server编写的面向文档的db-provider,使用C#编写,可让你直接在数据库中存储对象。

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

 项目地址:http://www.sisodb.com

入门指南:http://www.sisodb.com/Wiki

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

8.RaptorDB是一个很小的、快速的嵌入式NoSQL存储模块,使用B+树或者MurMur哈希索引。支持数据持久化到磁盘中存储。

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

项目地址:http://www.codeproject.com/KB/database/RaptorDB.aspx

入门指南:http://www.codeproject.com/KB/database/RaptorDB.aspx

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

9.CloudKit提供了一个结构灵活,自动版本化,RESTful JSON存储,可选支持OpenID和OAuth,包括OAuth Discovery。

项目地址:http://getcloudkit.com/

入门指南:http://getcloudkit.com/api/

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

10.Perservere是一个开源的工具集用于持久化和分布式计算,使用一个直观基于标准的HTTP REST, JSON-RPC, JSONPath, and REST Channels的JSON接口。The Persevere server includes a Persevere JavaScript client, but the standards-based interface is intended to be used with any framework or client.

项目地址: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

11.Apache Jackrabbit是由Apache Foundation提供的JSR-170的开放源码实现..

随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化API的需求已凸现出来。Content Repository for Java Technology API (JSR-170)的目标就是提供这样一个接口。JSR-170的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170实现的后端数据存储可以是文件系统、WebDAV仓库、支持XML的系统,甚至还可以是SQL数据库。此外,JSR-170的导出和导入功能允许一个集成器在内容后端与JCR实现之间无缝地切换。

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

入门指南:http://jackrabbit.apache.org/getting-started-with-apache-jackrabbit.html

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

英文出自:orangeslate.com

译文出自:Open资讯

分享到:
评论

相关推荐

    MongoDB是一个流行的面向文档的NoSQL数据库管理系统.docx

    MongoDB是一个流行的面向文档的NoSQL数据库管理系统,以下是对其的详细介绍: 一、基本概念与特点 面向文档的数据模型: MongoDB使用类似JSON的BSON(Binary JSON)格式来存储数据,这种文档格式具有灵活性,可以...

    最新统计排名前十的SQL和NoSQL数据库排行榜

    2. **PostgreSQL**:这是一个开源的、高度可扩展的SQL数据库,支持Tablespaces、Stored Procedures等特性,可在Linux、Windows等多个操作系统上运行。 3. **DB2**:IBM的数据库产品,既支持SQL也支持NoSQL,适应...

    NoSQL数据库技术实战

    本书既对NoSQL系统的理论进行了深入浅出的分析,又介绍了每一种NoSQL数据库在业界广泛应用的一个具体系统,理论与实战并重。 本书共分5篇,12章。涵盖的内容有:NoSQL与大数据简介、NoSQL的数据一致性、NoSQL的水平...

    NoSQL数据库MongoDB基础学习

    MongoDB 是一个开源的、面向文档的数据库,属于 NoSQL 数据库中的一种。 2. 数据逻辑结构:MongoDB 的数据逻辑结构是面向集合的,易存储对象类型及 JSON 形式的数据。 3. 存储结构:MongoDB 的存储结构是基于分布式...

    NoSQL数据库-MongoDB和Redis

    Redis是一个开源的、基于内存的键值存储系统,支持多种数据结构,如字符串、列表、集合和有序集合等。Redis的特点包括: - **高性能**:使用单线程模型处理请求,具有非常高的吞吐量。 - **持久化**:支持两种持久化...

    nosql数据库的应用探讨

    MongoDB是一个面向文档的NoSQL数据库,它使用BSON(Binary JSON)格式存储数据。MongoDB支持动态模式,可以灵活地处理不同类型的数据,并提供了强大的查询语言,支持复杂的查询操作。此外,MongoDB还具有自动分片、...

    NoSQL数据库笔谈

    NoSQL数据库笔谈是一份详细介绍NoSQL数据库技术的文档,它不仅提供了一个理论框架,还对NoSQL数据库的实操技术进行了详尽的阐述。文档主要分为四个部分:思想篇、手段篇、软件篇和应用篇,每部分都涵盖了NoSQL数据库...

    NoSQL数据库-MongoDB和Redis归类.pdf

    MongoDB是一款开源、分布式、面向文档的NoSQL数据库系统,由10gen公司(现MongoDB Inc.)开发。MongoDB的核心特性在于其灵活的数据模型,它支持JSON-like文档格式,允许动态schema,这使得数据存储更加灵活且易于...

    基于文档的NoSQL存储技术CouchDB.pdf

    CouchDB是一个用Erlang开发的开源的面向文档的数据库管理系统,它的数据存储方式有点类似lucene的index文件格式。CouchDB最大的意义在于它是一个面向web应用的新一代存储系统。 CouchDB的特点包括: 1. CouchDB是...

    NoSQL数据库详细介绍入门经典

    - **CouchDB**:一款面向文档的NoSQL数据库。 - **MongoDB**:流行的开源文档数据库。 - **Riak**:一个高度可用且分布式的数据存储解决方案。 - **Terrastore**:基于HBase的分布式键值存储系统。 - **ThruDB*...

    nosql 非关系数据库综述

    在大多数企业级应用中,数据完整性仍然是一个重要的考虑因素,因此NoSQL数据库在这些领域的应用还面临着一些挑战。 - **成本效益**:NoSQL数据库通常采用开源的形式,这意味着它们可以获得广泛的社区支持和技术改进...

    couchbase-lite-android,轻量级,嵌入式,可同步的nosql数据库引擎为android。.zip

    Couchbase Lite Android 是一个专为Android平台设计的轻量级、嵌入式的NoSQL数据库引擎,它允许开发者在应用程序中本地存储数据,同时支持数据同步功能。这款数据库引擎基于Couchbase Server,是Couchbase公司为移动...

    基于文档的NoSQL存储技术CouchDB.docx

    CouchDB是一个用Erlang开发的开源的面向文档的数据库管理系统,CouchDB不是一个传统的关系数据库,而是面向文档的数据库,其数据存储方式有点类似lucene的index文件格式,CouchDB最大的意义在于它是一个面向web应用...

    开源数据库

    - **MongoDB**:面向文档的NoSQL数据库。 - **Greenplum**:基于MPP架构的大规模并行处理数据仓库。 #### 三、监控与日志管理 - **Nagios** 和 **Zabbix** 作为监控工具,能够帮助管理员实时监控系统的健康状态...

    Getting.Started.With.NoSQL

    - **MongoDB**:一种面向文档的NoSQL数据库,广泛用于Web应用。 - **Cassandra**:一种分布式NoSQL数据库,特别适合处理大量数据。 - **Redis**:一个开源的键值存储系统,支持多种数据结构。 ### NoSQL的特点 ###...

    面向文档存储数据库系统Apache CouchDB入门到精通视频教程

    CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。术语 “Couch” 是 “Cluster Of Unreliable Commodity Hardware” 的首字母缩写,它反映了 ...

Global site tag (gtag.js) - Google Analytics