博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《HBase权威指南》读书笔记:第一章 简介
阅读量:2190 次
发布时间:2019-05-02

本文共 1129 字,大约阅读时间需要 3 分钟。

传统的关系型数据库无法存放海量数据,因此HBase诞生,解决海量数据存取难题。当然除了HBase,还有很多其他类型的数据库解决不同的问题。HBase的诞生参考了谷歌的这两篇论文,值得阅读:

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采用。

转载地址:http://ivyub.baihongyu.com/

你可能感兴趣的文章
Java并发指南3:并发三大问题与volatile关键字,CAS操作
查看>>
Java并发指南4:Java中的锁 Lock和synchronized
查看>>
Java并发指南5:JMM中的final关键字解析
查看>>
Java并发指南6:Java内存模型JMM总结
查看>>
Java并发指南7:JUC的核心类AQS详解
查看>>
Java并发指南8:AQS中的公平锁与非公平锁,Condtion
查看>>
Java网络编程和NIO详解6:Linux epoll实现原理详解
查看>>
Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理
查看>>
Java网络编程与NIO详解8:浅析mmap和Direct Buffer
查看>>
Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型
查看>>
Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)
查看>>
深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
查看>>
深入理解JVM虚拟机3:垃圾回收器详解
查看>>
深入理解JVM虚拟机4:Java class介绍与解析实践
查看>>
深入理解JVM虚拟机5:虚拟机字节码执行引擎
查看>>
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机11:Java内存异常原理与实践
查看>>