Hbase_列式数据库特性

来源:互联网 发布:java bytearraybuffer 编辑:程序博客网 时间:2024/05/22 12:29
  1. HBase概述

    HBase是一个建立在HDFS上的列式存储数据库,具有支持线性扩展(横向扩展)、自动故障转移、自动分区及模式自由等特性
    这里写图片描述

  2. HBase与Hadoop

    HDFS属于非结构化的文件格式,HBase则提供了在HDFS之上的结构化存储方式。

    这里写图片描述

  3. 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支持通过元数据快照获取当前或之前的数据信息

  4. HBase与关系型数据库的对比:

    当数据量比较小、需要在线事务处理时使用RDBMS是合适的;当数据规模很大(TB或PB级别)时,可以选择HBase。在一次写入多次查询的业务中,列存储数据库在I/O处理上更有效率。

    这里写图片描述

  5. 列式数据库的优缺点:

             优点                                        缺点具有高效的数据压缩内部支持                 JOIN和多表合并数据的查询性能不好支持快速数据检索                 更新过程中有大量的写入和删除操作,需要频繁合并和分裂,降低了存储效率管理和配置简单。支持横向扩展            对关系模型支持不好,分区和索引模式设计比较困难可高效地进行分区,提供自动分区机制把大的region切分成小容量的   聚合查询性能非常高   

    6.行式、列式数据库的对比:

    这里写图片描述

原创粉丝点击