学习
实践
活动
工具
TVP
写文章
原创

HBase

HBase

数据模型

Row Key

字典顺序

最多存储64k的字节数据

Time Stamp

按照时间倒序排列

默认为64位整型数据

可以制定版本的保留条数,默认为1,即当前版本数据

colum family列族&&qualifier列

列族在建表时给出

列族成员动态加入

权限,调优都是在列族层面

列族成员分为几个文件分布在一个列族的文件夹中

cell

由行和列交叉决定

有版本

存储无类型全部是用字节码储存

HLog

记录操作,也能记录数据方便数据丢失后恢复

调优

表的设计

预先多创建空的region

rowkey设计

· 越小越好

· 根据实际的业务需求来设计

· 尽量保证散列性

不要定义太多列族

先写入缓存中

合并major compaction

· 把自动执行改为手动执行

写表操作

多个客户端并发进行写操作

有多个相同格式数据的写入应该批量进行

读表操作

多个客户端并发进行读操作

批量读数据

缓存查找的结果

根据业务调整Memstore和BlockCache的大小比例

架构

client

访问HBase

维护cache,加快对HBase的访问

zookeeper

用于HBase的协调服务,保证有一个Master运行

存储寻址入口

监控RegionServer的上线和下线信息,实时通知Master

存储schema和table的元数据信息

Master

为RegionServer分配Region

为RegionServer进行负载均衡

发现RegionServer失效,重新分配其上的Region

管理table的增删改操作

RegionServer

维护Region,处理对Region的IO请求

负责切分在运行过程中,变得过大的Region

Region

每个Region保存表中一段连续的数据

每个表开始只有一个Region,随着数据的增加产生分裂

随着Region的不断分裂,会分布在其他的RegionServer中

Memstore和storefile

一个storefile代表一个列族

先将数据写入Memstore中,超过阈值产生溢写,写入单独storefile文件中

storefile数量超过阈值会进行合并

· minor compaction

• 小而少的文件合并

• 效率高

· major compaction

• 所有storefile合并成一个文件

• 默认24小时触发一次

storefile的大小和数量超过一定阈值后,会分裂Region,负载到其他的Region Server中

BlockCache

· RegionServer内存的一部分

· 客户端查数据是先查Memstore,再查BlockCache,最后再storefile

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • HBase篇--初始Hbase

    1.HBase,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。 2.利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapRe...

    LhWorld哥陪你聊算法
  • 【HBase】HBase之what

    2006年末发起,根据Google的Chang等人发表的论文“Bigtable:A Distributed Storage System for Strctur...

    章鱼carl
  • 【HBase】HBase之how

    (1)创建Connection是重量级的,并且,创建过多Connection会导致HBase拒绝连接。

    章鱼carl
  • Hbase(四):Hbase原理

    hbase表中的数据按照行键的字典顺序排序 hbase表中的数据按照行的的方向切分为多个region 最开始只有一个region 随着数据量的增加 产生分裂...

    许喜朝
  • Hbase(4)——hive on hbase

    此时可以看见basketball2已经在hbase上建立了 ps:CREATE TABLE basketball2(num int,team string...

    gzq大数据
  • Hbase 学习(十) HBase Snapshots

    HBase Snapshots允许你对一个表进行快照(即可用副本),它不会对Region Servers产生很大的影响,它进行复制和 恢复操作的时候不包括数据拷...

    岑玉海
  • Hbase入门(一)——初识Hbase

    本文将介绍大数据的知识和Hbase的基本概念,作为大数据体系中重要的一员,Hbase弥补了Hadoop只能离线批处理的不足,支持存储小文件,随机检索。而这种特性...

    大数据流动
  • Hbase(二)Hbase常用操作

    许喜朝
  • HBase篇--HBase常用优化

    HBase优化能够让我们对调优有一定的理解,当然企业并不是所有的优化全都用,优化还要根据业务具体实施。

    LhWorld哥陪你聊算法
  • Hbase(五) JavaApi操作Hbase

    许喜朝
  • HBase漫谈 | HBase技术选型准则

    NoSQL(Not only SQL)数据库,可以理解为区别于关系型数据库如mysql、oracle等的非关系型数据库。聊到NoSQL不得不提著名的CAP理论,...

    大数据技术架构
  • HBase原理 | HBase Split与Compaction

    StoreFile:每一个region由一个或多个store组成,至少是一个store,hbase为每个列族建一个store,如果有几个列族,也就有几个Stor...

    lovelife110
  • 使用 HBase - HBase Shell 命令

    HBase 数据库默认的客户端程序是 HBase Shell,它是一个封装了 Java 客户端 API 的 JRuby 应用软件。用户可以在 HBase 的 H...

    数人之道
  • Hbase-2.0.0_04_Hbase原理 1.1. Hbase特性:

    参考博客:Hadoop HBase概念学习系列之HBase里的Zookeeper(二十一)

    踏歌行
  • Hbase

    最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进...

    大学里的混子
  • Hbase

    [root@ha1 sungrow]# cd /soft/hbase-1.1.10/bin [root@ha1 bin]# hbase shell

    用户5927264
  • Hbase

    用户1499526
  • Hbase(三)Hbase安装配置

    ​ 修改conf/hbase-site.xml,配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目...

    许喜朝
  • 初识 HBase - HBase 基础知识

    Hadoop 中的 HDFS 是文件存储的基础,但是如果要对存储在 HDFS 中的文件进行更改、删除等操作会十分费劲。这是由于 Hadoop 只能执行批量处理,...

    数人之道

扫码关注腾讯云开发者

领取腾讯云代金券