• 在上周,SQL Server 2022版本(16.x)正式进入公测状态,大家都可以下载并安装了。当前只支持Windows,被称为CTP 2.0版本(community technology preview ),包含了企业版的所有功能,可以试用180天。于是第一时间下载并进行了体验,一起来看看,新版本有哪些新的功能吧。

    01 全面支持与Azure云建立链接

    SQL Server 2022版本在复制与容灾、分析增强、S3存储兼容支持、Azure Arc、Azure Defender等方面,全面的与Azure云在建立链接。

    通过Azure Synapse Link for SQL(公测支持将SQL Server 2022版本与云端Azure Synapse Analytics无缝集成,从而实现分析、BI和ML等数据处理能力。还可以通过Azure SQL Managed Instance的Link功能,实现将云端实例作为本地SQL Server的副本,提供只读或者容灾使用。

    SQL Server安装时,可以直接安装Azure Arc agent;支持使用Azure AD进行数据库的认证;支持使用Azure Defender for SQL来保护SQL Server。

    支持了S3-协议的对象存储:从2012版本开始,已经支持了备份到Azure Blob Storage,2022版本开始支持到S3兼容的存储进行备份;同时,通过,PolyBase功能可以支持S3兼容存储的访问,支持使用T-SQL直接访问parquet文件的数据。

    02新增了账本数据库(ledger database)功能

    2022版本中,新增支持了ledger database功能,提供数据不可篡改的证明。其模式类似于AWS QLDB。具体的,在数据库所有记录的变更都通过递归哈希的Merkle tree记录(被称为Database digests),用户可以通过其他独立的存储保存该Database digests,独立存储可以使用Azure Blob Storage或其他写入后不可修改的存储中。在重要的审计、第三方商务流程记录等场景下,可以使用账本数据库对数据进行不可篡改的存储。

    03 持续提升数据库性能

    • 备节点上支持与主节点上一样的Query Store功能,帮助用户管理与诊断Query的执行计划相关的问题
    • 开始支持Query Store hints功能(注:之前仅Azure云端版本支持)
    • 增强了Memory Grant Feedback (MGF) 功能
    • 提升了大内存场景下的内存管理能力,避免OOM发生;提供了大内存场景下,内存池并行扫描的能力
    • 提供了参数-自感知缓存执行计划能力,帮助SQL Server自动化的处理由于参数分布带来的无法使用最优执行计划的问题
    • 创建表语句新增了XML_COMPRESSION选项,提供XML压缩能力
    • 提供新的硬件感知和使用能力,例如使用高级向量扩展指令集(Advanced Vector Extensions)
    • DOP功能提供新的参数DOP_FEEDBACK,帮助更加自动化管理DOP参数的配置
    • 提供了Cardinality estimation feedback,帮助定位由于基数预估不准确导致的性能问题
    • 提供了基于Query Store功能的强制执行计划选择能力

    04 持续增强可用性与可管理性

    • 提供了”contained availability group”,在AG层面提供了自己的元数据管理、并且包含了需要的一些系统数据库等内容
    • 支持了AG参数REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT的修改
    • 在SQL Server初始安装时,可以直接安装Azure Arc agent
    • 进一步优化了ADR功能(Accelerated Database Recovery),开启后数据库在异常恢复时能够更快,提升整体可用性
    • 提升快照备份能力,新增了使用T-SQL冻结IO操作
    • 新增参数降低数据库收缩(空间回收)是对数据库并发读写的影响
    • 新增了数据库级别变量实现异步的统计信息更新,以降低对数据库并发读写的影响
    • 支持数据备份到S3兼容的存储中,也可以直接从这类存储中恢复数据

    05 增强了数据库安全

    • 支持使用Azure Defender for SQL保护SQL Server
    • 基于最小权限原则,对于某些管理任务新增了新的内置权限与角色
    • 提供了更细粒度(包括database、schema、table或column级别)的UNMASK权限管理
    • 更好的支持了对秘钥(数字证书和秘钥)向Azure Blob Storage的备份
    • 支持新的TDS 8.0协议,兼容TLS 1.3
    • 增强了Always encrypted数据的加密查询能力,包括 JOIN, GROUP BY, and ORDER BY等

    06 其他功能与细节方面的增强

    • 新增更多的JSON相关的函数:ISJSON、JSON_ARRAY、JSON_OBJECT、JSON_PATH_EXISTS等
    • 新增了部分处理时序数据的函数,例如DATE_BUCKET、GENERATE_SERIES等
    • 新增SELECT…WINDOW语法
    • ALTER TABLE ADD CONSTRAINT支持中断后续执行
    • 新增部分聚合和字符处理函数:GREATEST、LEAST、STRING_SPLIT
    • Azure Data Studio、VS Code最新版本都开始支持SQL Server 2022;SSMS发布最新的19.0版本;

    总结在2022版本中,继续增加了性能、安全性、可管理性,最重要就是增强了与Azure云的联系,帮助用户用好本地数据库的同时,具备较为便捷的向Azure云端迁移的能力。相关参考阅读:

    > What’s new in SQL Server 2022 (16.x) Preview :

    https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2022?view=sql-server-ver16

    > Get SQL Server 2022 Preview Evaluation Edition

    https://go.microsoft.com/fwlink/?linkid=2162126

  • 重要更新

    腾讯云发布自研数据库KeeWiDB,兼容Redis :名称看起来有点奇怪,但应该是”K-V”的发音吧。能力上包括 (a) 使用了持久化内存,应该是optane,在性能有较好保障的情况下,扩展了内存空间 (b) 提供内存、持久内存、SSD三级自动冷热数据存储,降低Redis使用成本。与阿里云发布的Tair比较类似,Tair更加专注于不同版本解决不同的问题,性能增强型专注于解决更高的性能问题,持久内存型则提供较高的性价比,容量存储型则通过ESSD大大扩展存储空间。如果KeeWiDB提供的“自动分级”,那么还是一定程度上可以简化用户使用 。

    字节NoSQL团队发布Abase2–新一代高可用 NoSQL 数据库:Abase是字节内部自研高可用 KV 存储 ,支撑包括推荐、广告、搜索、抖音、西瓜、飞书、游戏等公司内几乎所有业务线的 KV场景。Abase2则新增了资源池化、多租户、多写、CRDT 的软硬件一体化的版本。除了内部使用,也在考虑在火山云上推出

    MySQL发布8.0.29版本之后,Xtrabackup备份会失败:由于新版本对redo log的修改不兼容之前的版本,所以会导致使用当前版本的Xtrabackup备份失败。Percona也在准备发布新的版本支持,如果后续生产环境使用8.0.29以及以后的版本,也需要注意对应的Xtrabackup也要升级

    阿里云彭祥成为MariaDB的voting board member:MariaDB一直是一个独特的存在,在中国市场的推广一直都不好,还需要更强的策略在中国市场才有更多机会,采访中提到站点镜像、用户组、Kubernetes operator等都是不错的机会点,不过对于改变中国MariaDB市场的现状的作用,还有待观察

    SQL Server 2022版进入公测阶段;PostgreSQL 15 Beta 1版本发布

    Cloudflare推出数据库服务D1:基于SQLite的云数据库服务,与Cloudflare自身的一系列云服务组成一个面向开发者的小的云产品矩阵。当前处于邀请测试阶段

    国家级数据云平台—“人民云”(www.peopleyun.cn)正式上线:基础技术平台由人民数据管理(北京)有限公司与北京世纪互联宽带数据中心有限公司共同构建。定位为大数据“存、管、用”的安全云、自主可控的信创云、国资监管的国资云、开放共赢的行业云。为全国各级各地党政机关、央国企及各行各业的数字化转型提供全生命周期服务及解决方案。

    更新详情

    • [阿里云] RDS PostgreSQL集成Babelfish支持SQL Server数据库的迁移
    • [阿里云] DTS新增支持Db2 for LUW到PolarDB MySQL和ADB MySQL的数据同步功能
    • [腾讯云] 云数据库 PostgreSQL支持了透明加密功能、支持了PostgreSQL 14版本 
    • [AWS] ElastiCache/MemoryDB for Redis服务支持JSON格式
    • [AWS] RDS MySQL/PG/MariaDB/Oracle开始支持db.m6i、db.r6i系列规格实例,在此之前6代实例仅支持基于AWS自研的Graviton实例
    • [AWS] Redshift新增快照隔离(Snapshot isolation)支持
    • [Azure] Azure MySQL(FS)托管服务的小版本升级功能GA
    • [Azure] 发布Azure MySQL(FS)发布80 vCore规格( Business Critical)
    • [Azure] Azure Synapse Link for SQL公测,帮助用户在Azure SQL Database、SQL Server 2022将数据迁移到Azure Synapse Analytics等环境
    • [Azure] SQL Database支持Ledger能力,可以通过一定验证过程确保数据不被篡改
    • [GCP] 支持使用Informatica Data Loader向BigQuery加载数据
  • 在上周的Google I/O大会上,GCP(Google云平台)正式对外发布了数据库AlloyDB(Preview版本)。这里对AlloyDB的架构也做一个较为深入的分析,看看与当前的云原生数据库PolarDB、Aurora有哪些异同。

    01 AlloyDB 整体架构图

    AlloyDB是GCP上的一个全托管的云数据库服务,当前完全兼容PostgreSQL 14,提供企业级的性能、扩展性与可用性。声称是标准PostgreSQL性能的4倍,AWS同类服务的两倍(应该是指RDS PostgreSQL和Aurora PostgreSQL),如果是分析查询,则可能有100倍的性能加速。另外,在介绍时,还特别提到,价格非常透明,这应该是针对当前AWS数据库大多数都对IOPS独立并按量计费而说的。

    根据当前资料,其整体架构如下:

    高清大图下载地址:

    https://cloud-database-tech.github.io/images/alloydb-arch-with-qr-code.png

    02 AlloyDB与Aurora、PolarDB有什么异同

    • 简单来说,其架构与现有的云原生数据库Aurora、PolarDB都非常相似。使用了存储计算分离,分布式存储提供了多节点挂载能力。分布式存储,会带来海量存储能力,以及非常强的IO吞吐能力;多点挂载,大大增强了数据库的读扩展能力,同时因为底层使用同一个存储,所以也不再有数据拷贝和延迟等问题。
    • 在实现上,体现了”the log is the database”,尽可能只传输日志,避免数据块的传输与复制。例如,计算节点与存储节点的不再传输数据块(当然,就多了一个日志应用的过程)。这一点与Aurora类似,但是PolarDB在日志下推上,做得比较少,而是选择将存储以”较为标准”的文件系统提供给计算节点,数据库本身的各个模块还是比较完整的,这带来的好处是,对数据库的侵入要稍微小一些,对于新版本的支持和不同的数据库的支持会更加简单和一致。Aurora和AlloyDB的这种做法,则是将数据库的解构更加彻底,将数据库的日志模块一定程度下沉到存储层。在AlloyDB在实现时,还将这个部分彻底的做了分布式,通过多个不同的日志处理进程(LPS)进行分布式并发处理。
    • 这种日志处理的下推,也让数据库在进行崩溃恢复的时候,相比传统的一体化架构要快非常多,也就让数据库所提供的SLA可以更高。因为没有checkpoint,也应该就没有什么fuzzy或者sharp一说了,后端的LPS进程会持续的将redo apply到本地存储,分布式存储上的数据块的版本总是非常新的。而不用像传统数据库,数据库crash后,所有的没有刷写到磁盘的脏数据块(内存中该数据库已经更新,但是还没有刷写到磁盘)都需要通过redo应用到最新状态,所以,传统数据库在崩溃恢复时总是需要一定的时间,而且内存越大,这个时间可能会越长。
    • 另外,AlloyDB的日志存储使用了较为独立的存储,也就是文中提到了”log storage”或者”log store”。考虑日志与数据块的读写特性都不相同,使用独立的存储在性能优化上,会更加有效。一般来说,日志写入通常是append-only的,而且是”同步”操作,需要非常低的延迟,另外,在AlloyDB的设计中,日志写入后,需要立刻读取并应用到数据块中。只需要将内存中已经更新过的数据块覆盖写入本地存储就可以了。而数据块的处理,通常来说是一个异步的过程(不阻塞数据库的写入),并且会有大量的随机读,这与日志数据的访问有很大的不同。这里的一个猜测是,日志存储和数据块存储可能使用同一套存储架构,但是可能使用面向不同场景的优化和参数,如果有Google的人,希望求证一下。
    • 计算节点使用了”ultra-fast cache”,猜测一下,可能是使用了与PolarDB类似的optane存储作为加速,虽然使用optane卡的场景不同。这也是另一个希望求证的点。
    • AlloyDB的数据块请求是带有LSN号的,而每个可用区(Zone)内都有完整的数据块,所以,在各个可用区的节点(可能是read replica)总是可以在本地可用区获得最新的数据块。也就是无需像Aurora使用的多数派协议,数据块的读取需要3份(写入四份,4+3>6),当然Aurora也对这里做了很多的优化(例如,通过一个bookkeeping记录写入数据和node的对应关系,尽可能将多数派读取变成一次单节点的读取[参考])。
    • AlloyDB下沉到存储的日志处理服务(LPS),也做了彻底的分布式。日志存储在一个底层的相对独立的日志存储中,日志处理服务则是一个分布式的、相对”无状态”的进程,因为也做了存算分离,所以有非常好的扩展性。另外,在日志处理的分片上,AlloyDB通过将底层的数据块分成一个个独立的分片(Shard,应该类似于PolarDB或其他系统中的chunk),每个分片由一个独立的LPS处理,一个LPS可以根据系统压力情况处理一个或多个分片。这样就通过分布式的方式解决了日志应用的问题。并且,这个日志应用是在各个不同的可用区独立运行。
    • 关于数据副本数量的问题:Aurora是3*2的副本设计,每个可用区两个副本,每次写入应该是3个副本,读取可能需要4个副本,这种性能应该比较差,达到的效果是宣传”AZ+1”的容灾能力,也就是一个可用区失败,再加一个副本失败,依旧可以恢复数据。在实现上,Aurora对于底层副本感知是要更强的,并与上层实现结合起来了。但是AlloyDB使用Google底层统一的存储,这里看到的数据分布在三个zone,有三个副本,但实际上,每个zone的数据是存储在一个分布式存储的,这个分布式存储数据的副本数情况,并没有对数据库暴露。这里可以猜测,可能是两个副本或者更多,对于数据库这里IO敏感型的应用,应该比较难使用EC算法去做去重。所以,实际上,一份数据,可能会有超过6份的副本数。
    • 另外,这里看到,Block storage部分是可以通过一些智能化的方式,对数据块进行分级,降低整体的存储成本的,这应该是底层存储的数据分层能力。

    03 AlloyDB的写操作

    这里通过一个写操作来看看,AlloyDB的整个处理流程。客户端通过TCP连接,连接到主实例,然后将变更SQL发送到主实例。主节点进行SQL解析、并在内容中更新数据和索引页,同时,准备好WAL日志。在事务提交时,则同步地将日志写入低延迟的日志存储,这些日志则会被日志处理进程(LPS)异步的消费并处理。

    存储层被分成了三个部分:日志存储、日志处理服务、数据块存储。日志存储本身是顺序写,并对写入延迟要求很高,会直接影响事务处理的性能。AlloyDB专门针对该模式/场景进行了优化,以提供一个高性能的、低延迟的日志存储服务。

    多个日志处理服务(LPS)则会根据”Shard”(一组数据库的数据块)机制,对不同的日志进行处理。先从存储层读取需要处理的数据块(随机读),然后将redo日志应用到这些数据块,并回写(持久化)数据块到存储中,并最终删除日志存储中的日志记录。

    04 AlloyDB的读操作

    读操作有两种情况,一个是从主节点提供服务,一个是从读节点(read replica)提供服务。如果查询所需要的数据都在内存中,那么就和单机的PostgreSQL实例一样,进行SQL解析、执行计划生成、查询执行,并响应用户。为了加速查询处理,AlloyDB在数据库中额外集成了一个”ultra-fast block cache”。

    如果,需要的数据块在上面的两级缓存中都不存在,则需要到存储中获取。在把请求发送给存储层的时候,需要附带把LSN(log-sequence number)号也作为请求的一部分,而底层存储则返回满足该LSN对应事务能够看到数据块。

    从整体存储层来看,LPS进程也会参与数据块的请求的处理。LPS进程也有自己的缓存,如果请求的数据块在这个缓存中,则会立刻返回给上层节点。如果,这里再次缓存缺失,则再向数据块存储读取数据块并响应请求。

    这里,LPS进程需要存储一个”列表”,用于记录日志已经提交,但是,还没有应用到底层的块记录。对于此类数据块的请求,则需要先完成日志应用再返回。虽然,此类情况不应该经常出现,因为如果是一个最近日志没有应用的块,缓存应该不太会把这样的页面清除。

    05 其他

    • 虽然是Preview,但已经是目前看到的最具诚意的Preview了:任何用户立刻就可以开通使用,并且给予了非常大的免费额度,具体的,计算节点每月免费不超过1.5万美元、存储节点不超过650美元的资源。
    • 另外,注意到,GCP会说这是一个”fully-managed, PostgreSQL-compatible database”,而不会过多的强调这是一个云原生的数据库系统。对于用户来说,这就是一个具备高性能、高可用以及高可靠的PostgreSQL。至于,是不是Cloud-Native的,Google似乎对于这个概念并不那么”感冒”。
    • 通过实现”non-disruptive instance resizing”、Vacuum优化管理、Crash Recovery的速度提升,这个服务推出就是99.99%的SLA。
    • 更底层使用的是Google内部统一的分布式存储层,经过Gmail、Youtube等大型系统的验证,性能/稳定性等经过了验证。这一点上,AlloyDB与PolarDB、Aurora是不一样的。PolarDB和Aurora都选择了实现自己面向数据库的分布式存储系统,而AlloyDB选择了更加通用的存储层,再面向数据库进行优化。这两个路线,客户价值都是直接的,但哪个方案的生命力会更加持久,可能需要几十年的时间去观察。
    • 与AlloyDB一起,GCP还推出一个Oracle到PostgreSQL的迁移服务,只是这个服务看起来推出的也比较仓促,比较困难的结构迁移部分,使用了一个第三方的开源产品来实现。一方面可以看到这个,迁移是非常重要的模块,另一方面也看到,这一块做起来其实比较难。从这里看到,AlloyDB考虑优先推出PostgreSQL版本的一个重要原因,是认为:Oracle数据库的迁移至关重要,且PostgreSQL是Oracle迁移的重要目标数据库。
    • 目前,发布的内容来看,关于数据库内部的并发访问/多版本管理的内容比较少,这部分应该是另一个复杂的点。期待后续的文章。

    06 一些已知的不确定的点

    • ultra-fast cache是什么介质?如何被使用?
    • 对于其他zone(非primary节点所在的zone),他的WAL日志(在log storage上)从哪里获取?WAL一定是具备跨zone的容灾能力的,这里WAL的容灾是在数据层去做的(日志写时写两份或者三份),还是log storage去做的?
    • 与上面的问题相关的另一个重要的问题,LPS进程是全局的还是属于某个Zone的?
    • log storage是针对日志场景专门进行优化的,其模式是,append-only、延迟敏感并直接影响效率,这里的疑问是,做了哪些优化?

    如果有Google的同学,可以一起讨论一下。

    参考

    • AlloyDB for PostgreSQL under the hood: Intelligent, database-aware storage
    • AlloyDB for PostgreSQL
    • Introducing AlloyDB for PostgreSQL: Free yourself from expensive, legacy databases
  • 阿里云RDS已经发展超过十年,在演进的过程中,其架构和规格已经变得比较复杂,本文尝试通过一张架构图,较为完整的概况RDS所支持的主要的架构类型、规格,帮助开发者从高可用、成本、可靠性等角度选择适合自己业务的RDS类型与规格。

    1. 阿里云RDS的架构与规格大图

    下图从高可用类型、数据可靠性、资源复用率、规格大小、规格代码等角度,较为完整的概况了当前RDS主要的架构与规格:

    从高可用区架构上,分为单节点(基础版)、双节点(高可用版)以及三节点企业版、集群版(仅SQL Server AlwaysOn)。从资源共享与隔离上,则分为通用型、独享型、共享型和独占物理机(可以理解为是特殊的独享型)。从磁盘使用上的不同,则分为云盘版和本地盘版。

    当前,RDS最大规格为104核CPU,768GB内存。其中通用型,最大为12核CPU;共享型最大为32核CPU。

    (more…)
  • 在4月底,阿里云RDS Serverless正式公测发布。第一时间申请了公测资格,并进行了测试验证。测试完成后,还是非常期待这个功能的商业化的,当前的公测版本也值得开发者们去了解和小范围(例如开发测试环境)尝试。

    00 什么是RDS Serverless

    RDS Serverless是一种独立于按量付费、包年包月的资源使用与计费模式。提供了一种自动化的弹性扩缩容的规格,用户无需提前选定固定规格,后端会根据系统压力进行自动升降配,并根据实际使用计费,当然,用户需要设置该规格最大和最小规格,限制最大、最小使用资源与费用。

    对于峰谷明显的业务系统,该模式一方面可以在需要时提供很高的资源规格应对压力,另一方面可以在低峰时降低资源使用,降低成本。

    01测试结论概述

    • 整体上,该Serverless版本的升/降配速度非常快,约10秒完成压力检测与变配,升配时性能表现非常平稳,降配时性能比较平稳。
    • 具体的,在系统压力突增时,约10秒内就可以完成检测与变配,完成升配后系统压力立刻得到一定程度的缓解;与之前的Aurora Serverless v2测试中,升配的时间是差不多的,都是10秒以内
    • 在系统压力下降时,降配的速度也非常快,约10秒完成检测与降配操作。另外,需要注意的是,当前的版本,因为降配非常快,也导致降配后,性能出现了一些波动,持续约10秒,波动幅度从约8毫秒的响应时间增长到30~50毫秒,在两次降配之后,都出现这样小波动。相比,Aurora降配更加“保守”,观测了50秒,之后才开始降配。在降配之后,Aurora的性能依旧非常平稳,没有任何波动。也就是说,降配过程中清除出内存池的数据页都是确确实实不再使用的,这里可能需要深入的观测InnoDB的Buffer Pool收缩时的表现,避免将可能使用数据页清理出内存。
    • 目前只支持基础版(单节点实例),应用场景还比较有限,不过对于开发测试环境,种类可用性要求没那么高,且性能峰谷明显的场景,是可以轻松节省超过50%成本的,而且在实际使用时,性能还会非常不错(最高扩展到8*RCU)。
    • 当然,现在阿里云RDS Serverless还是刚刚公测,申请公测资格通过后,可免费创建2个体验实例,最大规格为8*RCU,即约8c16g内存的实例,免费周期3个月,算是不错的羊毛了,具体的,可以通过RDS MySQL购买页找到公测申请链接。

    02 测试方法说明

    整体的测试方法与之前做Aurora Serverless v2类似。首先,启动一个单线程sysbench,作为测试“主进程”,程序运行900秒,在“主进程”运行300秒后,再启动一个“压力进程”(24并发的sysbench进程)向系统施压,该进程运行300秒后退出,在这个过程中,我们观测”主进程”的rt变化,以及整个过程中,实例规格的变化(依旧以buffer pool为指标)。更详细的描述可以参考:实测Aurora Serverless v2

    03 测试结果与分析

    3.1 整体过程

    • 下图黄点代表主进程每秒RT的变化;”蓝点”(连成线)代表秒级别buffer pool的变化。左侧纵坐标为响应时间,单位为毫秒;右边纵坐标为buffer pool大小,单位为GB
    • 在第300秒,“压力进程”给出额外压力之后,系统开始升配,经过三次升配之后,到最大规格
    • 在第600秒,“压力进程”退出,经过了4次降配,降级到最低规格

    3.2 升配过程

    从如下放大的图可以看到,在“压力线程”启动的第300秒,“主线程”的响应时间立刻增长到了300ms。

    • 该实例在之后的7秒内完成升配,实例响应时间也立刻降了下来,降到约75毫秒
    • 之后,再过10秒(约第317秒),完成了第二次升配,实例响应时间再次下降,约到30毫秒
    • 再过约10秒(约第328秒),再次升配,但是此时响应时间不再有什么变化

    3.3 降配过程

    • 第600秒,压力进程退出,约11秒后,完成降配。但是,在第15秒性能出现明显波动,持续10秒
    • 第650秒,完成第二次降配,4秒后性能出现波动,持续约5秒
    • 第670秒,再次降配,性能再次波动,并出现一个异常点,响应时间非常大(约200ms)
    • 之后,系统平稳运行

    04 其他

    • 当前RDS Serverless处于公测阶段,没有SLA保障,且仅支持基础版、区域支持也有限,虽然降配和升配都比较快,也比较稳定,但是还不适合生产环境。
    • 当前,实例规格区间为0.5~8 RCU,最大规格也还比较小。
    • 在这次对比测试中,也发现,相比AWS,阿里云在同一个可用区的网络延迟是更低的,仅5~10ms,而Aurora同可用区响应时间约为15~20ms。
    • 据了解,阿里云今年还是会在这个方向加大投入,还会有一些大的版本和改进发出来,拭目以待吧。

  • 重要更新

    Google云服务发布完全兼容PostgreSQL的云原生数据库AlloyDB :AlloyDB是Google在云原生数据库领域的重要探索,其基于Google分布式文件系统,实现了存储计算分离的架构,提供一写多读的服务能力。通过引入向量化的列加速器及实现了in-memory column store,AlloyDB可以支持分析负载。据官方宣传,事务性能是AWS Aurora PostgreSQL的2倍,为原生PostgreSQL的4倍。同时,分析性能为原生PostgreSQL的100倍。从各种消息猜测GCP发力AlloyDB的主要目标是为Oracle存量市场客户提供迁移解决方案。[其数据库迁移产品DMS也刚刚发布了Oracle-to-PostgreSQL的结构迁移及数据复制能力] 。

    GCP BigQuery BI Engine正式GA,有效加速大屏或报表等应用:BI Engine是一种架设在BigQuery之上的快速的内存分析服务,可为连接到 BigQuery 的仪表板和报告加速并提供亚秒级的查询性能。BI Engine具备智能弹性能力,其会根据业务访问情况自动优化内存大小。

    TiDB Cloud 正式GA,重点服务中国出海或海外企业客户:PingCAP公司于5月11日宣布TiDB Cloud正式商用。TiDB Cloud围绕TiDB数据库提供了全托管的DBaaS(Database-as-a-Service)服务。TiDB Cloud提供了实例创建管理、备份恢复、SQL审计及监控报警等能力,基本上屏蔽了实例部署运维的复杂度,几分钟即可拉起整个集群,使用还比较简单。当前TiDB Cloud支持AWS、GCP两家云厂商,覆盖日本东京、新加坡、美国[弗吉尼亚]、美国[俄勒冈] 及印度[孟买]五个区域。TiDB Cloud提供了开发版本、概念测试版、标准版、企业版及旗舰版等多个版本,其中开发版本可免费测试1年,概念测试版提供14天免费测试周期,其他均为付费版本。产品按照计算、存储、流量及备份存储空间按需付费。

    MySQL 8.0.29正式GA:主要新增功能包括InnoDB表的ALTER TABLE….DROP column支持ALGORITHM=INSTANT,实现不锁表在线变更。同时,在任意位置添加Column均支持不锁表在线变更。这个版本开始支持binlog文件的自动purge。

    AWS RDS PG支持只读级联副本,最高可将读容量提高30倍:AWS RDS PG宣布在PostgreSQL 14.1版本开始支持级联只读同步,最多可以支持三层级联,每个节点可挂载5个只读实例,单个源实例最多可以支持155个只读副本。相较于之前的版本,最高提升30倍的读吞吐。基于AWS的只读级联能力,可以解决非级联情况下,只读副本对主实例的性能消耗,同时极大的扩展了实例的读吞吐能力。AWS是当前唯一拥有此特性的云厂商,对于读流量压力比较大的客户确实是一个福音。

    更新详情

    • [AWS] ElastiCache 上线新版控制台,重新优化了实例创建体验
    • [AWS] RDS SQLServer在Express、Web、Standard和Enterprise版本上,支持SQLServer 2016 SP3、2017 CU27、2019 CU15,修复性能和安全问题
    • [AWS] RDS For PostgreSQL 支持级联只读副本,最高可将读容量提高30倍
    • [AWS] RDS 性能详情支持按照自定义查询时间范围进行性能数据的查询
    • [AWS] RDS ON AWS outposts现在支持手动及自动存储扩缩,用户设置“Enable storage autoscaling”并设置存储上限,RDS即会根据业务情况自动扩缩存储
    • [AWS] RDS已支持互联网协议版本6 IPv6。存量客户迁移到IPv6后 ,可以同时保持IPv4、IPv6
    • [AZURE] SQL Database HyperScale 提供99.99%的服务SLA
    • [GCP] 正式发布完全兼容PostgreSQL的云原生数据库AlloyDB
    • [GCP] BigQuery支持远程函数,用户可基于GCP cloud function定义外部函数,并在BigQuery中调用使用
    • [GCP] BigQuery BI Engine正式GA,在不牺牲数据时效性的情况下,有效加速大屏及报表等业务负载
    • [阿里云] 阿里云RDS MySQL发布企业级控制台,支持批量运维能力
    • [阿里云] 阿里云云数据库Redis支持实例回收站,适用于停机后希望保留数据的场景
    • [腾讯云] 腾讯云DTS增强能力,SQLServer迁移支持云联网,支持MongoDB多账号认证,同时支持付费实例销毁后恢复