悉数11种主流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

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或者一个维基百科类软件,使用文档型数据库是最佳的方法。而当数据库中有太多的关系和标准化约束的情况下,则传统的关系型数据库更为合适。

转载于:https://blog.51cto.com/harman/1415333

悉数11种主流NoSQL文档型数据库相关推荐

  1. mongodb单表最大记录数_SpringBoot+Cloud全家桶微服务实战项目之文档型数据库MongoDB四...

    ​一.MongoDB简介以及使用场景 MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种.它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富, ...

  2. spring cloud alibaba微服务原理与实战_SpringBoot+Cloud全家桶微服务实战项目之文档型数据库MongoDB四...

    ​一.MongoDB简介以及使用场景 MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种.它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富, ...

  3. 关系型数据库到文档型数据库的跨越

    1. 简介 在文档型NoSQL数据库出现之前,许多开发者一直绞尽脑汁思考,希望能想出更好的处理关系型数据库技术的方法,如今他们可能要跳出那种思维而另辟蹊径.本文将介绍关系型数据库和分布式文档型数据库的 ...

  4. 文档型数据库设计模式-如何存储树形数据

    在数据库中存储树形结构的数据,这是一个非常普遍的需求,典型的比如论坛系统的版块关系.在传统的关系型数据库中,就已经产生了各种解决方案. 此文以存储树形结构数据为需求,分别描述了利用关系型数据库和文档型 ...

  5. 文档型数据库列一般都是弱项

    文档型数据库一般都是以行为基础得,添加更新删除等操作,因为文档型数据的一般存储结构都是键值对.所以对列的概念很弱,比如有一些文档数据库,是无法对单列操作的,有时候想修改一列的值,只能所有数据全部重新添 ...

  6. 文档型数据库mongodb介绍2-副本集

    一. 副本集介绍 之前的文章介绍了 mongodb主从 mongodb提供了另外一种 基于副本集的集群 该方式 是一主一从的升级版  一主多从, 仍然是主节点负责写入 从节点定时同步主节点数据 使用该 ...

  7. 非关系型数据库 之 文档型数据库 MongoDB 的使用(Python3)

    文章目录 1.MongoDB 简介 1.1.简述 1.2.应用场景 1.3.优点 1.4.缺点 2.CentOS 操作 MongoDB 2.1.安装启动 2.1.1.下载安装 2.1.2.后台启动 2 ...

  8. MongoDB小型文档型数据库使用

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中 ...

  9. 文档型非关系数据库MongoDB经验总结

    文档型非关系数据库MongoDB 数据库基础概念 数据:能够输入到计算机中并被识别处理的信息集合 数据结构:研究一个数据集合中,数据元素关系 数据库:按照数据结构,存储管理数据的仓库.数据仓库是在数据 ...

最新文章

  1. ehcache config xml file
  2. [练习] 用PYTHON来优化网站中的图片
  3. CS193P学习笔记(一)
  4. 计算机考研 电路,模拟电路 请高手来帮忙
  5. 《系统集成项目管理工程师》必背100个知识点-41控制进度
  6. 第十一章 串 (b2)蛮力匹配
  7. Java注释--单行注释、多行注释、文档注释
  8. “multiprocessing\spawn.py”, line 105, in spawn_main错误与解决方法
  9. mysql数据库连接限制,mysql-获取数据库连接表有限制
  10. Python操作SQLAlchemy之连表操作
  11. PHP判断ip地址是否合法
  12. ZOJ-1010 奇偶剪枝
  13. struts2从form取值的三种方式
  14. VS2015中OpenCV编程插件Image Watch安装和使用介绍
  15. 计算机windows试题,计算机基础《Windows》考试试题
  16. linux下搭建redis内网端口映射工具-rinetd
  17. [canvas] 万有引力
  18. 如何解决C盘实际空闲空间远大于可压缩卷空间
  19. 计算机修改用户名密码,怎么修改电脑用户名
  20. dcc-garch matlab,dcc-garch原理简介和模型实现

热门文章

  1. win7上修改MySQL数据库密码
  2. byte[]和InputStream的相互转换
  3. IceSword偏门功能介绍
  4. Redis集群监控及Redis桌面客户端
  5. Golang——string字符串常用函数(Contains、join、Index、Repeat、Replace、Split、Trim、Fields)
  6. java jar包 配置文件_java 导入jar包中配置文件
  7. cad图层管理插件_设计大神CAD常用七个插件你会用几个?
  8. linux内核 默认路由表,Linux 默认路由表 0.0.0.0
  9. tablednd保存 php,JQuery-tableDnD 拖拽的基本使用介绍
  10. node中使用短信验证功能(阿里云为例)