3

2023上半年盘点:20+主流数据库重大更新及技术要点汇总 - Newsletter - dbaplus社群:...

 1 year ago
source link: https://dbaplus.cn/news-156-5395-1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

2023上半年盘点:20+主流数据库重大更新及技术要点汇总 - Newsletter - dbaplus社群:围绕Data、Blockchain、AiOps的企业级专业社群。技术大咖、原创干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙。

在分布式数据库领域,国产数据库经过多年发展已得到广大用户支持并成为主流技术选型,一方面以单机分布式一体化为代表的技术降低了用户使用门槛,另一方面也赋予了分布式上更多的能力,如HTAP等;在云与云原生领域,国内云数据库竞争进入白热化,各方一方面大打价格战,另一方面构建上下游生态以造“护城河”;Serverless化在之前产品力发展之后,产品落地还处于观望阶段,尚未大规模推广;近半年来,最大的热点来自于AIGC,以chatGPT为代表的产品开始颠覆很多行业,数据库作为数据的载体,首当其冲开始融合。一方面以向量数据库为代表的新型数据库,成为大家包括资本方的关注,另一方面AIGC与数据库的结合方向,开始有初步成果,包括自助SQL生成、智能优化等;以图、时序等为代表的异构模型数据库产品开始受到更多关注,传统数据库中也开始更多支持如JSON等类型,场景化落地成为此类技术发展要点;此外,数据分析领域的数据湖一体化、数据安全及数据库与硬件结合等方向也呈现较高发展热度。除技术热点外,国内数据库厂商开始在生态构建上发力,一方面与上下游伙伴共建,以行业垂类方案增多为代表,另一方面则通过开源三方商业化构建大生态。



数据库产品半年度盘点主流数据库的版本升级与更新亮点

在如此百花争鸣的2023年上半年,dbaplus社群携手一众数据库行业专家,汇总、梳理并提炼出主流数据库近半年的版本更迭、性能优化、功能提升等关键信息,希望对大家了解数据库发展趋势,以及数据库选型工作有所帮助和启发。



本期要点DB-Engines数据库排行榜一、RDBMS二、NewSQL三、图数据库四、时序数据库五、大数据生态圈六、国产数据库七、云数据库推出dbaplus Newsletter的想法感谢名单

为方便阅读、重点呈现,本文对各板块内容进行了精简,需阅读完整版可点击文末【阅读原文】或登录云盘下载:



https://pan.baidu.com/s/1urJi4hjH_Ae4_5WMQwSaPw?pwd=2023(提取码:2023)



DB-Engines数据库排行榜



以下取自2023年7月的数据,具体信息可以参考http://db-engines.com/en/ranking/,数据仅供参考。



图片



DB-Engines排名的数据依据5个不同的因素:



RDBMS



Oracle发布Database 23c免费版-开发人员版,19c支持ARM架构

一、Oracle新发布Oracle Database 23c免费版-开发人员版

为响应全球开发人员和组织访问Oracle Database 23c新特性的需求,Oracle首次为开发人员社区提供Oracle Database 23c免费开发人员版本的抢先体验。开发人员可以免费访问其应用开发功能,例如JSON Relational Duality、直接针对OLTP数据进行图形查询的SQL支持、JavaScript Stored Procedures 、JSON模式、增强的Oracle Kafka API、域和注释以及对SQL语言本身的许多增强。

23c 免费版-开发人员版可作为Docker Image、VirtualBox VM或Linux RPM安装文件下载 (oracle.com/oracledbfree),无需用户帐户、登录名或信用卡。同时计划很快会推出Windows版本,现在也可以在带有VirtualBox和Docker的Windows上使用。

主要功能:

1、JSON关系二元性:开发人员可以使用单一真实来源在关系或JSON范式中构建应用程序,并从两者的优势中受益——关系模型和文档模型。数据只保留一次,但可以使用任何一种方法访问、写入和修改。该技术展示其突破性能力的一个例子是,由于产品突然召回,组织不得不手动更新20,000个JSON文档;现在,他们可以在23c中进行一个简单的更新,并且该更改将自动传播到所有20,000个JSON文档。

