HBase最佳实践及优化
Conference China 2016 中国用户大会 典型用户案例:Data Storage • 场景 – 用于收集并存储非结构化以及半结构化数据 – 数据存储要求可靠 – 保证数据强一致性 – 数据可被排序以便提供低延时的随机查询 • 案例 – 原始日志查询系统 – 在线指标查询系统 • 主要组件 – HBase, Flume, Sqoop 10 Postgres Conference China China 2016 中国用户大会 HBase适用场景 • 高并发高性能读写访问场景 – 数据有随机更新、删除 – 数据写入性能高于读取性能,适合写多读少或数据 加载有实时性要求的场景 • 需按主键排序的半结构化数据存储 • 支持基于固定有限条件的高并发高性能查询 • 高速计数器aggregation类型的任务 – HBase强一致性(Strongly consistent)读写保证 • 其他适用Hadoop的NoSQL场景 – 每个Column有可以有任意多个版本(version)的数据 – Column只有在有赋值时才被真正存储,NULL值无 存储消耗 – 一个Column Family内的Column统一存储并排序 – 除表名外所有数据皆为无类型数据(byte数组) 23 Postgres Conference China 2016 中国用户大会 HBase数据模型 24 Postgres Conference0 码力 | 45 页 | 4.33 MB | 1 年前3HBase基本介绍
在借助region和cf的⽔水平垂直分表, 整个数据可以很好的分散 持久化的, ⼤大部分数据都是基于hdfs的持久化,(btw 顺序写磁盘, 速度不不慢) Sorted map. 整个数据模型就是⼀一个按key排序的⼤大Map, Agenda Data Model Architecture & Component Schema design 1. Data Model 存什什么样的数据 既然是⼀一个数据库 然后hbase⼜又引⼊入了了版本概念, 就是图上这个 ⾏行行 交 列列 的每⼀一个格⼦子 都可以有多个版本的值, 我没有画出来. 版本⽤用时间戳表示. • 整个table都是按rowkey排序存储的 • 按rowkey⽤用LSM树做了了索引, 没有其他⼆二级 索引 • 所以只有按rowkey查询⽐比较快, 其他全表扫 • 除了了列列族要求是可打印字符, 别的都可以是任 意⼆二进制数据 • Compaction (Minor/Major) 系统组成 RegionServer写操作 ⼀一个Region多个CF就多个Memstore 在Memstore⾥里里已经处理理好格式, 排序 有⼀一个Memstore满了了, 就整个Region flush 这⾥里里每隔⼀一会就flush, 会⽣生成很多⼩小的HFile, HBase会执⾏行行两种compaction, minor0 码力 | 33 页 | 4.86 MB | 1 年前3
共 2 条
- 1