赞
踩
常见的NoSQL数据库:包括Redis和HBase,这些数据库在处理大规模数据集时,相比传统的关系型数据库,提供了更高的灵活性和扩展性。
微服务和高并发:随着传统开发逐渐转向微服务架构,面向"老百姓"的应用需要处理的并发量急剧增加。在这种高并发环境下,传统关系型数据库在增删改查操作上的速度往往跟不上项目的需求。
传统开发解决高并发的策略:
引入HBase的原因:当Redis的存储能力不足或主从结构过于复杂导致效率下降,Hbase成为一个优秀的选择。HBase以其【快速的读写速度】和【高吞吐量】,能够有效且快速地处理大数据的增删改查操作。
HBase特点:
① 高吞吐量的读写操作
为什么HBase有快速的读写速度(高吞吐量)?
写操作:
如何理解"无需暂停写入操作以等待数据落盘"的设计理念?
读操作:
② HBase天生支持集群部署,无需进行复杂的分表或者分库操作。简化了大规模数据处理的复杂性。
③ HBase是列式存储
NoSQL(Not Only SQL):非关系型数据库
NoSQL 与 RDBMS 的区别:
HFiles
HFiles
HFile
应该远小于128MNoSQL 更加注重 性能、扩展性、灵活性,不像RDBMS一样强调原子性或一致性。
一致性问题
定义
什么是【分布式HashMap】?
HashMap的本质是用一个简单的值形式映射一个复杂的值形式。
HBase通过一个RowKey提取该RowKey下多个列族下多个列的多个值。
特点
HBase的物理架构
这张图描述了HBase的物理架构,主要包括以下几个部分:
箭头表示各组件之间的交互和数据流向:
各组件的作用
HMaster
RegionServer
负责管理维护Region,负责存储HBase实际数据
功能
读写缓存
Bloom Filter
快速确定数据是否不在StoreFile中,如果不在,读操作即刻终止。
工作原理:
Region和Table
HBase逻辑架构
Row
RowKey的设计
热点问题
常见的设计RowKey的手段("_"的意义是让其分布均匀又不破坏实际意义)
加盐
给RowKey加上随机前缀
“456165181_henry@hotmail.com”
哈希
给RowKey加上哈希前缀
“hashcode(“henry”)_henry@hotmail.com”
HBase的读流程
HBase元数据管理
HBase Shell
详见HBase Shell汇总
增量数据——时间序列数据
信息交换——消息传递
内容服务——Web后端应用程序
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。