2、Java Script存储过程(由GraalVM提供支持):通过编写JavaScript存储过程或将现有JavaScript库加载到Oracle数据库中,现在可以更接近数据执行JavaScript代码。对JavaScript代码的支持通过允许直接在数据层内重用现有业务逻辑和重用JavaScript开发人员技能来提高开发人员的工作效率。JavaScript代码调用可以与SQL和PL/SQL混合,提供多语言编程语言支持。

3、JSON Schema:开发人员可以通过行业标准的JSON Schemas确保和验证JSON文档结构,从而更自信和可靠地使用JSON数据格式。

4、操作属性图:开发人员可以使用Oracle数据库构建事务性和分析性属性图应用程序,使用其新SQL标准属性图查询支持,包括在关系数据和JSON数据之上运行图形分析。

5、Oracle Kafka API:Kafka应用程序可以通过非常少的代码更改针对Oracle数据库事务事件队列运行。这使得使用在单个原子事务中执行事件操作和数据库更改的事务事件构建的更强大的微服务成为可能。

6、域:新的域构造可以充当轻量级类型修饰符,集中记录预期的数据使用,扩展并显着改进SQL标准域。这使开发人员能够更好地了解数据的使用方式并提高整体数据质量,而不会出现特定用途数据类型或用户定义类型的复杂性和不兼容性。

7、注释:数据库元数据现在可以通过Oracle数据库中的新注释机制直接与数据一起存储。开发人员可以注释表、列、视图、索引等的公共数据模型属性——提供一个集中的、轻量级的、声明性的工具来跨应用程序注册和交换使用属性。将元数据与数据一起存储可确保一致性和对使用该数据的任何用户或应用程序的普遍可访问性。

二、Oracle Database 19c在云端或本地部署支持ARM架构

2023年6月28日,Oracle宣布Oracle Database 19c企业版(Oracle数据库当前的长期支持版本)已通过认证,支持业界流行ARM架构云部署和本地部署。Oracle数据库在ARM架构上的认证意味着用户可以在ARM处理器上部署和运行Oracle 19c数据库,具体来说,用户现在可以在Oracle云基础设施 (OCI) 上,订阅基于Ampere® Altra®处理器 (OCI Ampere A1) 计算实例的Oracle数据库服务,或者可以在本地选择Ampere的ARM架构服务器运行Oracle Database 19c — 这两个选项都具备突出的成本优势。

当前直接提供19.19的完整安装包,下载链接:

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

图片

目前支持的Linux版本是Oracle Linux 8 Distributions on Linux for ARM (aarch64)。

MySQL发布8.0.32和8.0.33版本

2023年上半年,MySQL发布了2个版本——8.0.32和8.0.33,主要修复了大量的bug,而OCI的MySQL HeatWave服务,是一个可以同时处理事务、实时分析和机器学习负载的云服务,也发布了一些新特性,具体如下:

1、旧的压缩控制参数已被弃用,并替换为新的配置参数,以更好地控制与服务器的连接中使用压缩的方式。新的和被弃用的参数如下:

--compression-algorithms客户端选项替换了--compress和Compress状态变量MYSQL_OPT_COMPRESSION_ALGORITHMS C API选项替换了以前的MYSQL_OPT_COMPRESS C API选项。

CHANGE MASTER TO语句的MASTER_COMPRESSION_ALGORITHMS选项替换了旧的slave_compressed_protocol系统变量。

这些被弃用的参数将在未来的MySQL版本中被移除。现在,当客户端用户使用--compress调用以下客户端程序时,将会有一个警告:mysqlpump、mysqlcheck、mysql、mysqladmin、mysqlbinlog、mysqldump、mysqlimport、mysqlshow、mysqlslap、mysql_upgrade和mysqltest。

mysqlbackup的--compress选项具有不同的功能,这个选项未被弃用。

2、可以通过在CHANGE REPLICATION SOURCE TO语句的REQUIRE_TABLE_PRIMARY_KEY_CHECK选项中设置为GENERATE,使从库在没有主键的InnoDB表中添加一个生成的不可见主键,即使该表在复制时没有主键。假设从库配置有两个复制通道,命名为ch1和ch2,并执行以下语句:

STOP REPLICA;

SET @@sql_require_primary_key = ON;

CHANGE REPLICA SOURCE TO

REQUIRE_TABLE_PRIMARY_KEY_CHECK = GENERATE

FOR CHANNEL ch1;

START REPLICA;

这些语句的效果是,从库现在为由通道ch1复制创建的表添加一个不可见的主键,但对于ch2复制的表没有影响。

