学习分布式数据库的一点建议

k8s技术圈

共 2550字,需浏览 6分钟

 ·

2021-03-21 15:37

最近陆陆续续在后台看到一些关于分布式数据库的留言,讨论热度确实挺高,我也忍不住来说两句。

 

想到在去年 5 月 20 日,数据库“世界杯”TPC-C 公布,支付宝自研分布式数据库 OceanBase,获得 7.07 亿 tpmC 的超高性能得分,较去年提升了整整近 11 倍,再次超越 Oracle ,刷新世界纪录。

 

这个消息在当时无疑是让人震惊的,这意味着 OceanBase 可能成为全球最快的数据库,要知道一直以来,TPC-C 榜单都是老牌巨头在竞争,长期被 Oracle、微软和 IBM 为首的数据库厂商和硬件厂商霸榜。

 

但可能有些人会疑惑,分布式数据库到底是什么?为什么这么强大?它解决了什么问题?怎么突然就火了?

 

原因很简单,就是性能和可靠性。传统数据库,虽然能够将部分读负载分流到备机,但主要负载还在主机上。所以,早期的方案都是选择性能和可靠性更好的专用设备来做主机,比如 IBM 大型机。

 

但这有两个问题,一是大型机的技术体系封闭,和主流技术栈渐行渐远,甚至这些厂商自己的工程师都后继无人。二是,因为技术垄断,价格相当昂贵。多数普通企业都难以承受,而且,这少数的厂商都是国外的巨头IBM、HP等等。

 

所以,今天,IBM 大型机这样的专用设备已经不再是多数企业的可选项,而采用 x86 架构的通用设备在单机性能和可靠性上都不能满足要求,因此分布式架构就成为了一个必然的选择。

 

正是分布式数据库的这些优点,近几年,阿里、腾讯、字节跳动、美团等互联网巨头,以及传统金融、商业银行、电信行业等都已经开始使用,可以说,分布式数据库已经成为一种技术潮流,甚至是新基建的一部分。

 

比如,除了 OceanBase 现在每年双十一大促都要秀一下性能之外;还有 TiDB 在努力培育市场,技术社区做得有声有色;GoldenDB 已经随着中信银行的新一代核心业务系统上线投产,目前也在平稳运行;其他分布式数据库包括 CockroachDB、YugabyteDB、TBase...等更多产品,可以说是百花齐放了。

 

除了庞大的市场需求,一个普通的程序员,为什么要学习分布式数据库?在我看来,最重要的是可以通过学习它的设计思想,提高自己的架构设计水平和代码能力。分布式数据库是学术研究与工业实践的完美结合,深入其中你会看到很多极致的设计方法,这将为你进阶架构师铺平道路。

 

有什么办法,能学明白分布式数据库呢?

 

很多人可能会觉得,作为“分布式”和“数据库”的跨学科产物,它在事务、原子性、隔离性等概念复杂;而且主流产品众多,该怎么做技术选型也很令人头疼。

 

确实如此,所以我也一直在网上找资料,但都非常零散,直到我前段时间看完了极客时间王磊的专栏《分布式数据库30讲》,我还挺满意的。


这个专栏从大家比较熟悉的单体数据库出发,对比学习,剖析了主流产品的运行机制和理论依据,横向比较它们的差异,分析这些技术决策背后的动机,能帮你快速建立起对分布式数据库全面的认知体系。

 

👆扫我的二维码,免费试读

结算用口令「Happy2021」,再减 ¥10

到手 ¥69,仅限「前 500 人」有效

 

说到作者王磊,我想简单介绍一下。他现在是光大银行首席数据架构师,前 IBM 咨询顾问。在数据领域有超过 15 年的工作经验,2013 年,他推动了光大银行从传统数据仓库向大数据生态的转型,主导了大数据开发平台、数据中台等多个重要系统的架构设计工作,是大数据技术在金融行业的第一批践行者。

 

讲真,我还是非常喜欢这个专栏的。因为我从他的经验中,在架构设计上获得更多的启发。可能有很多朋友还是不知道该怎么学,不过,用老师自己的话说就是,学习的关键字在于:找出分布式数据库的学习路径,抓住它的核心内容。

 

那怎么找到这条学习路径呢,这就得从数据库说起了。一个基本运行的数据库要做好五件事,存储、事务、查询、复制和其他。对分布式数据库来说,不仅要继续做这五件事,还要多出一件事,分片。在这六件事中,存储和其他这两件事与单体数据库差不多,难点就在事务、查询、复制和分片这四件。 

        

分享王磊梳理的一个「分布式数据库学习要点图」,可以帮你避免一下子就陷入安装部署、操作指令等细节中,摆脱学完以后还是不知道产品原理、碰到没见过的问题依然是束手无策的窘境,需要的同学可以保存下来看看。


我来讲讲这门专栏是如何讲解分布式数据库的吧?这个专栏可以说非常系统了,总共分为 3 个方面:

 

夯实基础,建立整体认知

概念篇:顾名思义,主要介绍分布式数据库的基本概念、主流产品的架构框架和一些基本功能,以及分布式数据库设计的难点。


从问题到解决方案,再到产品实现

开发篇:会和你从分布式事务、跨节点查询、单体数据库的特性这三个维度出发,带你深入到一个个关键功能的设计中,挖掘其背后可选择的理论设计方案,分析方案之间的差异,以及工业界产品在方案落地实现时的改进。

 

选型实践 + 产品图鉴

实践篇:会聚焦于架构选型,告诉你在企业中引入分布式数据库需要关注哪些事情、做些什么准备,比如会给运维带来哪些冲击、怎么去做测试,基于什么原因你要选择哪些分布式数据库。最终,为你梳理一份分布式数据库产品图鉴,带你一起检阅这个时代最酷的基础软件。


来看看目录,你可以找到你想要的👇

             

订阅福利

 

👇扫我的二维码,免费试读

结算用口令Happy2021」,再减 ¥10

到手 ¥69,仅限「前 100 人」有效


 

走心的努力,才算真的努力。2 杯奶茶的价格,拿下这套分布式数据库方法论,值了👇

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报