zoukankan      html  css  js  c++  java
  • HBase介绍

    目录

    1.什么是HBase?

    2.HBase的优点

    3.HBASE与传统数据库对比

    ps: 行级数据库 vs 列式数据库

    4.HBase角色

    5.HBase与zookeeper的关系


    1.什么是HBase?

    HBase是一个高可用、高性能、可伸缩的列式分布式存储系统。说白了,HBase就是一种在HDFS上运行的的列式数据库。
    HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。
    HBase是Google Bigtable的开源实现,但是与之相比也有很多不同点。但是无论怎样HBase都是利用Hadoop MapReduce来处理其中的海量数据,并且HBase利用zookeeper协同服务程序。

    2.HBase的优点

    1)具有良好的横向扩展性能(线性扩展),随着数据量增多可以通过增加节点的方式进行横向支撑;
    2)数据存储在HDFS上,使得HBase不再需要另外的备份模式,而是直接使用HDFS上的备份模式保证了数据安全;
    3)通过zookeeper协调查找数据,访问速度快;
    4)具备列式数据库所有优点,在查询非结构化数据速度方面优越于行级数据库;
    5)高可用性能非常完备,不用担心单点故障;
    6)擅长处理小型数据和hadoop集群进行很好的互补。

    3.HBASE与传统数据库对比

    1)当数据量达到一定级别以后,没有办法通过传统的文件系统进行存储。
    2)当数据量达到一定级别以后,数据库对数据操作将会变得非常缓慢。比如说原来的CRUD(增删改查)语句将会变得异常缓慢。计算是加了索引也没有很好的办法解决,并且索引开销也将大大升高。
    3)传统数据库自身缺乏对数据异常庞大以后的一种备份机制。只能依靠外部方法进行备份。
    4)传统数据库严重依赖操作系统和文件系统性能,并且传统数据库在横向扩展方面都做的不是尽如人意,不如分布式系统在横向扩展方面解决方案做的优秀。

    ps: 行级数据库 vs 列式数据库

    传统数据库,如Oracle、MySQL、msSQL、sybase等等,是行级数据库,存储密集型数据库;
    而HBASE、Redis、NONGODB等,是NOSQL(NOT ONLY SQL),列式数据库,内存密集型数据库。
    行级数据库是如何读取数据的?
    比如说有一张表格info:
    id name sex age
    1 张三 男 23
    select name from info; 行级数据库是在数据库中每行每行的寻找,虽然只找到了张三这条数据,其实它也是把张三所在的整行数据都读取出来后,把张三进行筛选出来然后进行结果的显示。而列式数据库不是用行去找数据,而是直接用列去找数据并把它拿出来,大大提高了效率。

    4.HBase角色

    一个或者多个主节点,HMaster

    1)管理用户对Table的增删改查操作;
    2)记录Region在哪台HRegion Server上;
    3)在Region Split后,负责新Region的分配;
    4)新机器加入时,管理HRegion Server的负载均衡,调整Region分布;
    5)在HRegion Server宕机后,负责失效HRegion Server上的Regions迁移。

    多个从节点,HRegionServer

    1)HRegion Server主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块;
    2)HRegion Server管理了很多table的分区,也就是Region。

    HBase的client

    HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信。
    管理类操作:Client与HMaster进行RPC;
    数据读写类操作:Client与HRegionServer进行RPC。

    5.HBase与zookeeper的关系

    1)保存在HMaster的地址和backup-master地址
    HMaster:
    a)管理HRegionServer
    b)做增删改查表的节点
    c)管理HRegionServer中的表分配

    2)保存表-ROOT-的地址
    HBase默认的根表,检索表。

    3)HRegionServer列表
    表的增删改查数据。
    和HDFS交互,存取数据。

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/zhengna/p/9362004.html
Copyright © 2011-2022 走看看