伴随着云计算、分布式技术的逐步落地,近十年来数据库的形态发生了很大变化,各类数据库不断涌现,数据库架构也随之演进。在云时代下,企业该如何选型并构建数据库架构?如何应对业务上云带来的数据迁移挑战?数据库有何“新解”?DBA的未来发展趋势如何?
今天为我们解答以上问题的嘉宾,是来自货拉拉的DBA负责人蔡鹏老师。希望通过汇集蔡鹏的研究成果和实践经验,带大家明确新数据库时代,DBA的个人发展之路。
蔡鹏
货拉拉 DBA负责人
前饿了么、蚂蚁金服技术专家,现任货拉拉数据库部门负责人。负责货拉拉全球化业务场景下整体数据库、消息队列、缓存、数据库中间件的稳定性建设工作,主持过饿了么数据库异地多活建设,对数据库库中间件、分布式数据库和自动化运维平台设计开发有丰富的实践经验。
主要观点
数据库进步、颠覆传统DBA、塑造行业
云数据库进入百家争鸣的时代,云商间的激烈竞争,再加上现实的业务需求,迫切需要促进数据库技术的进步。近几年业内涌现出了大量新式数据库,这些新式数据库,一方面对传统关系型数据库做了大量改进优化(分布式、云原生等);同时在新硬件能力加持下(我们看到了恐怖的几百核心CPU、超高容量高性能的存储),数据库性能进一步飞跃甚至“性能过剩”。数据库形态的改变正在深刻的影响整个IT行业,相信新技术下DBA也有新机会。
Q1如何理解:云时代,要让研发具备DBA的能力?
个人理解:让研发具备DBA的能力,本身是“开云时代的倒车”。因为云本身,不管是在屏蔽底层基础设施的稳定性上,还是在自身产品内核的完善建设上,都具有更强的容错及兼容能力,因此云不仅要提供一个稳定的基础设施,更是屏蔽了诸多研发过程中的一些复杂性、容错性,让研发更加注重对业务自身的建设上。
不管是在云时代,还是自建时代,研发都需要对数据库本身做一定程度的理解,比如合理的设计范式、结构设计、索引设计、SQL写法等,但是我们也看到云数据库越来越智能化,甚至能对SQL智能改写、索引自动优化做到了很高程度的自动化,这进一步削弱了研发对数据库本身的关注度。
但凡事也有例外,比如数据库类型越来越多,不同场景可能使用不同类似的数据库更加具有优势,过去这种选型由DBA来主导完成。基于云DB对研发复杂度的屏蔽,研发可以根据自己对云数据库产品的理解程度,进行合理的选型,不过这里面是有潜在的风险的。
比如早期货拉拉就有类似的实践:研发自行做了很多数据库选型,最终导致的结果是服务治理失控,同时也带来很严重的业务风险(比如一条数据既写MySQL,又写MongoDB,跟ElasticSearch最后还要刷一份到Redis缓存,有吐血的修数据历史)。因此这部分工作仍旧需要DBA来指导完成,因为DBA在这方面相对而言会有更好的大局观。
Q2云时代的DBA职责有什么转变?应该提前做些什么?
职能转变:
①数据库的可靠性稳定性在云能力加持下不在是核心工作比如部分SLA的工作由云来保障;
②如何科学合理的使用云能力赋能业务在架构设计方案规划、节约成本显得更重要。
提前准备:
①在对云的理解上:对云产品进行积极学习,了解各家云的套路玩法;
②个人能力建设上:需要加强复合多元化的能力建设,做到懂数据库、懂平台、懂研发、实现DBA到架构师的转变。
Q3云时代,企业IT设施呈现集中化、规模化效应,对效率、性能的要求提升,我们对云数据库产生了哪些技术新需求?
数据库发展至今基本在满足用户无止境的既要(高性能)、又要(稳定性)、还要(可扩展性、可运维性等)的“过分”需求:
- 能力多元化需求上:AP+TP(HTAP)、行列一体化、SQL与NoSQL共存、持久与Cache共存、存储计算分离无限可扩容;
- 架构上:要求基于云原生的异地多活/容灾(两地三中心、三地五中心)能力;
- 治理上:更加智能化的自治能力;
- 成本上:越便宜越好(用户跟老板一样,总是不讲道理)。
Q4数据库存储未来分层的设计,有没有可能在混合云环境自由迁移或者自动迁移?实现的难点在哪里呢?
个人理解是很难的,实现的难点主要在云商间的壁垒,或者自身产品的封闭性与产品间的兼容性上:
- 云商壁垒:由于商业原因云商产品间存在天然的隔阂,云商间短期看不到相互产品间打通的需求;
- 产品封闭性:不同云产品底层技术原理不一致不公开,虽然只对用户层暴露了统一的标准协议,但是对实现跨云跨产品间的迁移,还是存在关键原理上的障碍;
- 产品兼容性:不同云产品,甚至在基础协议层,都不兼容跨云迁移的前置条件。
当然对于基础协议层兼容,比如常用的MySQL及其变种系列(Binlog格式兼容)的跨云迁移技术实现上,还是相对比较简单的,不管是借助云自身的能力(如DTS),或者自己开发一个迁移工具都是可行的、但是这种情况毕竟是少数。
不过随着未来数据库逐步往开源方向发展(封闭是没有未来的),这会促使更多技术人对云产品做更多深入的理解,这会给跨云间的数据迁移提供更多技术支撑,当然这对技术本身有很高的要求。
不过我也注意到:近几年出现了很多三方技术服务公司,专门提供云上各种解决方案,或许基于云会诞生一些新的商业机会,也是技术人技术变现的一种途径,这似乎也变相让“DBA消亡论”不攻自破。
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报