HBase概述
HBase是一个建立在HDFS上的列式存储数据库,具有支持线性扩展(横向扩展)、自动故障转移、自动分区及模式自由等特性
HBase与Hadoop
HDFS属于非结构化的文件格式,HBase则提供了在HDFS之上的结构化存储方式。
HBase特征
① 自动故障处理和负载均衡:HBase运行在HDFS上,HDFS的多副本存储让HBase在内部就支持了分布式和自动恢复。另外HMaster和RegionServer也是多副本的(Hbase-site.xml中关于副本数量的设置即基于HMaster和RegionServer)。
② 自动分区:HBase表是由分布在多个RegionServer中的region组成的,这些RegionServer又分布在不同的DataNode上。一个region增长到阈值以后,为了降低I/O时间和负载,HBase提供了手动和自动两种方法把这些region切分成小的subregion
③ 实时随机的大数据访问:HBase采用LSM(log_structured merge-tree)树作为内部数据存储架构,这种架构会周期性的将较小文件合并成大文件以减少对磁盘的访问
④ MapReduce:HBase内建支持了Hadoop 的MapReduce,以便并行处理
⑤ Thrift和RESTful Web服务
⑥ 支持通过Hadoop metrics子系统标准导出系统指标:HBase支持Java Mannagement Extensions(JMX),通过它导出系统当前状态给Ganglia和Nagions这样的监控工具
⑦ 集成HDFS、分布式、列存储
⑧ 稀疏的、多维的、有序映射数据库,同时也支持记录多版本
⑨ 快照支持:HBase支持通过元数据快照获取当前或之前的数据信息
HBase与关系型数据库的对比:
当数据量比较小、需要在线事务处理时使用RDBMS是合适的;当数据规模很大(TB或PB级别)时,可以选择HBase。在一次写入多次查询的业务中,列存储数据库在I/O处理上更有效率。
列式数据库的优缺点:
优点 缺点 具有高效的数据压缩内部支持 JOIN和多表合并数据的查询性能不好 支持快速数据检索 更新过程中有大量的写入和删除操作,需要频繁合并和分裂,降低了存储效率 管理和配置简单。支持横向扩展 对关系模型支持不好,分区和索引模式设计比较困难 可高效地进行分区,提供自动分区机制把大的region切分成小容量的 聚合查询性能非常高
6.行式、列式数据库的对比:
Hbase_列式数据库特性
最新推荐文章于 2024-10-03 08:43:30 发布