当前位置:  首页  >  PHP教程  >  PHP 基础  >  开发经验

各种NoSQL的比较

NoSQL与NoSQL之间的区别,要远大于不同的SQL数据库之间的区别,所以软件架构师必须要在项目一开始就选好一款合适的NoSQL。

NoSQL 与 NoSQL 之间的区别,要远大于不同的 SQL 数据库之间的区别,所以软件架构师必须要在项目一开始就选好一款合适的 NoSQL。

即使关系型数据库依然是非常有用的工具,但它们持续几十年的垄断地位就要走到头了。现在已经存在无数能撼动关系型数据库地位的 NoSQL,当然,这些 NoSQL 还无法完全取代它们。(也就是说,关系型数据库还是处理关系型事务的最佳方式。)

NoSQL 与 NoSQL 之间的区别,要远大于不同的 SQL 数据库之间的区别,所以软件架构师必须要在项目一开始就选好一款合适的 NoSQL。

考虑到这种情况,,本文为大家介绍以下几种 NoSQL 之间的区别:Cassandra, Mongodb, CouchDB, Redis, Riak, Couchbase (ex-Membase), Hypertable, ElasticSearch, Accumulo, VoltDB, Kyoto Tycoon, Scalaris, Neo4jHBase

最流行的 NoSQL MongoDB 2.2版

开发语言: C++

主要特性: 保留 SQL 中一些用户友好的特性(查询、索引等)

许可证: AGPL (驱动: 采用Apache许可协议)

数据传输格式: 自定义,二进制( BSON 文档格式)

应用场景:

使用案例:

想布署 MySQL 或 PostgreSQL,但预先定义数据字典让你望而却步。这个时候,MongoDB 是你可以考虑的选项

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

推荐阅读:

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

如何在MongoDB中建立新数据库和集合

MongoDB入门必读(概念与实战并重)

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Riak 1.2版

开发语言: Erlang、C、以及一些 JavaScript

主要特性: 容错机制(当一份数据失效,服务会自动切换到备份数据,保证服务一直在线 —— 译者注)

许可证: Apache

数据传输格式: HTTP/REST 架构,或自定义二进制格式

应用场景:

  • 假如你想要类似 Dynamo 的数据库,但不想要它的庞大和复杂
  • 假如你需要良好的单点可扩展性、可用性和容错能力,但不想为多点备份买单。
  • 使用案例:

    销售点数据收集;工厂控制系统;必须实时在线的系统;需要易于升级的网站服务器

    CouchDB 1.2版

    开发语言: Erlang

    主要特性: 数据一致性;易于使用

    许可证: Apache

    数据传输格式: HTTP/REST

    应用场景:

  • 用于随机数据量多、需要预定义查询的地方
  • 用于版本控制比较重要的地方
  • 使用案例:

    可用于客户关系管理(CRM),内容管理系统(CMS);可用于主主互备甚至多机互备

    更多详情见请继续阅读下一页的精彩内容

    吐了个 "CAO" !
    扫码关注 PHP1 官方微信号
    PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有