从库会忽略在主库上设置的sql_generate_invisible_primary_key,该变量并不会被复制。

要注意的是,REQUIRE_TABLE_PRIMARY_KEY_CHECK = GENERATE与MySQL Group Replication不兼容,该选项仅支持ON、OFF和STREAM这三个值。

3、从8.0.32版本开始,以未加引号的方式使用"full"(不区分大小写)作为标识符将被弃用,并引发警告。这是为了更加贴近SQL标准,其中FULL被保留为关键字。

4、允许设置EXPLAIN语句的默认输出格式。这个功能通过一个名为explain_format的系统变量实现。以前,我们只能在每个EXPLAIN语句中使用FORMAT选项来指定输出格式,但现在可以通过设置explain_format来定义默认格式。

explain_format系统变量可以接受以下几种值:传统格式(TRADITIONAL)、JSON格式(JSON)和树形格式(TREE)。传统格式可以使用DEFAULT作为同义词。如果我们将explain_format设置为TREE,那么所有未指定FORMAT选项的EXPLAIN语句都将以树形格式输出。

5、在MySQL 8.0.31中添加的内部resource-group增强功能已经进行了重构,但仍然支持Resource_group_supported状态变量。

6、在使用mysqldump命令时,如果同时使用了--single-transaction和--set-gtid-purged=ON选项,导出的数据和GTIDs之间可能会存在不一致。这是因为,在mysqldump开始事务和获取GTID_EXECUTED之间,服务器上的GTIDs可能已经增加。为了解决这个问题,修复中在获取GTID_EXECUTED之前会执行FLUSH TABLES WITH READ LOCK操作,以确保其值与mysqldump快照一致。需要注意的是,在8.0.32,此修复要求在使用--single-transaction执行FLUSH TABLES WITH READ LOCK时需要RELOAD权限,在8.0.33上,只有在gtid_mode=ON(默认为OFF)且使用--set-gtid-purged=ON|AUTO(默认为AUTO)时,才需要该权限。

7、从MySQL 5.7升级到8.0时,如果在单个数据库中存在大量的表,服务器会消耗过多的内存。为了解决这个问题,在这种情况下,通过逐个获取每个表对象,执行任何所需的检查,获取表名,并释放该对象,然后继续处理下一个表对象,解决了这个问题。

8、现在不允许使用DEFAULT(col_name)来指定生成列的默认值,这会触发错误信息。

9、如果在使用mysqldump或mysqlpump时,无法将字段的默认值转换为UTF-8编码(例如,如果字段是BINARY类型且默认值不是有效的UTF-8编码),那么导出的数据将无法正确导入。即使使用了--hex-blob选项,问题也无法解决。现在,我们将默认值转换为系统字符集。如果转换失败,服务器会以十六进制的形式发送该值,以便更容易阅读和理解。

对于甲骨文的云上MySQL数据库服务,不仅同步升级为最新的8.0.33,还发布了以下新特性:

  • 企业级加密功能;

  • HA高可用架构支持基于时间点的恢复,HA支持直接使用HeatWave集群;

  • MySQL HeatWave发布了32GB的shape,可以更灵活地适配较小的数据。



PostgreSQL发布16 Beta1新版本,更新15、14、13、12版本

2023年上半年,PostgreSQL主要发布了11、12、13、14、15版本系列的修正版本11.20、12.15、13.11、14.8、15.3及16版本系列Beta版本16 Beta1,其中值得关注的新特性有:

1、监控管理类:新版本改进了页面冻结策略,可以提高VACUUM和其他维护操作的性能。PostgreSQL 16还改进了文本排序规则的通用支持,提供了定义文本排序的规则。该版本使用ICU作为默认排序规则,同时还增加了预定义的unicode和ucs_basic排序规则。

PostgreSQL 16提供了额外的pg_dump压缩选项,同时支持lz4和zstd压缩。

2、性能提升类:PostgreSQL 16实现了SELECT DISTINCT查询的增量排序。同时,该版本还优化了窗口函数查询,改进了RANGE和LIST分区查找,并且支持RIGHT、OUTER查询中的反连接。

PostgreSQL 16同时改进了使用COPY命令并发批量加载数据的性能效率提高。

