专栏名称: 51CTO
51CTO官方公众号——聚焦最新最前沿最有料的IT技术资讯、IT行业精华内容、产品交流心得。本订阅号为大家提供各种技术干货,还会不定期的举办有奖活动,敬请关注。
目录
相关文章推荐
新浪科技  ·  【#DeepSeek如何变成真正生产力##专 ... ·  7 小时前  
新浪科技  ·  【#复工首日DeepSeek婉拒所有采访# ... ·  2 天前  
新浪科技  ·  【#小米SU7Ultra实车到店##小米SU ... ·  2 天前  
新浪科技  ·  【#雷军称SU7Ultra车标是金的#】去年 ... ·  2 天前  
新浪科技  ·  【#小鹏推出5年0利息0首付政策#】 ... ·  2 天前  
51好读  ›  专栏  ›  51CTO

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

51CTO  · 公众号  · 科技媒体  · 2017-08-08 11:44

正文

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 实施中,也都大致经历了类似的四个阶段。

第一阶段

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


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

第二阶段

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


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

第三阶段

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


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

第四阶段

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


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








请到「今天看啥」查看全文