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

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

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

  2.模式自由。

  3.支持动态查询。

  4.支持完全索引,包含内部对象。

  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 。

  

  与现在流行的关系数据库服务器不同,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语法查询数据。下面是一个简单的例子

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

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

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

转载于:https://blog.51cto.com/wws5201985/737776

盘点11个面向文档的开源NoSQL数据库相关推荐

  1. RethinkDB是什么?—— 面向文档的NOSQL数据库,MVCC+Btree索引,pushes JSON to your apps in realtime采用push思路,优化的ssd存储...

    RethinkDB是什么? RethinkDB是新一代的面向文档的数据库存储管理系统,原本是MySQL中针对SSD优化的一个存储引擎,后来脱离了MySQL成为了独立的系统. 数据如何存储在磁盘上? 数 ...

  2. 论文解读丨LayoutLM: 面向文档理解的文本与版面预训练

    摘要:LayoutLM模型利用大规模无标注文档数据集进行文本与版面的联合预训练,在多个下游的文档理解任务上取得了领先的结果. 本文分享自华为云社区<论文解读系列二十五:LayoutLM: 面向文 ...

  3. MongoDB-概述:跨平台的面向文档的高性能高可用性易扩展数据库

    Table of Contents MongoDB-概述 数据库 采集 文件 样本文件 MongoDB教程 MongoDB-优势 MongoDB与RDBMS相比的优势 为什么要使用MongoDB? 在 ...

  4. JAVA毕业设计广东省梅州市宇恒节能科技有限公司计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计广东省梅州市宇恒节能科技有限公司计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计广东省梅州市宇恒节能科技有限公司计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈 ...

  5. JAVA毕业设计飞机航班信息查询系统演示视频2021计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计飞机航班信息查询系统演示视频2021计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计飞机航班信息查询系统演示视频2021计算机源码+lw文档+系统+调试部署+数据库 本源 ...

  6. JAVA毕业设计口腔医院患者服务系统计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计口腔医院患者服务系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计口腔医院患者服务系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 ...

  7. java毕业设计青少年心理健康公益扶助网站源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计青少年心理健康公益扶助网站源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计青少年心理健康公益扶助网站源码+lw文档+mybatis+系统+mysql数据库 ...

  8. java毕业设计旅游网站设计源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计旅游网站设计源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计旅游网站设计源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈: 项目 ...

  9. java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

最新文章

  1. paramiko监控 windows服务器 被监控服务器只需要安装openssh服务即可基于wmic完成大部分监控...
  2. python常见错误-新手常见Python错误及异常解决处理方案
  3. MySQL 学习笔记 (它执行的步骤)
  4. RabbitMQ整合SpringBoot(web)
  5. vue定义一个变量并显示
  6. powergrep linux版本,PowerShell实现简单的grep功能
  7. 动态规划算法-07背包问题进阶
  8. java 多线程写缓存,Java多线程_缓存对齐
  9. java英文单词单复数转换
  10. ashx文件的几种使用
  11. css属性前浏览器厂商前缀
  12. 【Elasticsearch】使用 Elasticsearch Freeze index API 创建冻结索引
  13. 本地搭建easy-mock
  14. 洛谷P1088 火星人__(作业)
  15. C语言实现学生信息管理系统
  16. 电脑图标变成白纸如何恢复
  17. 爬取cloudmusic歌单
  18. anaconda下jupyter无法自动打开网页
  19. 伽罗华有限域_伽罗华域(Galois Field,GF,有限域)
  20. 海恩法则和费曼学习法

热门文章

  1. 《Adobe Fireworks CS6中文版经典教程》——1.2工具面板
  2. C# 写入和读出文本文件
  3. win7 创建FTP站点
  4. 26.使用ajaxSetup()方法设置全局Ajax默认选项
  5. drupal7获取当前路径别名
  6. AI芯片初创公司单纯卖芯片还是捆绑算法的商业模式更好?
  7. Java Web中的Filter和Interceptor的区别
  8. 利用 BASE64Encoder 对字符串进行加密 BASE64Decoder进行解密
  9. UITabBarController跳转任意界面的方法
  10. php单例模式实现对象只被创建一次 mysql单例操作类