3、逻辑复制:在PostgreSQL 16之前,用户只能在主节点创建逻辑复制的发布者。新版本增加了在备节点执行逻辑解码的功能,因此给复制带来了更多选项,例如使用压力更小的备节点作为复制源。

PostgreSQL 16还提高了逻辑复制的性能,包括订阅者并行应用大型事务,使用索引而不是主键执行UPDATE或者DELETE操作,支持初始化时使用二进制格式复制表。

4、安全增强:以及pg_create_subscription,可以创建逻辑复制订阅。另外,从该版本开始,逻辑复制订阅者将会作为表的拥有者执行相关事务,不再以superuser作为拥有者执行事务。

PostgreSQL 16支持在pg_hba.conf和pg_ident.conf文件中使用正则表达式匹配用户名和数据库名。另外,新版本还支持在这两个文件中引用其他文件。

PostgreSQL 16还增加了SQL标准中的SYSTEM_USER关键字,可以用于返回建立会话的用户名和认证方法。

PostgreSQL 16还支持Kerberos证书委托,允许扩展插件(例如postgres_fdw和dblink)使用已验证的凭据连接到其他服务。该版本增加了几个新的面向安全的客户端连接参数,包括require_auth,用于指定客户端可以接受的服务器认证方法。用户现在可以将sslrootcert设置为system,表示使用客户端操作系统提供的CA证书存储。

OceanBase发布4.1版本

2023年3月25日,OceanBase 4.1版本正式发布。该版本在4.0基础上进一步提升性能、完善功能,同时增强稳定性,在内核能力上对分布式事务和存储进行了大量优化,同时也推出了很多对开发者非常重磅的功能,包括GIS、JSON、增强LOB、租户级主备库等。

1、内核能力增强:4.1版本针对用户关注的特性快速迭代打磨,故障恢复能力升级,更多场景达成RTO < 8秒,帮助业务提供更强的持续可用能力;支持更细粒度的资源隔离能力,允许对同一张表的不同数据指定分别的资源组;存储空间占用大幅优化,自动追踪宏块使用情况,并允许多张表的数据可以复用同一个宏块,进一步提升存储利用效率;支持空间信息系统(GIS),更好地支持位置查询、空间分析等场景。全新的通用LOB,在访问LOB的全链路上支持了LOB的延迟加载,解决了LOB查询对内存的依赖,更少的资源实现更高并发。

2、易用性提升:4.1版本推出全新的向导式安装部署工具及轻量版开箱即用的集群运维管理工具OCP Express,通过图形化界面最大程度降低安装门槛,一次部署就能获得数据库内核(OBServer)、代理服务(OBProxy)、管理工具(OCP Express)在内的完整产品服务;租户级别物理备库,让备库功能做到租户粒度,更符合实际业务的容灾部署方案。在线统计信息收集,持续生成最优的执行计划;

3、性能提升:新增旁路导入(Direct Write)功能,数据导入性能提升3~10倍,导入稳定性极大提升;支持并行Truncate Table,跑批业务场景中让执行效率提升10倍以上;事务内路由优化,大幅降低事务整体执行延迟,TP业务分布式事务较多的场景,可大幅降低整个事务的整体执行延迟;TP性能显著提升,4核小规格部署环境下,sysbench综合读写能力相比4.0提升40%;AP方面优化了计划生成能力,允许更多的算子下压操作的同时,增强查询改写并支持更多场景的改写优化,引入更多的自适应执行能力。TPC-H 100G场景性能比4.0提升17%,TPC-DS 100G场景性能比4.0提升15%。

4、兼容性增强:Oracle兼容模式下,支持完整的DBLink读写功能,并提供JSON数据类型支持。MySQL兼容模式下,提供Binlog Service,可以将OceanBase的日志转换成MySQL Binlog格式,且提供了全面兼容Binlog协议的能力,更方便接入下游数据生态。提供更全面的MySQL 8.0兼容能力,新增针对MySQL 8.0的多个兼容性升级,包括13个SQL mode支持,十余个函数支持;进一步完善INFORMATION_SCHEMA的兼容表现;触发器功能中CREATE TRIGGER语句支持PRECEDES/FOLLOWS子句定义触发顺序;公共表达式功能(CTE)支持WITH ... UPDATE ...和WITH ... DELETE ...用法。兼容性评估方面,兼容性评估工具OMA产品推出分布式优化推荐功能,满足传统核心大数据量业务库场景下,自动分析并提供针对分区表、表组、索引、复制表的改造建议,基于负载回放后的性能分析中增加基于最佳实践的SQL诊断和优化推荐方案。

