从七年的软件开发转型为DBA,17年数据库老司机的经验分享

2017 年 8 月 3 日 51CTO博客 谢海平

2012 年,正值 P2P 火遍中国的时候,宜信做为中国首家 P2P 平台,已经在这个领域耕耘了 6 年。2015 年美国时间 12 月 18 日上午 9 点 30 分,宜信公司旗下在线 P2P 网贷平台宜人贷正式登陆美国纽交所,成为国内互联网金融登陆海外市场的第一股。


宜信创建于 2006 年,总部位于北京,是一家从事普惠金融和财富管理事业的金融科技企业,在支付、网贷、众筹、机器人投顾、智能保险、区块链等前沿领域积极布局,通过业务孵化和产业投资参与全球金融科技创新,公司创始人兼 CEO 是唐宁。


以下内容是记者对宜信技术研发中心数据库架构师韩锋的采访。

第一次见到韩锋的时候,他的穿着很随意,这也是大多数 IT 人员的常态。1999 年毕业的他,在 IT 圈里已经算是一个老兵了。


在职业发展初期,他一直从事软件开发工作,后来逐步对数据库产生了浓厚的兴趣。在工作后的第七年,韩锋做出了一个决定,从软件开发转型为 DBA。


从最开始的数据库基础运维开始,到后面的优化、设计、架构。现在主要精力是从事与数据相关的架构、开发、管理工作。


17 年的 IT 生涯,他经历过传统软件开发商、通讯类外企、互联网企业、电商平台等多种类型公司。对他而言,丰富的职业经历,使他收益颇多。不仅仅是技术上,更多的是综合能力的提升。


除此之外,他还常活跃于各种技术社区。作为一个技术布道者,他也非常愿意将技术传播给更多的人。闲暇之余,他还笔耕不辍,将自己多年的心得汇集成书。


宜信的 IT 转型之路

韩锋介绍说,宜信作为一家金融科技企业,技术的重要性不言而喻目前公司 IT 基础设施及数据库等等,正处于如下阶段:

  • 基础设施的发展,走过了物理机、虚拟机、容器化到云化的过程。

  • 硬件平台上,计算层是以 X86 为主,存储层逐步放弃使用商业存储,改为分布式的解决方案,部分场景下也使用了超融合架构。

  • 数据库方面,主要以 MySQL、MongoDB、Redis 为主。

  • 大数据方面,使用了 Hive、HBase、ES、Spark、Storm、Impala、Kafka 等。


针对云战略层面,公司有自己的一些规划,目前仍以私有云为主,只将部分业务放在了公有云上,但仅限于少量的非核心业务。宜信也在筹划自己的金融云战略。


对于超融合技术,使用目的是为了提高宜信上线服务的效率。超融合可以提供很好的弹性,但其性价比并不高,且在弹性达到一定的规模后,会受到限制。在特定非发展阶段,如果中小型公司想快速扩张业务,用超融合还是比较合适的。


在数据库方面,公司越来越多业务考虑用开源数据库解决方案,特别是 MySQL,也包括一些 Redis、MongoDB 等 NoSQL 方案。


对于大数据领域,从早期传统的数据分析报表,到 BI 分析、数据挖掘、机器学习等等,宜信正在不断摸索实践,探索在金融领域如何提供更好的服务。旗下宜人贷的“极速模式”,正是风控模型在大数据领域的成功实践。


数据库迁移的启示

作为数据库的一个老兵,韩锋经历了很多很多。他特意强调,数据是企业的命脉,数据库的重要性如何强调都不过分。


他以一次数据库迁移为例,向我们说明了 DBA 工作的不容易及给我们带来的种种启示:

  • 详细的技术方案。在整个迁移过程中,最消耗精力的是梳理整个迁移流程:包括制定规范、迁移流程,跟所有相关部门核对方案。

  • 实施计划。具体到实施计划要尽可能的详细、完善。例如,有很多应用会连接到数据库,但有些 IP 地址并不在登记信息范围内。

    因此,在迁移准备期就需要注意排查。这一工作是非常消耗精力的,也表明先前工作存在不完善的地方。

  • 部门合作。与相关部门核对迁移方案、做好沟通、协调工作。

  • 做好预案。在迁移前,团队做了很多的预案,包括正常迁移流程,以及出现问题后备用的迁移流程,以及备用的回退方案。


在正式迁移前,团队大概一周演练一次,前前后后演练了四五遍,每次都是半夜去演练。


演练完之后立即做好记录,包括它的操作步骤,一步一步地去细化,最终形成了一本厚厚的迁移文档。最后,真正迁移的时基本上不用敲命令,只需把脚本粘过来就可以了。


数据管理方法论

韩锋再次强调,在过去,专利、技术或者运营模式是企业的命脉,而未来数据也是企业的命脉之一,如果企业没有掌握数据只能被动发展,所以数据管理就显得尤为重要了。


对公司而言,数据不仅仅只保存在数据库中,它可以存在不同的地方,以各种形态存在。它可能是一个文件,可能是多用户上传的资料片、图片,还可能是用户的一些语音。这些数据不仅它的位置是分散的,形态是不一的,价值也是不一样的。


面对纷繁复杂的数据,如何进行数据管理呢?

  • 首先,企业管理者要对数据高度重视。

  • 其次要做的是对数据进行摸底,了解它们在哪里,存在的形式,以及价值。

  • 最后才能涉及到数据管理问题。


