分享

【SDCC讲师专访】王义林:双十一海量数据下京东的分布式数据库实践

 君临天下129 2016-11-15

2016年11月18日-20日,由CSDN重磅打造的年终技术盛会,SDCC 2016中国软件开发者大会将在北京举行,大会面向国内外中高端技术人员,聚焦最前沿技术及一线的实践经验,从而助力企业的技术升级和改造、全面提升技术人员的综合实力。十二大专题鼎立,大咖荟萃,一触即发。

大会将至之际,我们有幸采访到高吞吐数据库架构专题的王义林老师,他将在本次大会上带来主题为《分布式数据库CDS-原理与实践》的演讲。采访中,他围绕一些大家关心的问题分享了自己的观点。

图片描述

京东金融杭州研发中心数据库中间件研发高级技术经理 王义林

王义林,任职于京东金融,负责数据库中间件研发工作,在职期间带领CDS研发团队推出了多项数据库相关产品,包括:CDS分库分表中间件、作业平台、离线数据中心、数据管道平台、分布式事务服务。

以下为采访正文

CSDN:请先和大家介绍下您和目前所从事的工作,以及关注哪些技术领域?

王义林:京东金融数据库中间件研发团队主要从事CDS(Completed Database Sharding)分布式数据库的研发 。CDS具有高性能、高可靠的读写特性,在京东金融各业务线被广泛使用,接受了双11和6.18的峰值考验。实现的作业平台、数据中心,解决了数据拆分后的运维、扩容问题,支持多维度查询。 数据管道服务已经发布了1.x和2.x版本,满足了基本的数据准实时复制需求,我们当下正全力研发数据管道平台3.0,它将满足数据库同城、异地复制、BI数据实时数据采集、数据监控实时采集等需求场景,是多机房多活的关键部件。

CSDN:对您而言,加入京东金融团队是否有什么特殊的意义,这对您的技术人之路又有什么样的影响?

王义林:我加入京东前,在一家行业软件公司框架研发部门,已经经历了多年平台、基础框架的研发磨练,具备了一定的战略性和前瞻性思维能力,同时对架构设计的理论有了比较透彻的理解。但是京东金融是互联网金融行业,公司多条业务线, 发展阶段也各不一样,但对数据存取的高可靠、高性能需求是一样的。项目从无到有,必须高质量持续交付,它是挑战更是机遇。我们扛过了第一个项目的平稳上线压力,第一次在不中断业务的情况下平滑上线了项目,扛过了6.18,双11的峰值压力。我们团队也随之发展壮大,同时也肩负起更大的责任。

数据是业务的生命线,始终铭记于心。也告诫团队同仁:写的每一行代码都需要经过深思熟虑,测试用例代码量更是达到基本代码量的4倍之多。数据存取没有小事

CSDN:作为京东金融自主研发的分布式数据库件,CDS的产生背景是怎么样的,团队研发这样一个分布式数据库的动因是什么?

王义林:2014年,京东金融业务量的急剧增长和线上产品的不断丰富,就需要研发出符合互联网金融特点的基础中间件、基础平台, 京东金融杭州研发中心为此而成立。为了满足互联网金融高可靠、高性能的数据存取需求,CDS孕育而生。

CSDN:目前京东金融主要在使用的数据库有哪些,它们在整个系统中各自扮演着怎样的角色?

王义林:在行业去IOE大环境下,公司业务模块基本都是通过CDS分布式数据库来存取数据的,数据库服务实例主要是MySQL,也有几个业务是Oracle数据库。

CDS数据中心满足了数据拆分后的多维度查询需求,数据中心是基于对ES+HBase的代理封装,所以HBase我们也在用。

CSDN:随着交易量的逐步扩大,对数据库访问及存储的要求也越来越高,在这个过程中CDS研发团队是否遭遇过发展的瓶颈阶段,相应的实践策略是什么?

王义林:CDS研发之初,就考虑到要满足业务服务海量数据存取的需求,支持分库分表、读写分离,具有水平扩展能力,因此暂时没有遇到发展瓶颈。

为了平滑实施CDS集群扩容,不中断业务服务,我们相应的研发了数据迁移工具、数据管道服务。 扩容控制台集成了存量数据迁移、增量数据同步,以及路由规则在线推送等扩容实施步骤,也可以自动化调度。

CSDN:在高并发场景下,CDS在功能特性方面有什么样的优势?

王义林:经过了几次双11峰值压力的考验,CDS的稳定性、可靠性得到充分展现。CDS分布式数据库,主要优势是产品线功能全面,初步形成分布式数据库生态圈。除了满足线上业务高吞吐访问需求;也有MyDB统一查询工具满足了业务开发人员查询验证数据的需求;通过CDS数据中心,满足了后台运营系统多维度查询,统计需求;为了满足业务服务高可用性的需求,我们研发了平滑实施分库分表、分片集群在线扩容的实施方案。异地多活是我们下一步需要攻克的难关。

CSDN:您目前还会关注那些新技术?和大家分享一些学习建议吧。

王义林:数据存取的技术范围真的特别广大,不好建议什么,还是要根据自己公司的业务场景、发展阶段去选型技术架构。

就我本人目前正在研发Oracle、MySQL的数据实时复制相关的技术,主要是为了实现业务服务异地多活的功能特性。再者,处在互联网金融领域,我也在关注区块链的技术发展。

CSDN:可以介绍一下您在本次SDCC 2016·北京站,将要着重分享的内容吗?

王义林:这次分享主要讲解了高性能数据存取的设计步骤、注意事项;同时会介绍一下CDS分布式数据库的原理, 以及会分享CDS在京东金融的成功实践:平滑实施分库分表。我觉得这些还是对大家有参考价值的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多