HBase
爱吃甜食_
一点点进步,让编程更有趣
展开
-
HBase的一致性
HBase的一致性首先来理解下一致性HBase是强一致性系统Hbase是一个强一致性数据库,不是“最终一致性”数据库,官网给出的介绍:“Strongly consistent reads/writes: HBase is not an “eventually consistent” DataStore. This makes it very suitable for tasks such as high-speed counter aggregation.”这里要先提一下分布式系统的CAP原理:原创 2020-11-01 17:41:08 · 1622 阅读 · 0 评论 -
HBase-10 Region的分裂策略
Region的分裂策略1. region 分裂策略ConstantSizeRegionSplitPolicyIncreasingToUpperBoundRegionSplitPolicySteppingSplitPolicyKeyPrefixRegionSplitPolicyDelimitedKeyPrefixRegionSplitPolicyDisabledRegionSplitPolicy1. region 分裂策略region中存储的是一张表的数据,当region中的数据条数过多的时候,会直接影原创 2020-07-07 07:42:45 · 1002 阅读 · 0 评论 -
HBase-9 Region的拆分和和并
Region的迁移和合并Region的迁移Region的合并Region冷合并Region热合并Region的迁移随着大合并的增多,一个region越来越大,造成数据的存储不平衡,访问速度也会变慢。所以,当region达到一定大小(默认10G),region会先下线,一分为二,分为两个region,R1,R2.Hmaster会将R2迁移到其他的regionserver中。底层的Hfile指向新的region2更新元数据信息region1 region2到HBASE:meta表Region的合原创 2020-07-05 21:40:33 · 349 阅读 · 0 评论 -
Hbase-8 Hbase预分区
HBase预分区预分区的意义预分区原理手动指定预分区预分区的意义当一个table刚被创建的时候,Hbase默认的分配一个region给table。也就是说这个时候,所有的读写请求都会访问到同一个regionServer的同一个region中,这个时候就达不到负载均衡的效果了,集群中的其他regionServer就可能会处于比较空闲的状态。解决这个问题可以用pre-splitting,在创建table的时候就配置好,生成多个region。预分区可以:增加数据读写效率负载均衡,防止数据倾斜方原创 2020-07-05 21:07:52 · 195 阅读 · 0 评论 -
HBase-7 HBase的flush和compact
HBase的flush和compactFlush和compact概念Flush触发条件memstore级别限制region级别限制Region Server级别限制Flush流程Compact合并机制minior compaction(小合并)major compaction(大合并)Flush和compact概念flush可以简单的理解为将数据从内存落地到磁盘从region级别的flush触发条件开始,一旦触发,就会flush所有memstore,这是不建议由很多列族的一个重要原因在达到阻塞条原创 2020-07-05 17:26:44 · 703 阅读 · 0 评论 -
HBase数据结构之 跳跃表、LSM、布隆过滤器
跳跃表、LSM、布隆过滤器前言LSM树用跳表实现LSM的内存部分用多路归并实现LSM树的文件合并布隆过滤器前言在之前学习MySQL的时候,我们知道存储引擎常用的索引结构有B+树索引和哈希索引。而对HBase的学习,也离不开索引结构的学习,它使用了一种LSM树((Log-Structured Merge-Tree))的索引结构。下面,我们就结合HBase的实现,来深入了解HBase的核心数据结构与算法,包括索引结构LSM树,内存数据结构跳表、文件多路归并、读优化的布隆过滤器等。LSM树LSM树和B转载 2020-07-05 16:16:01 · 889 阅读 · 0 评论 -
HBase-6 HBase读写流程
HBase读写流程写在前面HBase建表流程简易版HBase写数据流程手绘版HBase读数据流程写在前面老版本的读写框架为zk-root-meta表-数据所在的region(在这不做介绍)新版本的读写框架为zk-meta表-数据所在的region(本篇的流程)HBase建表流程简易版平时各个resigonserver 向Hmaster发送心跳:报告在磁盘 有哪些region等等建表时Hmaster决定regionserver 中的region中然后类似写流程HBase写数据流程原创 2020-07-04 23:54:28 · 181 阅读 · 0 评论 -
HBase-5 HBase数据存储的划分
HBase数据存储的划分Hbase架构图HRegionServer结构图ZookeeperHbase架构图HRegionServer结构图一个RegisonServer保存多个Region,各个Region可以存储不同的表的数据一个Region是HBase的最小存储单位,一个Region存储某个表的一部分数据一个Region保存多个Store,每个Store存储一个表的一个列族,即一个列族对应一个store一个Store只有一个memstore,memstore是一块内存区域,写入数据时会原创 2020-07-04 23:06:13 · 393 阅读 · 0 评论 -
HBase-4 hbase过滤器
hbase过滤器概念种类比较过滤器比较过滤器的运算符比较过滤器的比较器连接代码RowFilter(rowkey过滤器)FamilyFilter(列族过滤器)QualifierFilter(列过滤器)ValueFilter(列值过滤器)专用过滤器SingleColumnValueFilter(单列值过滤器)SingleColumnValueExcludeFilter(列值排除过滤器)PrefixFilter(前缀过滤器)PageFilter(分页过滤器PageFilter)多过滤器组合使用官网连接概念过原创 2020-07-04 14:22:57 · 215 阅读 · 0 评论 -
HBase- 3 java的API基本操作-增删改查
java的API基本操作-增删改查基本思路创建表初始化和关闭资源(抽出来,精简下面操作的代码)添加数据查询数据get查询:精准查询scan查询:范围查询删除数据删除数据删除表官网链接基本思路开始先配置、连接,最后关闭,这是通用的。增删改查,都是获得对应的对象,put delete put get/scan,获得对象时可以用family/column等API进行进一步现在或过滤然后用table对象加载之前的对象即可。创建表 /** * 创建一张表 myuser 两个列族 f1 f原创 2020-07-04 00:09:48 · 288 阅读 · 2 评论 -
HBase-2 HBase基本操作之shell
HBase的shell基本操作HBase Shell命令基本操作进入Hbase的shell客户端help命令list 查看当前数据库有哪些表create 创建表put 插入数据查询数据操作通过rowkey进行查询查看rowkey下某个列族的信息查看rowkey指定列族指定列的值查看rowkey指定多个列族的值指定rowkey与列值过滤器查询指定rowkey与列名模糊查询查询某表所有行的数据列族查询多列族查询指定列族与某个列名查询指定多个列族与按照数据值模糊查询指定rowkey的范围查询指定rowkey模糊查原创 2020-07-03 15:50:35 · 459 阅读 · 0 评论 -
HBase-1 HBASE基本概念
小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。今天,小史的姐姐和吕老师一起过来看小史,一进屋,就有一股难闻的气味。可不,小史姐姐走进卫生间,发现地下一个盆子里全是没洗的袜子。小史:当然不是,盆里的袜子满了,就先放到这个桶里,然后再继续装,等到桶里的袜子满了,然后才放到洗衣机里一次洗完,这样不仅效率高,而且节省水电费。小史洋洋得意地介绍起自己洗袜子的流程。小史一听就有点不高兴,全世界都黑程序员,没想到自己还没变成程序员就被自家姐姐黑了。说原创 2020-07-02 23:58:12 · 349 阅读 · 0 评论 -
(转载)可能是最易懂的Hbase架构原理解析
https://developer.51cto.com/art/201904/595698.htm转载 2020-10-18 21:11:29 · 80 阅读 · 0 评论