常见的管理方法主要分为三类:

  • 自上而下。传统的企业,银行、证券、金融类往往会这么做。即成立一个类似于建模室或者数据模型部门这样的组织,然后会有专业的人帮助他们做模型设计,做规范。

    这样的办法对数据的控制力度会很大,但是,会有些不灵活,而且人力投入过高。

  • 自下而上。像很多互联网公司,通常会有自己的一套系统,针对业务模式自下而上进行管理。

  • 从中间出发。也有些公司,从开发入手,引进一些建模工具,通过它往上推出业务模式,往下构建物理模型。


以上这些方法放到宜信中都会有问题。宜信不像传统企业,它的发展速度比较快,所以会有大量的业务需要变动,用自上而下就行不通。


而自下而上大都用于单一业务系统,这些是基于数据仓库的,而宜信的数据仓库没有统一,很多开发宜信是不建模的,所以从中间做数据建模也很难。


目前,他正摸索一种适合宜信发展的数据管理方式,从大方向考虑,会选择从下而上的方法去做。出发点把公司内部数据中共享的、非独有的拿过来,然后再去收集各自领域的数据,最终逐步形成统一的数据视图。


DevOps 在宜信数据库的应用

韩锋将 DevOps 在宜信的应用阶段,简化为“四化工程”。所谓“四化工程”,是指如下四个层次。很多企业的 DevOps 实施中,也都大致经历了类似的四个阶段。

第一阶段

“文档/标准化”阶段:这一阶段,往往是企业经过了初期的“人肉”模式后,随着规模的扩大,运维遇到很多问题。


因此,原有的手工操作被逐步规范下来,形成操作标准,并通过文档化的步骤,将标准沉淀下来。后续操作,人员只需要遵循文档即可。通过这种方式保证了运维的质量,提升了响应效率。

第二阶段

“脚本/工具化”阶段:尽管在第一阶段,实现了指定标准文档化,但运维工作仍然需要大量人工成本。当运维量进一步增大后,如何减少手工操作,加快运维效率就成为重点。


因此,在这个阶段,将文档化的标准操作,通过脚本或者工具的形式固化下来,可以大幅提升运维效率。

第三阶段

“自动/平台化”阶段:虽然通过工具脚本是可以完成运维工作,但仍然需要人工触发。为完成某一具体运维场景,往往需要人工执行一系列的脚本或工具调用,这也耗费了大量人工成本。


为了进一步提升效率,考虑引入平台自动化。通过梳理运维工作,将一系列工具、脚本整合到统一的平台中,即可完成整个运维操作,甚至可与监控等系统联动,实现自动化运维动作。

第四阶段

“智能/云化”阶段:这一阶段更多是从运维智能性及资源提供的形态角度出发。在自动运维的基础上,通过引入智能分析能力,可预测故障发生,主动采取运维动作。可评估整体资源使用,更合理地分配使用资源等等。


至于云化,由于是将基础设施抽象出来,在运维层面能提供更大的灵活度,可更好的满足业务快速发展及最大化成本收益。

大数据已经不是新兴技术了

他说,大数据已经不是新兴技术了,所谓的大数据是什么?


韩锋认为,大数据是指在某一个阶段所面临的数据无法处理,把一种新的处理方式取名叫大数据技术,但是,对我们来说它只不过是一个数据处理技术。而大和不大,会随时间而不断变化,今天的大可能明天就不大了。


此外,很多的数据库越来越偏重于大数据,大数据也在向数据库学习。传统数据库里面有一些大数据的技术,大数据也会被镶嵌到数据库里面。


传统数据库积累了三、四十年,对数据的精确掌控程度远远超过大数据平台,从单位生产效率来说,大数据平台要低于传统数据平台。


所以现在大数据平台要学什么?要学优化系统怎么做,学更精准地找到数据,发现数据。


最后,他认为,数据库只是一个数据的存在形态,数据可存放在库里,也可以是大数据平台,也有可能是其他形态。


新的硬件技术、大数据、人工智能、云计算会为数据库的发展提供一种可能性。但是未来,它究竟发展成什么样,现在就很难下定论了。

作者:谢海平

编辑:陶家龙


韩锋

宜信技术研发中心数据库架构师

DBAplus社群原创专家,精通多种关系型数据库,曾任职于当当网、TOM 在线等公司,曾任多家公司首席 DBA、数据库架构师等职,多年一线数据库架构、设计、开发经验。著有《SQL优化最佳实践》一书。

精彩文章推荐:

登录查看更多
0

相关内容

数据库管理员(DBA)是负责管理数据库的人,负责在系统上运行数据库,执行备份,执行安全策略和保持数据库的完整性。因管理数据库是个很庞大的职务,每个公司活组织的数据库管理员的需要也是很不同的。
商业数据分析,39页ppt
专知会员服务
159+阅读 · 2020年6月2日
德勤:2020技术趋势报告,120页pdf
专知会员服务
189+阅读 · 2020年3月31日
智能交通大数据最新论文综述-附PDF下载
专知会员服务
104+阅读 · 2019年12月25日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
137+阅读 · 2019年12月12日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
金融风控面试十二问
七月在线实验室
20+阅读 · 2019年4月9日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
17+阅读 · 2018年12月21日
一张图理清电商后台产品模块,90%的电商类产品后台都适用
人人都是产品经理
8+阅读 · 2018年12月9日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Arxiv
4+阅读 · 2019年9月26日
Arxiv
3+阅读 · 2018年8月17日
Arxiv
4+阅读 · 2018年4月29日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关VIP内容
相关资讯
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
金融风控面试十二问
七月在线实验室
20+阅读 · 2019年4月9日
蚂蚁金服微服务实践(附演讲PPT)
开源中国
17+阅读 · 2018年12月21日
一张图理清电商后台产品模块,90%的电商类产品后台都适用
人人都是产品经理
8+阅读 · 2018年12月9日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Top
微信扫码咨询专知VIP会员