类似于谷歌大表(Google' Gigtable)的开源数据库

jopen 11年前

    想到大数据,你第一个会想到Google's Bigtable,其次就是根据其思想设计的开源数据库HBase。除此之外,你还知道其它的类似的开源数据库呢?我简要描述了其它的开源数据库,仅供了解。</span>


HBase

简述
  1. ·  编程语言: Java  
  2. ·  主要关注点: 上亿级的行百万级的列数据 Billions of rows X millions of columns  
  3. ·  许可证(License): Apache  
  4. ·  协议(Protocol): HTTP/REST (也有 Thrift)  
  5. ·  概要:模型化谷歌大表  
  6.           使用Hadoop HDFS作为数据存储  
  7.           Hadoop Map/reduce 框架  
  8.           通过服务器端的扫描和过滤来实现查询术语推送  
  9.           实时查询优化  
  10.           高性能的Thrift网管  
  11.           HTTP 支持XML, Protobuf, 和二进制(binary)  
  12.           基于Jruby shell  
  13.           配置文件的改动和较小的升级都会滚动重启  
  14.           能够像MySQL一样随机访问系统的性能  
  15.           一个集群可以由几个不同类型的节点组成  




最佳使用情形: 在大数据集上,Hadoop可能依旧是最佳的方式来运行Map/Reduce 任务,使用HDFS作为数据存储。
使用场景: 搜索引擎,分析日志数据,也可以用在任何需要扫描大且少量关联的二位表。


Cassandra

简述
  1. ·  编程语言 : Java  
  2. ·  主要关注点 : 最佳的大数据和Dynamo   
  3. ·  许可证(License) : Apache  
  4. ·  协议(Protocol) : Thrift 和 一般二进制 CQL3  
  5. ·  概要:为分布式和重复(replication)而调优折中(N, R, W)  
  6.           通过列和区间关键字查询 (需要在你需要搜索的字段中建立标记体(indices))  
  7.           大表的特性:列 , 列家族(column families)  
  8.           能够被用来作为一个分布式哈希表,使用“像SQL”一样的语言,CQL(但是不能够JOIN)  
  9.           数据可以设置过期(在INSERT中设置)  
  10.           写能够比读更快(当读是磁盘绑定)  
  11.           能够使用Hadoop的Map/reduce  
  12.           相对于Hadoop/HBase来说,所有的节点是相似的  
  13.           跨数据中心重复中表现得非常好并且数据可靠  
  14.           最佳使用情形: 当你需要的写多于读,比如日志操作。  
  15.           最佳使用场合: 银行, 金融业,数据分析业务。  

Hypertable

简述
  1. ·  编程语言: C++  
  2. ·  主要关注点 : 更快,比HBase更小  
  3. ·  许可证(License) : GPL 2.0  
  4. ·  协议(Protocol) : Thrift, C++库, or HQL shell  
  5. ·  概要: 对谷歌大表设计的实现  
  6.          运行在Hadoop的HDFS上  
  7.          使用自己独有的,像SQL一样的语言HQL  
  8.          能够通过关键字,单元格来搜索,或者是通过列家族(column families )的值  
  9.          搜索能够限定到 key/column区间  
  10.          保留最近历史值  
  11.          表有命名空间  
  12.          能够使用Hadoop的Map/reduce  


最佳使用情形: 如果你需要一个更好的HBase
最佳使用场合: 使用情况与HBase一样,即搜索引擎,分析日志数据,也可以用在任何需要扫描大且少量关联的二位表。</span>

Accumulo 

简述
  1. ·  编程语言: Java 和C++  
  2. ·  主要关注点 : A BigTable with Cell-level security  
  3. ·  许可证(License) : Apache  
  4. ·  协议(Protocol) : Thrift  
  5. ·  概要:另一种大表的克隆版,也运行在Hadoop之上  
  6.          单元格级别的安全访问  
  7.          比内存能够允许的行还用大  
  8.          使用C++ STL 来保持一个内存映射外在的Java  
  9.          Map/reduce使用Hadoop设备,如ZooKeeper  等  
  10.          一些服务器端的编程  


最佳使用情形: 如果你需要一个不同的HBase
最佳使用场合: 使用情况与HBase一样,即搜索引擎,分析日志数据,也可以用在任何需要扫描大且少量关联的二位表。</span>