老李分享云计算基本概念
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。
1、NOSQL数据库:
列族存储:HBase,Hypertable
文档存储:MongDB,CouchDB
键值存储:Redis,Memcahed,Berkeley DB
最终一致的键
老李分享云计算基本概念
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。
1、NOSQL数据库:
列族存储:HBase,Hypertable
文档存储:MongDB,CouchDB
键值存储:Redis,Memcahed,Berkeley DB
最终一致的键值存储:Cassandra,Voldermot
它们各有特色,适用于不同的应用场景。
Redis是一个高性能的key-value数据库。它的出现很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用,比较适合作为内存数据库。但它的查询功能比较单一,无法实现RDBMS丰富的查询功能,而HBase经过改进后可以实现。
MongoDB是用C++编写的分布式文件存储数据库。它是一个介于RDBMS和NoSQL之间的产品,是NoSQL当中功能最丰富,最像RDBMS的。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。因此,用户可以方便地由MySQL迁移到MongoDB,进一步促进MongoDB的流行。
相比之下,HBase支持的查询语言没有MongoDB丰富,也不支持二级索引, 在易用性方面完败于MongoDB。但HBase是在Hadoop基础上开发的,与Hadoop结合更紧密,数据存储在riDFS巾,对MapReduce框架的支持更好。而且HBase的吞吐率远大于MongoDB,大数据写入性能也遥遥领先。在具体应用上,
MongoDB更适合于数据变化较快的场景,适用动态的查询,使用索引而不需要MapReduce;而HBase更适合海量数据的实时随机读取。
不过通过一些方法,比如Solr+Hbase,ITHbase,协处理器等方式,为HBase增加二级索引的话,可以让HBase在功能上不输于MongDB。
值存储:Cassandra,Voldermot
它们各有特色,适用于不同的应用场景。
Redis是一个高性能的key-value数据库。它的出现很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用,比较适合作为内存数据库。但它的查询功能比较单一,无法实现RDBMS丰富的查询功能,而HBase经过改进后可以实现。
MongoDB是用C++编写的分布式文件存储数据库。它是一个介于RDBMS和NoSQL之间的产品,是NoSQL当中功能最丰富,最像RDBMS的。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。因此,用户可以方便地由MySQL迁移到MongoDB,进一步促进MongoDB的流行。
相比之下,HBase支持的查询语言没有MongoDB丰富,也不支持二级索引, 在易用性方面完败于MongoDB。但HBase是在Hadoop基础上开发的,与Hadoop结合更紧密,数据存储在riDFS巾,对MapReduce框架的支持更好。而且HBase的吞吐率远大于MongoDB,大数据写入性能也遥遥领先。在具体应用上,
MongoDB更适合于数据变化较快的场景,适用动态的查询,使用索引而不需要MapReduce;而HBase更适合海量数据的实时随机读取。
不过通过一些方法,比如Solr+Hbase,ITHbase,协处理器等方式,为HBase增加二级索引的话,可以让HBase在功能上不输于MongDB。