宜信韩锋:70后数据库老司机分享他17年的工作经验

原创
CIOAge 数据库运维
数据库只是一个数据的存在形态,数据可存放在库里,也可以是大数据平台,也有可能是其它形态。新的硬件技术、大数据、人工智能、云计算会为数据库的发展提供一种可能性。但是未来,它究竟发展成什么样,现在就很难下定论了。

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

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

 

IT老兵韩锋

[[198726]]

***次见到韩锋的时候,他穿的很随意,这也是大多数IT人员的常态。1999年毕业的他,在IT圈里已经算是一个老兵了。在职业发展初期,一直从事软件开发工作后来逐步对数据库产生了浓厚的兴趣在工作后的第七年,韩锋做出了一个决定,从软件开发转型为DBA。最开始的数据库基础运维开始,到后面的优化、设计、架构。现在主要精力是从事与数据相关的架构、开发、管理工作。

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

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

数据

 宜信的转型之路

 

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

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

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

数据库方面,主要以MySQLMongoDBRedis为主。

大数据方面:使用了HiveHBaseESSparkStormImpalaKafka等。

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

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

      数据库方面,公司越来越多业务考虑用开源数据库解决方案特别是MySQL,也包括一些RedisMongoDBNoSQL方案

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

 

数据库迁移的启示

 

作为数据库的一个老兵,韩锋经历了很多很多。他特意强调,数据是企业的命脉,数据库的重要性如何强调都不过分。他以一次数据库迁移为例,向我们说明了DBA工作的不容易及给我们带来的种种启示。

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

实施计划。具体实施计划要尽可能的详细、完善。例如,有很多应用会连接到数据库,但有些IP地址并不在登记信息范围内因此,在迁移准备期就需要注意排查。工作是非常消耗精力的也表明先前工作存在不完善的地方

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

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

在正式迁移前,团队大概一周演练一次,前前后后演练了四五遍,每次都是半夜去演练。演练完之后立即做好记录,包括它的操作步骤,一步一步地去细化,***形成一本厚厚的迁移文档。***,真正迁移的时基本上不敲命令只需把脚本粘过来就可以了

 

数据管理方法

数据

韩锋再次强调,在过去,专利、技术或者运营模式是企业的命脉,未来数据也是命脉之一,如果企业没有掌握数据只能被动发展,所以数据管理就显得尤为重要了。对公司而言,数据不仅仅只保存在数据库中,它可以存在不同的地方,以各种形态存在可能是一个文件,可能是多用户上传的资料片、图片,还可能是用户的一些语音。这些数据不仅它的位置是分散的,形态是不一的,价值也是不一样的。

      面对纷繁复杂的数据,如何进行数据管理呢?首先,企业管理者要对数据高度重视;其次要做的是对数据进行摸底,了解它们在哪里,存在形式,以及价值;***才能涉及到数据管理问题。

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

自上而下。传统的企业,银行、证券、金融类往往会这么做。即成立一个类似于建模室或者数据模型部门这样的组织,然后会有专业的人帮助他们做模型设计,做规范。这样的办法对数据的控制力度会很大,但是,会有些不灵活,而且人力投入过高。

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

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

以上这些方法放到宜信中都会有问题。宜信不像传统企业,它的发展速度比较快,所以会有大量的业务需要变动用自上而下就行不通;而自下而上大都用于单一业务系统,这些是基于数据仓库的,而宜信的数据仓库没有统一;很多开发宜信是不建模的,所以从中间做数据建模也很难。

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

 

DevOps在宜信数据库的应用

[[198727]]

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

***阶段,“文档/标准化”阶段

      这一阶段,往往是企业经过了初期的“人肉”模式后,随着规模的扩大,运维遇到很多问题。因此,原有的手工操作被逐步规范下来,形成操作标准,并通过文档化的步骤,将标准沉淀下来。后续操作,人员只需要遵循文档即可。通过这种方式保证了运维的质量,提升了响应效率;

第二阶段,“脚本/工具化”阶段

尽管在***阶段,实现了指定标准文档化,但运维工作仍然需要大量人工成本。当运维量进一步增大后,如何减少手工操作,加快运维效率成为重点。因此,在这个阶段,将文档化的标准操作,通过脚本或者工具的形式固化下来,可以大幅提升运维效率;

第三阶段,“自动/平台化”阶段

虽然通过工具脚本是可以完成运维工作,但仍然需要人工触发。为完成某一具体运维场景,往往需要人工执行一系列的脚本或工具调用,这也耗费了大量人工成本。为了进一步提升效率,考虑引入平台自动化。通过梳理运维工作,将一系列工具、脚本整合到统一的平台中,即可完成整个运维操作,甚至可与监控等系统联动,实现自动化运维动作;

第四阶段,“智能/云化”阶段

这一阶段更多是从运维智能性及资源提供的形态角度出发。在自动运维的基础上,通过引入智能分析能力,可预测故障发生,主动采取运维动作。可评估整体资源使用,更合理地分配使用资源等等。至于云化,由于是将基础设施抽象出来,在运维层面能提供更大的灵活度,可更好的满足业务快速发展及***化成本收益。

 

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

 

所谓的大数据是什么?

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

 此外,很多的数据库越来越偏重于大数据,大数据也在向数据库学习。传统数据库里面有一些大数据的技术,大数据也会被镶嵌到数据库里面传统数据库积累了三、四十年,对数据的精确掌控程度远远超过大数据平台,从单位生产效率来说,大数据平台要低于传统数据平台。所以现在大数据平台要学什么?要学优化系统怎么做,学更精准地找到数据,发现数据。

 ***,他认为,数据库只是一个数据的存在形态,数据可存放在,也可是大数据平台,也有可能是其它形态。新的硬件技术、大数据、人工智能、云计算会为数据库的发展提供一种可能性。但是未来,究竟发展成什么样,现在就很难下定论了。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:吴金泽 来源: 51CTO
相关推荐

2017-08-30 16:23:00

半月刊

2011-06-27 14:56:49

SEO

2015-07-15 09:53:16

程序员开发类工具

2018-01-15 15:22:15

Java开发经验面试

2012-05-21 10:13:12

Linux系统管理

2009-06-04 13:29:36

面试主考官工作经验

2011-10-17 13:06:00

2023-01-26 19:36:10

中间件系统架构

2016-03-17 10:49:40

wot干货大数据

2015-09-08 09:38:11

2018-12-04 09:07:36

运维问题排查

2017-12-12 18:10:30

程序员工作经验技能

2017-12-26 15:30:06

Java程序员技能

2019-04-24 13:28:17

大数据大数据开发可视化

2018-03-13 08:48:26

java程序员技能

2009-06-23 08:18:21

工作经验IT人才

2018-01-19 10:23:02

前端Web工作经验

2019-09-04 14:13:25

工作经验离职

2009-09-13 22:35:12

ASP.NET数据库

2018-08-02 16:46:58

51CTO技术栈公众号