云原生:从小池塘到江河大海
云原生数据库在海外被称为「Cloud-Native Database Systems」,前面译成中文就是「云原生」,理解云原生先要理解两个关键词——「云」和「原生」。
在传统数据库的系统架构下,必须是紧耦合的设计方式,才能最大效能地发挥系统的优势。举个生活中的例子,过去每家每户会根据用水量打一口水井使用,这与传统的数据库系统使用计算、存储资源的方式一样,但它是紧耦合的方式。如果水不够了怎么办?对应的,这就是传统数据库系统里经常提到的业务扩容。在金融行业,数据库系统扩容通常需要提前几个月甚至半年去做规划,进而细致部署、缜密实施,上线——灰度——再验证,一整套流程就是为了扩容、缩容。传统扩容过程非常漫长,而业务高峰过后缩容也很痛苦,往往会造成极大的资源浪费,也很难应对业务层需要的快速变化能力,这是传统架构非常大的弊端之一。
如果清楚这些概念和背景就很好理解云原生了。「云」就是使用虚拟化的技术将资源池化。水是资源,不用紧耦合的方式来部署和使用,不用家家户户打水井,而是整个村庄联合起来“打”一个湖或池塘,再修管道连到各家各户,这就是资源池化。资源池化以后可以做到按需按量使用,弹性调度,甚至还可以将资源进行解耦,比如,将厨房当作一个计算节点,水当作存储节点,可以随时切换,如果这个厨房不够了,通过系统调度,可以快速拉起另外两三个厨房做计算。这就是云原生核心逻辑,将不同类型资源解耦,并进行池化。让原来的一口口独立水井,在背后合并成一个看不见的江河湖海。具体的,比如在云原生的计算存储分离架构下,业务节点可以根据需要自由地对计算、存储进行快速的扩缩容等操作。
可以看到,云原生带来的本质性变化就像水井和池塘,随着池塘不断变大,越来越多应用迁移上云,池塘不再是池塘,而变成了江河大海。云原生带来的最大技术红利以及经济红利就是规模化应用后带来边际成本下降效应,因此向云原生技术演进的趋势自然发生并且非常清晰,无论用公共云还是专有云私有化部署。这个边际成本下降效应体现在产品上,客户就会因此受益,TCO也一定会下降。