分布式数据库从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

11|实现:基于HBase的手机云服务数据存储设计

你好,我是彭旭。
前面几节课,我们探讨了 HBase 实现分区弹性伸缩,优化实时随机存取性能,以及实现高可用的方法。HBase 的这些特性解决了手机云服务系统的运维需求、成本需求和高性能需求。为云服务采用 HBase 作为新的存储方案提供了理论上的支撑。
这节课我们再来看看,如果采用 HBase 作为新的存储引擎,系统架构设计是怎样的,过程中又可能遇到什么问题。
这节课会复习到前面讲解过的如何基于业务场景设计 HBase 行键,如何优化列限定符来减少存储空间。同时,我也会讲一个新的知识点,HBase 如何实现跨集群数据的实时复制,完成单元化、集群数据汇总分析。

单元化与数据备份

你应该还记得我们讲云服务需求的时候有提到,多机房的目标本来是单元化,也就是每个机房能够独立提供服务,具备数据的完整性。但是因为 MySQL 使用 SSD 存储,导致了巨大的成本压力,最后每个机房只存储了一部分的数据,所有机房加起来才是一份完整的数据。这样其实没有做到真正的单元化,而且数据也没有多机房的容灾。
其实使用 HBase 作为新的存储引擎后,这几个问题很容易就解决了。
首先,HBase 可以使用机械硬盘存储,使用编码与压缩,也能较大地压缩数据存储空间。这样整体的存储硬件成本至少能够减少 50%。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. HBase作为手机云服务数据存储引擎,解决了多机房数据单元化、成本压力和高可用性的问题。 2. HBase集群间replication采用数据源推的方式,防止数据的循环复制。 3. HBase为复制提供了至少投递一次的语义,但无法保证数据更新的顺序不变。 4. HBase2.1以后提供了串行化复制的能力,保障数据的有序性。 5. 行键设计需要做到让数据均衡分布,同时将查询条件尽可能融到行键里面,提升数据读取效率。 6. 行键选用用户ID+UUID读写成本会更低,而且排查问题的时候,更容易找到数据。 7. 数据迁移过程分为了3个阶段,保证出问题了能够随时回滚。 8. HBase的复制能力实现了多机房的单元化,每个机房都存储了一份完整的数据,可以用来做灾备。 9. HBase存储的模型设计主要在表如何分区、行键如何设计上,避免热点区间的同时,将查询条件尽可能的融到行键上.

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库从入门到实战》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部