加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据面试必问 | 数据存储利器——Hbase

发布时间:2022-12-19 14:40:58 所属栏目:大数据 来源:转载
导读: HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。
HBase 是一个分布式的、面向列的分布式数据库,HB

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。

HBase 是一个分布式的、面向列的分布式数据库,HBase是基于Google 开源的bigtable的实现,面向列的非关系性数据库。在大数据分布式处理中,HBase是必不可少的数据存储“利器”。

Facebook 在 2010年11 月开始便一直选用 HBase来作为消息平台的存储层技术。

B站直通车【Hbase分布式存储系统视频教程 】

美团一面真实面试题

1、为什么选用Hbase,Hbase和MySQL的区别是什么?

MySQL + HBase是我们日常应用中常用的两个数据库,分别解决应用的在线事务问题和大数据场景的海量存储问题。

从架构对比看差异

1)相比MySQL,HBase的架构特点:

完全分布式(数据分片、故障自恢复) 底层使用HDFS(存储计算分离)。

2)由架构看到的能力差异:

MySQL:运维简单(组件少)、延时低(访问路径短) HBase:扩展性好、内置容错恢复与数据冗余

哪些场景的存储适合Hbase?

用户画像、实时推荐、实时风控、监控系统、社交Feed流、汽车轨迹、BI报表和搜索系统等等。

掌握更多面试精题

关注更多精彩

Hbase的特性

数据热点问题

1、出现数据热点问题原因

出现数据热点问题的原因有:

HBase中的数据是按照字典顺序排序的,当大量连续的Rowkey集中写在个别的region,各个region之间数据分布不均衡; 创建表时没有提前预分区。创建的表默认只有一个region大数据存储系统,大量的数据写入当前region; 创建表已经以前预分区,但是设计的Rowkey没有规律可循,设计的Rowkey应该由regionNo + messageId组成。

2、如何解决热点问题

解决数据热点问题目前有两种方案:Hash和Partition。

1)hash方案

hash就是rowkey前面由一串随机字符串组成,随机字符串生成方式可以由SHA或者MD5方式生成,只要region所管理的start-end keys范围比较随机,那么就可以解决数据热点问题。

2)partition方案

partition顾名思义就是分区式,这种分区有点类似于MapReduce中的Partitioner,将区域用长整数作为分区号,每个region管理着相应的区域数据,在rowkey生成时,将ID取模后,然后拼上ID整体作为rowkey,这个比较简单,必须要取样,splitkeys也非常简单,直接是分区号即可。

数据读取

客户端一次从服务器拉取的数量

通过配置一次拉去的较大的数据量可以减少客户端获取数据的时间,但是它会占用客户端内存。有三个地方可进行配置:

在 HBase 的 conf 配置文件中进行配置 hbase.client.scanner.caching; 通过调用HTable.setScannerCaching(intscannerCaching) 进行配置; 通过调用Scan.setCaching(intcaching) 进行配置。三者的优先级越来越高。

掌握全面的知识体系和丰富的项目经验

还需系统性的学习 线上学习通道已开启

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!