Google Cloud SQL for MySQL的”Enterprise”和”Enterprise Plus”版本

  • 最近,Google Cloud SQL(Google云上的RDS)做了一次大的产品调整与发布:将原来的Cloud SQL分为了两个版本,分别为”Enterprise”和”Enterprise Plus”版本。本文概述了两个版本的异同,以帮助大家更好的了解Google Cloud SQL。

    关于”Enterprise”和”Enterprise Plus”版的Cloud SQL实例

    整体上:

    • Google Cloud SQL相当于AWS或阿里云平台的RDS,Cloud SQL for MySQL就相当于AWS RDS for MySQL
    • 这次调整之后,原来的Cloud SQL for MySQL/PostgreSQL全部变更为Enterprise版本,价格和产品本身没有什么改动,只是名称发生了变化
    • 新增的Enterprise Plus版本提供了更高的产品能力,例如通过硬件/软件优化提供的Data Cache能力,可以提升MySQL的读取和写入性能;Enterprise Plus还提供了更大的规格、更灵活的CPU/内存配比等能力
    • Enterprise Plus资源的价格比Enterprise版本贵约30%,Data Cache空间是额外计费的
    • 本质上,猜测,Enterprise Plus使用了更新更强的机型,具备非常强的本地存储能力(本地可能使用NVMe SSD或者其他存储设备),在数据库层则利用该能力使得用户获得更好的读与写的能力
    • 从产品发布节奏来看,今年GCP(Google云)增加了在Cloud SQL上的投入,这一点与阿里云现在应该是比较类似的。而在以前,在Google数据产品体系中,Spanner、AlloyDB或者BigTable才是投入最大的产品,而Cloud SQL似乎不受重视。现在大概发现,无论Spanner、AlloyDB架构多领先,最简单的Cloud SQL才一直都是更多用户的首选。
    • 这次更名调整,感觉是比较混乱的。对于Cloud SQL for MySQL来说,”Enterprise”和”Enterprise Plus”之间的区别还是比较明显,一个有Data Cache、另一个没有。但对于PostgreSQL来说,两者的区别更像是对资源多少的使用的一种简单限制(最大规格、cpu内存比、PITR的时间限制等)。另外,当前SQL Server又并不区分这两个类型。所以,整体给人感觉比较混乱。而像AWS Aurora新增一个I/O-Optimized选项的做法可能会更简单一点。GCP这种”化简为繁”做法,也许和业务的压力有一定的关系,更像是为了概念而做的产品决策,最终让用户对混乱的产品名称和定位买单,这种事情在大公司的企业级产品中,还是经常出现的。事情做不了什么突破,那么就在产品名称上做一些突破吧(这是一段不负责任的“臆断”,谨慎参考)。

    当前,”Enterprise Plus”使用了特殊性能优化的机型,版本仅支持最新的MySQL 8.0、PostgreSQL 14、15版本。更具体的,该版本:

    • 最大规格可以到128vCPU、864GB内存
    • 对于MySQL,具备Data Cache能力,即通过本地高速SSD设备的降低读写性能
    • 同时为了提升性能,对实例的参数做了更多的自适应调整

    产品价格

    再来看看Enterprise和Enterprise Plus实例的价格对比。这里以单节点、东京地区CPU/Memory价格对比:

    单节点/东京/小时价/USDEnterpriseEnterprise Plus
    per vCPU$0.0537$0.0698
    Memory per GB$0.0091$0.0118
    Data Cache Storage Per GBN/A$0.0003

    可以看到,Plus版本价格价格大概贵了30%,此外,Data Cache还需要额外收费。另外:

    • 如果是双节点高可用实例的话,价格都需要翻倍。
    • 实例的Data Cache的容量大小是与实例规格固定搭配的,用户不能配置,例如,8vCPU/64GB实例对应的Data Cache大小就是375GB。

    更多关于Data Cache

    Data Cache不仅提供了本地SSD能力,还扩展了数据库的Buffer Pool。如果启用了Data Cache,那么读请求则会先从内存读取,然后是Data Cache,最后才是实例存储。数据写入时,也会同时写入一份到Data Cache中。

    打开DataCache

    Data Cache是一个可选项,需要在实例创建时打开。打开选项略有一些隐蔽,具体的:在创建实例时,可以在自定义配置(Customize your instance)下面的Machine Configuration中打开,参考下图:

    最后

    海外的三个主要的云厂商(AWS、Azure、GCP)都有一些个性的。AWS做的最早,产品名称比较规范也算是行业事实标准,但是Azure和GCP在产品命名上都不怎么”尊重”这个行业老大,例如Azure的RDS叫”Azure Database For x”、Google云则叫”Cloud SQL for x”。

    现在各家也在不断增加在数据库上投入,随着时间推移,以至于,各家的产品形态也越来越不同了,这对于用户来说的,是比较混乱的。而如果用户想在多个云之间切换,其成本也是在不断增加,这大概也是各家云厂商的潜在目标之一吧。

    Leave a Reply

    Your email address will not be published. Required fields are marked *