首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

8种主流NoSQL数据库系统对比

2012-10-21 
八种主流NoSQL数据库系统对比7. Cassandra所用语言: Java特点:对大型表格和 Dynamo支持得最好使用许可: Ap

八种主流NoSQL数据库系统对比

7. Cassandra
  • 所用语言: Java
  • 特点:对大型表格和 Dynamo支持得最好
  • 使用许可: Apache
  • 协议: Custom, binary (节约型)
  • 可调节的分发及复制(N, R, W)
  • 支持以某个范围的键值通过列查询
  • 类似大表格的功能:列,某个特性的列集合
  • 写操作比读操作更快
  • 基于 Apache分布式平台尽可能地 Map/reduce
  • 我承认对 Cassandra有偏见,一部分是因为它本身的臃肿和复杂性,也因为 Java的问题(配置,出现异常,等等)

    最佳应用场景:当使用写操作多过读操作(记录日志)如果每个系统组建都必须用 Java编写(没有人因为选用 Apache的软件被解雇)

    例如:银行业,金融业(虽然对于金融交易不是必须的,但这些产业对数据库的要求会比它们更大)写比读更快,所以一个自然的特性就是实时数据分析

    8. HBase

    (配合 ghshephard使用)

    • 所用语言: Java
    • 特点:支持数十亿行X上百万列
    • 使用许可: Apache
    • 协议:HTTP/REST (支持 Thrift,见编注4)
    • 在 BigTable之后建模
    • 采用分布式架构 Map/reduce
    • 对实时查询进行优化
    • 高性能 Thrift网关
    • 通过在server端扫描及过滤实现对查询操作预判
    • 支持 XML, Protobuf, 和binary的HTTP
    • Cascading, hive, and pig source and sink modules
    • 基于 Jruby( JIRB)的shell
    • 对配置改变和较小的升级都会重新回滚
    • 不会出现单点故障
    • 堪比MySQL的随机访问性能

      最佳应用场景:适用于偏好BigTable:)并且需要对大数据进行随机、实时访问的场合。

      例如: Facebook消息数据库(更多通用的用例即将出现)

      编注4:Thrift 是一种接口定义语言,为多种其他语言提供定义和创建服务,由Facebook开发并开源。

      当然,所有的系统都不只具有上面列出的这些特性。这里我仅仅根据自己的观点列出一些我认为的重要特性。与此同时,技术进步是飞速的,所以上述的内容肯定需要不断更新。我会尽我所能地更新这个列表。

      【编辑推荐】

      1. MongoDB之父:MongoDB胜过BigTable
      2. 主流NoSQL数据库全方位评测之MongoDB
      3. 教你如何利用MySQL学习MongoDB
      4. 在Windows环境下MongoDB搭建和简单操作
      5. Mongodb源码分析之Mongos分析

热点排行