2.Hbase的优缺点?Hbase是BigTable的开源java版本。是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写NoSQL的数据库系统
优点:
- 存储数据量大:一个表可以有上亿行,上百万列。
- 面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。
- 稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
- 无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。
- 数据多版本:每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。
- 数据类型单一:Hbase中的数据都是字符串,没有类型。
缺点:
- 不支持join等复杂操作,不支持复杂的事务(行级的事务)
- Hbase仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务
在Hbase中,数据存储在具有行和列的表中。这是看起来关系数据库(RDBMS)一样,但将Hbase表看成是多个维度的Map结构更容易理解。



