《HBase权威指南》读书笔记:第一章 简介
2017-05-29 16:00
218 查看
传统的关系型数据库无法存放海量数据,因此HBase诞生,解决海量数据存取难题。当然除了HBase,还有很多其他类型的数据库解决不同的问题。HBase的诞生参考了谷歌的这两篇论文,值得阅读:
The Google File System
MapReduce: Simplified Data Processing on Large Clusters
HBase应用逻辑的基本概念有:
表:表有表名,其含有多个row
row:由row key和多个column组成。行级别的数据是原子性的。
column:储存任意二进制数据。column可以达到上百万个。数据可以有多个版本,每个版本的数据存在cell中。版本可以设置删除策略,支持数量、过期时间策略。
column family:由多个column组成。column family只能有几十个。
HBase支持的操作有:对数据的CRUD、scan、CAS、计数器、coprocessor,还有建表、删表、增加列族、修改列族、删除列族。
CURD:用row key去增删改查
scan:指定row key的范围,批量取数据
CAS:为确保一致性而提供的操作,check and set,确认版本没变过的情况下写入数据
计数器:支持原子性的计数器操作
coprocessor:协处理器,客户端提交代码在服务端运行,更快的处理数据
HBase运维层面的基本概念有:
master节点:负责协调region在各个节点中的分布,并将信息储存在zookeeper中,一个集群内可以起多个master节点,但同一时间只能有一个master掌握实权,其余都是替补。
region server:负责处理针对region的请求。一个region server内可以包含多个region。通常10~1000个region性能最优。客户端直接与region server相连,请求直接发给它。
region:最小负载单元,每个region包含表名、首行key、末行key。也就是说每个region负责一张表的一部分内容。如果region中数据量过多,则会进行自动拆分,分成两个region,然后迁移到别的节点。
HFile:包含多个块,每个块中储存某个column数据的一部分。文件末尾是块的索引。服务启动时将块索引加载到内存中。HFile储存在HDFS中。
架构参考了LSM树(log-structured sort-and-merge-map)。在HBase中,写入的数据先写到write-ahead log,然后放在内存memstore中,等到内存占用达到阈值,做flush,将memstore中的内容写到HDFS成为HFile。当HFile数量较多时,做compation操作,将小文件合并成大文件。这种架构也被ElasticSearch、Cassandra、InfluxDB采用。
The Google File System
MapReduce: Simplified Data Processing on Large Clusters
HBase应用逻辑的基本概念有:
表:表有表名,其含有多个row
row:由row key和多个column组成。行级别的数据是原子性的。
column:储存任意二进制数据。column可以达到上百万个。数据可以有多个版本,每个版本的数据存在cell中。版本可以设置删除策略,支持数量、过期时间策略。
column family:由多个column组成。column family只能有几十个。
HBase支持的操作有:对数据的CRUD、scan、CAS、计数器、coprocessor,还有建表、删表、增加列族、修改列族、删除列族。
CURD:用row key去增删改查
scan:指定row key的范围,批量取数据
CAS:为确保一致性而提供的操作,check and set,确认版本没变过的情况下写入数据
计数器:支持原子性的计数器操作
coprocessor:协处理器,客户端提交代码在服务端运行,更快的处理数据
HBase运维层面的基本概念有:
master节点:负责协调region在各个节点中的分布,并将信息储存在zookeeper中,一个集群内可以起多个master节点,但同一时间只能有一个master掌握实权,其余都是替补。
region server:负责处理针对region的请求。一个region server内可以包含多个region。通常10~1000个region性能最优。客户端直接与region server相连,请求直接发给它。
region:最小负载单元,每个region包含表名、首行key、末行key。也就是说每个region负责一张表的一部分内容。如果region中数据量过多,则会进行自动拆分,分成两个region,然后迁移到别的节点。
HFile:包含多个块,每个块中储存某个column数据的一部分。文件末尾是块的索引。服务启动时将块索引加载到内存中。HFile储存在HDFS中。
架构参考了LSM树(log-structured sort-and-merge-map)。在HBase中,写入的数据先写到write-ahead log,然后放在内存memstore中,等到内存占用达到阈值,做flush,将memstore中的内容写到HDFS成为HFile。当HFile数量较多时,做compation操作,将小文件合并成大文件。这种架构也被ElasticSearch、Cassandra、InfluxDB采用。
相关文章推荐
- 读书笔记 - javascript 高级程序设计 - 第一章 简介
- 读书笔记-《Java NIO》 : 第一章 简介
- 《Java并发变成实践》读书笔记---第一章 简介
- 【读书笔记——java8函数式编程】第一章 简介 第二章 Lambda表达式
- 《Java并发编程》第一章 — 简介 — 读书笔记
- Hbase权威指南第一章:简介
- windows网络编程第二版 第一章 winsock简介 读书笔记
- 《HBase权威指南》读书笔记----简介
- 【OpenGL超级宝典第五版】【第一章】3D图形和OpenGL简介 读书笔记
- 《HBase权威指南》读书笔记----简介
- 《MongoDB权威指南》读书笔记 第一章 简介
- Thinking in Java第三版读书笔记-第一章:对象简介
- 《Linux内核设计与实现》读书笔记 第一章 Linux内核简介
- 《Linux设备驱动》读书笔记:第一章:设备驱动简介
- 《C#入门经典(第6版)》读书笔记1_第一章:C#简介
- 《UNIX网络编程卷1》读书笔记--第一章 简介和TCP/IP
- 《es6标准入门》读书笔记-第一章 ECMAScript 6简介
- 《深入Linux内核架构》读书笔记第一章简介和概述
- STL源码剖析_读书笔记:第一章 STL概论和版本简介
- 第一章:Tomcat简介——读书笔记