数据库 SERVERLESS 与 RDS 产品逐步淘汰 和 云数据库的价值

bf9bb7eabe0b4c8797ba722a4b86e411.png

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共790人左右 1 + 2)

Serverless  是一个在云端较热的话题,云上的数据库也都在进行SERVERLESS 化,RDS OR  POLARDB ,但是这就提出一个问题,数据库都能进行serverless 吗,如有些数据库不能serverless 原因是什么,Serverless 对数据库有什么影响,是良性的还是良性的呢? 

首先serverless 提出于云上的概念,serverless 是一种云计算执行的模式,通过云服务提供商运行和扩展应用所需的基础设施,在这种模型中,开发人员可以专注编写代码,无序担心底层服务器的资源问题,serverless 最早的出现的意义在于将管理服务器的责任从上层,移动到下层,针对使用的资源付费,而在不需要资源的时候,资源会自动进行协调。

而首先推出SERVERLESS 的产品的如 AWS lambda,  Google Could functions , Microsoft Azure functions. 这些产品早期的目的也是为了开发人员在测试方面进行工作,以为测试的主机并不是很重要同时也不是满负荷的工作,尤其在非测试阶段等。

20a7a6aefe26770bb0d4af3ef96ec280.png

那么为什么又牵扯进来 RDS 的数据库产品呢,主要的原因是serverless与数据库之间的匹配度的问题, serverless 本身并不是一项技术,而是一个概念,而概念的实现到了技术层面本身就有各种限制和方式,RDS 数据库产品对于 serverless 在实现上限制较多,主要体现在以下几点

1  弹性的扩展能力差:serverless 场景一种关键点是应用负载具有显著的波峰和波谷,当面临洪峰的时候,需要及时的快速的扩容,在波谷的时候,需要快速的有效的缩容,而在扩容和缩容的情况下,对于业务不应该有卡顿和影响,RDS 的产品很难做到对业务的100% 的无影响。

2  运维复杂度高: 以MYSQL为例,基于MYSQL的复制机制,以及数据库本身对于内存和CPU的使用的方式等,在进行SERVERLESS 时考虑的点较多,很难做到全面顾及,这就导致在有些云上的数据库对于SERVERLESS的部分,在早期的版本很难做到让人满意的 SERVERLESS 。

3  成本优化的目的无法达到:这也是一个问题,基于传统数据库形成的RDS 产品部分资源很难做到SERVERLESS 如内存方面,这也就导致早期的SERVERLESS 产品很难做到有很大的成本优势,同时在磁盘成本方面目前的RDS 产品也很难有突破。

而截至目前,基于SERVERLESS 部分的准确的在数据库上的概念还未有行业的准确定义,这里简单的根据部分产品的定义来看看什么是在数据库上实现的 SERVERLESS 

887d01e44cd4c9d0c169c8d14b7207a1.png

1  根据数据库负载,来自动进行弹性的扩容,主要为云上的数据库的费用计算和资源合理化使用来做出相关的工作。

2  按量计费,基于我使用多少,我付多少钱的原则,让云上的数据库产品像自来水一样

3  运维投入低,数据库在出现问题的大部分情况是由于资源的问题导致的,在这样的情况下数据库可以自动进行扩容,则会避免掉大面积的由于资源导致的问题。

上面我们大概了解了什么是SERVERLESS 以及SERVERLESS 数据库 产品的一些特点。目前各大云运营商提供的SERVERLESS 数据库主要有那些

AWS Aurora Serverless, 

Azure Cosmos DB,

Google Cloud Firestore

Alibaba  Cloud Tablestore

基于这些数据库产品主要的特点有以下的几个部分:

1  automatic scaling 

2  multiple data models

3  strong consistency

4  high availability

5  global data distribution 

而我们可以发现以上的一些特性,在我们的RDS 产品是无法完全做到了如在MYSQL 里面 3 4 一看就无法完全做到 更不要提 5 ,而innodb buffer pool 的动态调整也仅仅是在 后期的MYSQL中,2 也就不用提了,所以RDS 的MYSQL 产品在实现以上的特性是有困难的,这不是云开发这本身的问题,这是MYSQL 就不属于云产品  scale in scale out 特性的范畴,或者只能进行很少一部分的  serverless 的功能。所以这才有了本片的题目RDS 是一个将被淘汰的产品。

但这里会引出一个新的问题,也就是云厂商应该考虑的后续问题,谁做好这个问题,谁的云上产品就很有可能大卖。

这里总结了几点:

1   不是RDS 的云产品,一定在云下有对应可以进行迁移和替换的产品,这点是非常重要的,如我们在使用云原生的数据库产品,领导最多问的一句话就是,如果我们不使用云了,那么我们可以自己搭建数据库来满足应用吗,如果那个云厂商也提供线下的产品,那么就形成了一个产品的体系的闭环,让使用产品的公司和人士,不会因为害怕被绑架,而连第一步进入云数据库都不愿意。(同时线下更具有包容性的数据库产品,和性能类似云上的产品是具有下云后的产品力,更容易被选择)

2  RDS 的云产品,到底你的卖点是什么,如果用你和 MYSQL POSTGRESQL 一模一样,性能一样的,那么结果是什么,你随时可以被替代,你一定要有自己的特点,虽然你是 RDS OF MYSQL  RDS OF POSTGRESQL 但你一定有解决客户痛点的 RDS 产品,而不是仅仅是复刻,这里简单提到  POSTGRESQL 的 RDS 产品,目前这样的RDS 产品的差距还是有的,主要集中在 ,要用的 EXTENSION 没有,要进行更智能的PG 命令执行被限制等等,这些问题,使用起来并不方便等等,如果这些问题能解决,那么 PG RDS 一定比 MYSQL RDS 要好,因为本身在线下 MYSQL 的灵活性 就不是PG 的对手。线上的PG 应该放大这个部分,而不是因循守旧。

当然如果要放大,必然有投入,这就是另一个话题了。

3   终究 RDS 的产品在云上会逐渐变成一个附加品,和云上公司比拼的都是各家的云原生产品,而如果能把别家的云原生也容纳到自己的云,把自己的云做成一个平台,而不是 独我其谁的泰式,那么必然这个云平台能做大做强,云做的就是包容性。

当然我有点站着说话不腰疼,这些都要巨量的投入,和其他的云进行沟通,想要做成一个平台也是很难。

但数据库人,需要了解一个问题,云时代的数据库,他必然不是ORACLE ,MYSQL ,SQL SERVER , 和 单纯的PG ,他应该是一个更新的更符合云产品要求和客户需求的产品,而这个赛道,必然也是火热的 ,国际化的竞争,比国内的国产数据库,更有看头,更有商业价值,必然都是刀刀见血。

参考文章

https://www.alibabacloud.com/zh/knowledge/what-is-serverless

https://aws.amazon.com/cn/rds/aurora/serverless/

487841fd2256d9c40c62ae85f49719da.png

1d16e61739bf3ca8d7586cbdeb8d07f7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值