BDS定位
BDS是阿里云针对开源HBase在同步迁移过程中的常见难点,自主研发的一套数据迁移平台。其核心能力在于协助HBase集群实现无缝迁移、主备容灾、异地多活、在线离线业务分离、数据归档,以及对接RDS的实时增量数据。简单来说,就是让云上客户能够在自建HBase、EMR HBase、Apsara HBase之间便捷地进行数据导入与导出,从而围绕HBase构建高可用且灵活的业务系统。
使用场景
BDS在云上主要覆盖以下几个典型应用场景:
新旧集群无缝迁移
使用范围
当需要进行HBase大版本升级(1.x升级到2.x)、集群配置升级、网络切换(经典网络切换至VPC)、异地跨机房迁移或业务拆分时,BDS都能提供有力支撑。
业务流程

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

借助BDS,可以将在线业务数据实时同步到离线集群,再通过Spark、MR等大数据组件进行离线数据分析。这样一来,在线业务的查询完全不受干扰,数据分析与生产业务各自独立运行。
主备容灾
业务流程

BDS在主备集群之间实现实时数据的双向同步。一旦主集群出现异常,可以立即切换到备集群,最大限度降低对业务的影响。待主集群服务恢复后,BDS还能自动补全遗漏的数据,确保数据一致性。
RDS实时数据同步到HBase、Phoenix
业务架构

通过BDS将RDS数据实时同步到HBase集群,可以结合Spark、MR等组件进行离线数据分析,同时不影响在线业务;还能利用HBase对动态列的支持,将MySQL中多张表合并为一张HBase大宽表,避免RDS中的join查询;此外,BDS也可作为RDS的历史库方案使用。
BDS优势
功能性
支持跨版本的数据迁移和同步(HBase ↔ HBase、Phoenix ↔ Phoenix);对于同构数据源迁移,支持同步建表语句并保持分区一致;支持异构数据源的实时数据同步(RDS → HBase、Phoenix)。
迁移同步对业务方无感知
可实现不停服数据迁移,历史数据迁移与实时增量同步同步进行;对业务端应用代码零侵入,业务方完全无感知。
迁移同步对业务影响小
迁移过程中基本不直接与集群的HBase交互,仅读写HDFS;可动态调整迁移速度与并发度,避免对业务产生冲击。
正确性
确保数据不丢失;提供数据抽样校验功能,保障数据一致性。
稳定性
具备完善的failover机制,能自动处理常见错误;提供实时系统监控,便于定位上下游问题;对需要人工介入的异常进行报警;错误重试支持断点续传。
高效性
单个节点迁移速度可达100MB/s,节点数支持水平扩展,TB、PB级别的数据迁移也能轻松应对。
总结
BDS已经在阿里云正式上线,主要服务于云上客户在自建HBase、EMR HBase、Apsara HBase之间的数据迁移与实时同步。目前已经服务了40多个客户,帮助实现了集群无缝迁移、升配、主备容灾,累计迁移数据规模超过400TB(单副本)。如有云上迁移需求的客户,可参考《BDS服务介绍》中的详细说明。对BDS实现原理及方案感兴趣的朋友,可以查阅《BDS-HBase数据同步方案的设计与实践》一文。