5、企业级高级特性:推出基于仲裁的高可用,两地三中心或三地五中心部署模式下,当任意一个机房故障时,集群服务持续可用,且查询延迟不受影响,提供更强的服务连续性和数据可靠性,仲裁服务仅存储元信息,对资源(CPU/内存/磁带宽)要求极小,跨地域场景相比其他类型副本可将第三机房成本降到极低;Oracle兼容模式提供Database Link支持写事务,支持跨OceanBase和Oracle的写事务能力,也支持OceanBase到OceanBase的写事务能力。更强的Database Link功能的支持可以协助实际业务替换数据库过程中做得更小改动,更加平滑。

此外,OceanBase Cloud已上线4.1版本,支持客户在云上体验最新的OceanBase单机分布式一体化架构能力。新增支持24C、104C规格,覆盖从1C/2C/4C/8C/14C/24C/30C/62C/104C全系列规格,支持不同规模的客户业务诉求,并推出free trial帮助用户快速体验4C16GB集群版实例。

华为新一代自研分布式数据库GaussDB发布

一、高可用

1、双集群强一致:基于存算分离,GaussDB+鲲鹏+NOF网络+Dorado存储,全栈组合调优,集群级故障完全隔离,双AZ双活,保障RPO=0。

2、应用无损透明倒换:故障切换快速连接、SQL操作断点继续,实现数据库HA切换时连接不断、事务自动回放,业务无感知。

二、高安全

1、纯软全密态数据库:支持国密算法、透明加密,通过数学算法直接在密文空间进行查询和运算,极大提升了密文数据处理效率,相比业界同类产品性能领先35%以上。

2、防篡改数据库:使用高并发摘要生成算法生成表级校验码,打破串行化,并发度可以提升十倍以上,支持多表、多账本的关联操作,支持SQL。

三、高性能

1、Ustore存储引擎:采用In-place Update方式的Ustore存储引擎,8H滚降值降低81%,存储空间降低17%。

2、内核线程调度:NUMA亲和,减少跨核数据拷贝和通信。

3、NUMA化数据结构:CLOG、WALInsertLock、PGPROC等按照NUMA node进行分布,减少远端访存次数,提升锁的访问效率。

4、LSE ARM指令级性能优化:引入的新的原子操作LSE,将大量的可转换为原子类型操作(plus、minus、CAS)的部分,替换为ARM硬件相关原语LSE指令集,提升计算性能。

四、高弹性

线聚簇扩容、多轮追增:减少锁表时间,秒级弹性伸缩,系统容量和性能的线性Scale Out。

五、高智能

DBMind工具升级:支持智能索引推荐、智能分布列推荐、智能故障根因分析等,帮助客户提高性能和诊断效率。

六、易部署、易迁移

1、内核多层级多租户资源隔离:封装底层资源,发放租户级实例,实现租户级资源组隔离,智能容量预测与错峰调度算法,提升资源利用率4倍以上。

2、基于语义感知的数据压缩:基于数据语义压缩算法,支持自定义冷热分离模型,存储成本下降50%,性能影响小于5%。

3、数据库兼容性提升:Oracle/MySQL常用语法高度兼容,整体兼容性90%以上。

NewSQL



TiDB发布7.1和6.5两个LTS版本和1个DMR版本

TiDB 7.1是2023年度首个LTS(Long Term Support)版本,汇集了来自20+个真实场景带来的功能增强,累计优化和修复140+功能。TiDB 7.1企业版增强了数据库审计功能,通过更细粒度的事件过滤控制、更友好的过滤条件设置方式、新增的JSON文件输出格式以及审计日志的生命周期管理,大幅提升系统的审计能力。

资源管控特性在7.1版本中得到增强并正式GA,使得TiDB具备了多租户隔离能力。这为云上和OP环境提供了TiDB数据库整合(Database Consolidation)解决方案,帮助企业提升资源利用效率,降低运营成本。

在6.6-7.1几个版本中,TiKV引入新一代存储引擎分区Raft KV,通过每个数据Region独享存储实例,可将集群的存储能力从TB级扩展到PB级,并提供更稳定的写入延迟和更强大的扩容能力。

图数据库




About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK