• hbase原理


    Hbase:
    基于hdfs的数据库,来源于google的一篇论文bigtable.基于HDFS实现高可用、分布式、列式存储、核心包括:
    -Rowkey: 可以简单理解成mysql中的主键
    -列簇,列
    -时间戳
    按照Rowkey字典顺序存储,基于rowkey的高效检索,同时继承hdfs的高吞吐能力。
    Hbase用rowkey快速访问数据,所以rowkey的设计是hbase性能提升的关键
    Hbase数据访问方式:
    -通过get方式,指定rowkey获得唯一一条记录
    -通过scan方式,设置startRow和stopROW参数进行范围匹配。
    -全表扫描。

    hbase rowkey设计原则:
    -rowkey长度
    rowkey快速定位过程中,rowkey数据是在内存中的,所以rowkey过长时,如果数据量又很大,会导致内存占用过多,检索变慢。
    hbase本身对rowkey限制64Kb,但建议越短越好,最好16字节以内;另外colname(列簇名)对设计也尽量简单。
    -rowkey唯一性
    rowkey需要能够唯一标识一条记录,类似RDBMS中的主键
    -rowkey散列
    由于数据是按rowkey的字典顺序存储的,若rokey顺序性较强,会减弱hbase分布
    式存储的特点,在大数据量时会导致
    部分region过载,严重时会造成节点失
    联,影响其它数据的访问。
    散列的方案:
    1/ hash:可以让数据均衡分布,可重构,可以使用get等方式快速访问数据。 比如你设置的rowkey组合完了做hash
    2/ 加随机数:数据均衡分布,不可重构,失去get快速定位数据等能力
    3/ 反转:普遍使用的三列方法,尤其是对于时间序列,手机号类似的rowkey

    二级索引(待看)

    设计时hbase的存储空间是需要考虑的:
    比如2个G的mysql数据,由于hdfs本身机制,就成6个G。
    而hbase还有副本,6个副本的话,就36G。

    如遇到写入慢的问题:
    1/ 检查hdfs,检查rowkey的长度等。

    优势:
    上亿条数据的查询很快的

    使用场景:
    用户画像的场景:可以用hbase也可以用ES
    ES除了做ELK,日常业务状态监控,业务日志的采集分析外。
    也可以做为olap的引擎。

  • 相关阅读:
    loadrunner实现字符串的替换
    Windows Server 2008 R2 实现多用户同时登陆
    LoadRunner测试场景中添加负载生成器
    loadrunner统计字符串中指定字符出现的次数
    loadrunner怎么将变量保存到参数中
    loadrunner生成随机数
    loadrunner取出字符串的后面几位
    loadrunner参数化excel数据
    LoadRunner常用函数列表
    loadrunner解决在项目中的难点解决
  • 原文地址:https://www.cnblogs.com/hongfeng2019/p/12233063.html
Copyright © 2020-2023  润新知