辽宁十一选五qq群|辽宁十一选五复式表

首页 | 财经 | 资源 | 理财 | 考研 | 职场 | 论文 | 资格 | 股票学院 |

股票学院: 股票入门 - 股票知识 - 股票术语 - 炒股技巧 - 选股技巧 - 跟庄技巧 - 炒股经验 - 投资策略 - K线图 - 均线 - 分时图 - 成交量 - 波浪理论 - 基本面分析 - 心理分析 - 涨停研究 - 趋势线 - 江恩理论 - MACD - KDJ - 技术指标 - 财经股票书籍在线阅读 - 金融类书籍下载 - 银行学院 - 保险学院 - 外汇学院 - 债券学院 - 股票学院 - 基金学院 - 港股学院 - 黄金学院

当前位置:天下金融网 > 金融云 > 文章正文

不中断业务,腾讯10P+金融数据跨机房迁移实战

时间:2019-03-13 12:36:54来源:DBAplus社群作者:佚名

 一、HBase知识介绍

考虑到来听分享的大部分都是MySQL DBA,因此这里做了个简单的HBase相关介绍,主要介绍了如下三个方面的内容:

1、HBase简介

HBase是基于google bigtable的开源实现,又称为hadoop database,具有高?#38405;堋?#39640;可用、易伸缩等特点,是一个面向列的分布式存储系统,可以在廉价PC Server的机器上搭建海量存储服务。

随着数据量的不断增大,查询和写入的?#38405;?#24182;不会出现明显的下降,可以说是目前各大企业构建数据中心很好的选择。

不中断业务,腾讯10P+金融数据跨机房迁移实战

2、HBase的优缺点

HBase的优点

总结了HBase的几个优点如下:

  • 列可以动态增加

其实更准确的说,HBase是面向列族的数据库,一个表可以有多个列族,而每个列族下面可以有非常多的列,也就是说列族下面的列可以动态增加或者减少。

  • 卓越的写入?#38405;?/li>

HBase采用的是LSM类型系统结构,写入都是先写内存,后面再异步批量刷新到磁盘,因此写入?#38405;?#38750;常好。并且这?#20013;?#20837;?#38405;?#24456;容易通过扩容机器提升。

  • 海量存储

HBase就是为海量存储而生的,由于其优秀的架?#32929;?#35745;,使得数据量的不断增长,在查询时延方面并不会下降特别多。因此HBase在海量数据的场景下,优势非常明显。

  • 极易扩展

HBase由于其架构的特性(后端采用HDFS存储,借助ZK的相关特性),HBase极易扩展,通过添加节点,来增加存储量和提升写入?#38405;埽?#20351;得HBase极具伸缩性。

HBase的缺点

总结了HBase的缺点如下:

  • HBase原生不支持SQL

HBase原生并不支持SQL,业务接入HBase需要通过接口做一些改造,这在一定程度上还是不太友好。虽然目前有一些组件也为HBase提供一些接口支持,比如phoenix。但是就我们的测试来看,稳定性仍然是一个很大的问题。

  • 查询延迟比DB大

HBase比较多的应用是通过廉价的PC Sever构建海量存储服务,而目前DB的标配基本都是SSD盘,DB的延迟可以做到0.x个毫秒,而基于廉价PC Server构建的海量存储服务的延迟一般在几十毫秒到上百毫秒之间。

当然HBase?#37096;?#20197;采用SSD盘来构建海量存储,但这种成本就比较高。目前HBase已经支持了异构存储功能,可以将热数据存储到SSD,冷数据存储到SATA,这是一个很好的方案。

  • RegionServer单点

运维过RegionServer的同学都可能深有体会,表的某一个region只能分配到某一台RegionSever的机器上,因此,当某一台RegionServer异常的时候,上面的Region肯定会有影响,尤其是当一个RegionServer上有超过1000个region的时候,影响可能会达到几分钟。这个单点的问题还是一个比较大的?#37319;恕?/p>

目前HBase2.0版本已经引入了Region Replica的支持,但是由于需要更多的资源和强读一致性的问题,业界真正在生产环境使用这个功能的非常少。比较多的是采用集群容灾方式,在业务层做切换,目前我们就是采用这种方式,以减少单个RegionServer异常对业务造成影响。

3、HBase架构

HBase的架构图如下:

不中断业务,腾讯10P+金融数据跨机房迁移实战

上面是比较经典的HBase架构图,偷个懒,直接借来用一下,从图中我们可以看出HBase的架构层?#20301;?#26159;很清晰的。可以把这个架构分成三层来看(暂时把Zookeeper和Master忽略):

第一层:客户端层

客户端层主要是业务发起的地方,可以是写入发起端,?#37096;?#20197;是业务查询端,这个比较好理解,就是HBase的调用方。

第二层:RegionServer层

RegionServer提供所有访问层的功能,你可以简单地理解为那一层是路由层、缓存层、引擎层等。所有对HBase的读写请求都需要经过RegionServer层。

第三层:存储层

HBase底层采用HDFS作为存储层,所有的数据都存储在HDFS,前面说的HBase极具伸缩性,很大程度?#31995;?#30410;于底层采用的HDFS存储。

4、一个DBA都能理解的HBase使用场景

上面讲了那么多,那么HBase到底是怎?#35789;?#29992;的?

其实HBase可以用在很多的场景中,比较消息订单、时序DB、对象存储、推荐画像等。这里讲一个DB最能理解的使用场景,那就是存储需要长久保存的海量历史数据。

比如:对于金融数据,由于监管的要求,至少需要保留5年,对于支付的订单、支持流水等数据,本身数据量非常大,并且历史数据还有查询需求。

这种数据如果保留在关系型的DB中,历史DB的扩容、迁移、维护,还有访?#24335;?#20250;是DBA的噩梦。但是如果这种数据保留在HBase中,就会非常的方便。

二、HBase跨机房迁移

1、背景及挑战

背景

这次HBase跨机房迁移的背景是机房裁撤,必须在规定的时间内把HBase集群?#30828;?#25764;机房迁移到新机房。

挑战

针对这次HBase跨机房迁移,我们主要面临如下几个挑战:

  • 经验缺乏

在做这次迁移之前,我们团队缺乏HBase大规模数据迁移经验,而?#26131;?#24049;之前主要做MySQL数据库相关的工作,对HBase也只是做过一些研究,实战经验并不多。只能摸着石头过河。

  • 业务不能中断

由于是金融业务,业务上是不能出现中断的,因此,必须确保此次迁移?#20132;?#36827;行。

  • 数据一致性

金融数据必须保证数据的准确?#38498;?#19968;致性,数据不能少,也不能错。数据一致性我们始终是放在最重要的位置上。

  • 数据量大

此次迁移涉及到10P+的数据,并且不能影响现有的业务,这本身就是一个蛮大的挑战。

2、方案选型

相关阅读

焦点图文

关于我们 | 广告服务 | 商务合作 | 网站地图

版权所有 Copyright(C)2018-2020 苏州骐云跃网络科技有限公司,未经授权禁止复制或建立镜像,否则将依法追究法律责任!
声明:我们不做任何形式的代客理财及投资指导,凡是以天下金融网名义做股票推荐的行为均属违法!
广告商的言论与行为均与天下金融网无关!股市有风险,投资需谨慎。
苏公网安备 32050502000166号
苏ICP备14018528号
商务合作:联系我们

天下金融网版权所有
辽宁十一选五qq群