前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记--Hbase

学习笔记--Hbase

作者头像
屈定
发布2020-02-10 17:13:16
3140
发布2020-02-10 17:13:16
举报
文章被收录于专栏:屈定‘s Blog屈定‘s Blog

后面做的项目估计要使用到Hbase,因此做知识储备。个人学习路线为参考慕课网相关教学视频,然后翻看Hbase权威指南,并未做很深的原理剖析。

本次学习还有一些其他收获:

1. 传统RDBMS的扩展思路是什么?

传统关系型数据库一般早期是主从结构,一是数据安全的备份,二是读写分离分担主库压力,随着数据量的增加增加从节点,进一步降低主库压力,这些是建立在读远远大于写的情况下一种常规做法,在随着业务量的上升,终极解决方案是分库分表,分库分表解决了单一主节点写入的问题,可以把数据分散到多个主节点中,当然分库分表页带来了诸多的限制,比如事务,跨表或者跨库join。那么造成这些的根本原因是关系型数据库很难做到分布式,所以大家都是从应用层想办法解决数据库性能问题。

当然目前类似TiDB这样的分布式关系型数据库正在崛起,相信以后能够解决这些问题。

2. Hbase分布式的思路

Hbase并不是一个关系型数据库,其面对的场景时海量数据,所以吞吐量是它的目的。高吞吐量自然要使用分布式方案来解决,在Hbase架构中存在一个轻量级master节点,以及众多的region server节点,master只负责集群的管理以及分配工作,数据访问以及写入都通过region server节点进行处理,这是一种设计思路,region server与master可以理解为非强依赖,即使master挂了在短时间内也不会影响客户端的数据访问,而本身master节点又是轻量级,因此挂了快速重启即可,另一种思路就是主备master,当主master挂了之后切换到备用master,当然这样又使得应用本身复杂性增加了不少。

多个region server节点用于承担数据读写请求,那么就涉及到数据分片,Hbase与Redis很类似,其都有一个唯一的key标识,利用该值可以做sharding,Redis是最初就分为16000多个槽,然后数据分散到不同的槽当中,对于Hbase则动态的分配region,每一个region处理不同的分段rowKey,当region过大则动态分裂。

下面是本次学习笔记,后面有其他理解会在笔记中补充。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档