BDS定位

BDS针对开源HBase目前存在的同步迁移痛点,自主研发的一套数据迁移的平台,用于HBase集群的无缝迁移、主备容灾、异地多活、在线离线业务分离、HBase数据归档、对接RDS实时增量数据等等。目的在于帮助阿里云上客户解决自建HBase、EMR HBase、Apsara HBase的数据导入导出,从而方便云上客户围绕HBase构建高可用、灵活的业务系统。


使用场景

BDS在云上目前主要有以下几个使用场景:

  • 新旧集群无缝迁移

  • 在线离线业务分离

  • 主备容灾

  • RDS实时数据同步到HBase、Phoenix


新旧集群无缝迁移

使用范围
  • HBase大版本升级, 1.x 升级 2.x

  • 集群配置升级

  • 集群网络的切换,经典切换VPC

  • 异地跨机房迁移

  • 业务拆分

业务流程


在线离线业务分离
业务架构

通过BDS,将在线业务数据实时同步到离线集群,结合Spark、MR等大数据组件进行离线的数据分析,从而不影响在线业务的查询。


主备容灾

业务流程

通过BDS在主备集群之间实现实时数据的双向同步,当主集群出现问题,可以切换到备集群,尽可能减少对业务产生的影响,当主集群服务恢复之后,通过BDS同步服务补齐主集群遗漏的数据。


RDS实时数据同步到HBase、Phoenix

业务架构

通过BDS将RDS数据实时同步到HBase集群
  • 结合Spark、MR等大数据组件进行离线的数据分析,从而不影响在线业务的查询

  • 利用HBase支持动态列的功能,将mysql中多张表构建成一张HBase的大宽表,避免在RDS中进行join查询

  • 做RDS的历史库


BDS优势

  1. 功能性

    1. 支持跨版本的数据迁移和同步,HBase <-> HBase、Phoenix <-> Phoenix

    2. 对于同构数据源迁移,支持同步建表语句,保证分区一致

    3. 支持异构数据源的实时数据同步,RDS -> HBase、Phoenix

  2. 迁移同步对业务方无感知

    1. 不停服数据迁移,同时搞定历史数据迁移、实时增量数据的同步

    2. 对业务端应用代码无侵入

  3. 迁移同步对业务影响小

    1. 迁移过程中基本不会和集群的HBase交互,只读写集群的HDFS

    2. 可以动态调整迁移的速度和并发读

  4. 正确性

    1. 保证数据迁移的不丢失

    2. 数据的抽样校验

  5. 稳定性

    1. 有完善的failover机制,能够自动处理常见的错误

    2. 实时系统监控,方便定位上下游的问题

    3. 报警机制,对于一些需要人为介入的异常进行报警

    4. 错误重试支持断点续传

  6. 高效性

    1. 单个节点迁移速度可达到100MB/s,节点数支持水平扩展,能够满足支持TB、PB级别的数据迁移


总结

BDS已经在阿里云上线了,方便云上的客户在自建HBase、EMR HBase、Apsara HBase之间进行数据的迁移和实时数据同步。
在云上已经服务40多个客户,帮助客户实现集群之间的无缝迁移,集群的升配,主备容灾,数据迁移同步规模达到400多T(单副本)。
云上有迁移需求的客户,可以查看《BDS服务介绍》,或者联系侧田:

https://help.aliyun.com/document_detail/120883.html

对BDS实现原理及方案比较感兴趣的朋友,可以查看《BDS-HBase数据同步方案的设计与实践》:

https://yq.aliyun.com/articles/704977



©著作权归作者所有:来自51CTO博客作者mb5fdb0a6739180的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. HBase抗战总结|阿里巴巴HBase高可用8年抗战回忆录
  2. HBase服务|阿里云HBase推出普惠性高可用服务,独家支持用户的自建
  3. 学习HBase,你需要这样一本书
  4. 浅析集群会话绑定tomcat cluster session
  5. 软件架构-zookeeper集群部署与快速入门
  6. 浅聊云迁移方法
  7. 一个云迁移项目应该有哪些文档
  8. gitlab迁移及迁移后500问题
  9. Ryft Cloud迁移到AWS EC2 F1实例上来了!

随机推荐

  1. linux学习笔记(三)
  2. [转]Android(安卓)WiFi 电源管理
  3. 羊老姆上线:抄起键盘就编译JDK源码,结果上
  4. 函数的学习
  5. rollup是面向library的?!
  6. lerna入门指南
  7. react-redux源码解读
  8. Web Components
  9. 微信公众号自动回复图文消息
  10. JAVA虚拟机体系结构