数据库行业半年度回顾
“多元化+差异化”的齐头并进
2022年上半年,各数据库厂商及产品都取得了长足的进步,在某些重点技术领域的突破,无论是产品还是市场方面都得到了不错的反馈,特别是以国产化、云为代表的厂商及产品表现突出。
从技术方向上看,以分布式、云原生、多模异构、HTAP、AI自治、安全为代表的技术,成为了各个产品发展的重点。在过去数年,分布式数据库发展迅速,是面对海量规模及高并发等场景的利器。通过数年实践,产品的基本功能、稳定性、性能等方面已趋于成熟,各家产品开始在易用性、可观察性、诊断能力、生态兼容等方向发力,并陆续开始有成果落地。相信分布式数据库的不断发展,会在未来得到更大范围的使用。
另一个热点方向则是HTAP,特别是分布式能力的引入,为AP方向的能力提供了更多算力,也为HTAP带来更多想象空间。从用户视角来看,HTAP简化了原有技术栈,统一访问方式,为用户带来更优质的体验。从发展来看,各家产品从HTAP能力的初步具备,逐步过渡到更精准的资源控制、更高效的执行效率等阶段,改善用户使用体验。未来对数据库,特别是分布式数据库而言,HTAP能力将成为厂商竞争的主要方向之一。
在云数据库领域,云原生数据库成为焦点,各厂商已从传统数据库托管类产品的竞争,过渡到自有云原生数据库产品的较量,承载规模、弹性能力、极致性价比等成为了发展要点,特别是Serverless方向,已成为后续发展的主流方向之一。虽然目前尚处于较早期的阶段,但其现有能力已非常诱人,未来发展空间巨大,甚至有可能成为各家发展的分水岭,带来弯道超车的契机。
在NoSQL领域,以图、时序为代表的产品成为了发展热点,一大批初创企业及产品受到了更多关注。在产品能力上,纷纷从兼容生态、突出核心、提升易用性等角度切入,并在更多场景上得到使用验证,大大扩展了原有的使用空间。此外,AI与数据库的结合、新型硬件的使用、安全能力也是各家发展的方向之一。
从数据库厂商对产品研发的角度上看,大厂重点落在智能化、新硬件、数据流转等方向;云厂商在构建新一代云原生、Serverless等方向发力,希望找到突破口实现产品升级;新兴厂商则在某些垂直领域,如HTAP、NoSQL、高兼容等方向着手,寻找差异化竞争路线;而开源产品,则更多在企业级能力、安全性等方面不断提升。
数据库产品半年度盘点
主流数据库的版本升级与更新亮点
在如此百花争鸣的2022上半年,dbaplus社群携手一众数据库行业专家,汇总、梳理并提炼出主流数据库近半年的版本更迭、性能优化、功能提升等关键信息,希望对大家了解数据库发展趋势,以及数据库选型工作有所帮助和启发。
本期要点
DB-Engines数据库排行榜
一、RDBMS
- Oracle Exadata X9M-2和X9M-8新特性
- MySQL发布8.0.28和8.0.29版本
- MariaDB 10.8新特性
- PostgreSQL发布15 beta 1和14.4版本
- Oceanbase企业版及社区版共迭代9个版本
二、NoSQL
- Redis发布7.0版本
三、NewSQL
- TiDB共发布3个大版本
四、时序数据库
- MatrixDB发布4.4及4.5版本
五、大数据生态圈
- Elastic共发布4个大版本
- Greenplum共发布3个大版本
- Flink发布1.15.0版本
- ClickHouse共发布6个版本
六、国产数据库
- SequoiaDB发布3.6及5.0.3版本
- 达梦数据库发布DM 8.1.2.116版本
- Qianbase™发布1.6.6SP6_1~SP6_3
- ArkDB主要提升及优化
- OushuDB 5.0版本更新概要
七、云数据库
- 华为云2022上半年数据库产品更新汇总
- 阿里云2022上半年数据库产品更新汇总
- 腾讯云2022上半年数据库产品更新汇总
- 京东云2022上半年数据库产品更新汇总
- 青云2022上半年大数据及数据库产品更新汇总
DB-Engines数据库排行榜
以下取自2022年6月的数据,具体信息可以参考http://db-engines.com/en/ranking/,数据仅供参考。
DB-Engines排名的数据依据5个不同的因素:
- Google及Bing搜索引擎的关键字搜索数量;
- Google Trends的搜索数量;
- Indeed网站中的职位搜索量;
- linkedIn中提到关键字的个人资料数;
- Stackoverflow上相关的问题和关注者数。
RDBMS
Oracle Exadata X9M-2和X9M-8新特性
Oracle Exadata数据库云平台通过集成设计为Oracle数据库带来出色的性能、可用性和成本效益。
一、最新的Exadata X9M-2和X9M-8特性
- 延续了X8M在Exadata存储服务器中添加了Intel Optane™ Persistent Memory,使用100Gb RDMA over Converged Ethernet(RoCE)内部网络架构,取代了之前的InfiniBand网络架构。
- 直接从数据库使用RDMA访问智能存储服务器中的持久内存,绕过整个操作系统、I/O和网络软件堆栈,显著降低延迟和提高吞吐量,实现小于19微秒OLTP IO延迟。
- Exadata X9M这一系列产品相较于X8M在性能上有了进一步提升,但报价保持不变,性价比大幅提升。
二、同一Exadata Cloud@Customer上支持自治和非自治数据库
2022年3月16日,Oracle宣布在同一Exadata专有云数据库一体机(Exadata Cloud@Customer)上支持自治和非自治数据库。多VM自治数据库允许客户使用自己的访问规则、配额和性能SLO来配置隔离的操作环境,例如开发测试、生产。这反过来又使企业不仅可以迁移现有数据库并对其进行现代化改造以获得云优势,还可以创建一个符合公司治理标准的自助服务数据库应用程序开发平台。新的多虚拟机自治数据库功能使企业能够以更低的成本更轻松地采用ADB,为开发人员提供用于新应用程序的完整且简单的自助服务数据库。
三、零数据丢失恢复一体机(ZDLRA)最新的名称改为RA21
Oracle零数据丢失恢复一体机(简称RA21)是一个突破性的数据保护解决方案,不仅消除了数据丢失风险,大幅降低数据保护给生产服务器带来的开销,还能持续验证数据的完整性和可恢复性,通过不断扩展来保护数以千计的数据库,同时为数据备份提供完整生命周期保护,包括磁盘备份、磁带备份和远程复制。
MySQL发布8.0.28和8.0.29版本
2022年上半年,MySQL 8.0发布了8.0.28和8.0.29两个版本,修复了大量的bug,在性能和稳定性方面进一步增强。另外,HeatWave发布了重磅的机器学习功能,以下是详细介绍。
一、优化
InnoDB:InnoDB现在支持 ALTER TABLE ... RENAME COLUMN和ALTER TABLE ... DROP COLUMN使用 ALGORITHM=INSTANT。该操作只修改数据字典中元数据,表数据不受影响,使操作可以瞬时完成。如果未明确指定,只要该DDL支持INSTANT操作,会默认使用。
从MySQL 8.0.29开始,可以将瞬时添加的列添加到表中的任何位置,瞬时添加或删除的列会创建一个新的行版本。最多允许64行版本。
二、复制和克隆
replica_parallel_type系统变量现在已被弃用;每当读取或设置这个变量,或者在my.cnf中设置该选项时,服务器就会发出弃用警告。
8.0.29版本引入了binlog_expire_logs_auto_purge系统变量来控制服务器自动清除二进制日志文件。
group_replication_set_as_primary函数,可以指定新的master成员,用于覆盖自动选举过程产生的master成员。
克隆:增加系统变量“clone_delay_after_data_drop”,允许在接收者删除数据之后增加延时,以使接收者在开始克隆之前释放足够的空间。
三、运维监控
Performance Schema的变化:计时器THREAD_CPU已添加到Performance Schema PERFORMANCE_TIMERS表中。
tmp_table_size变量现在定义由TempTable存储引擎创建的单个内存内部临时表的最大大小。适当的大小限制可防止单个查询消耗过多的全局TempTable资源。
innodb_open_files变量定义了InnoDB一次可以打开的文件数,现在可以在运行时使用语句进行设置。方法是执行SELECT innodb_set_open_files_limit(N)。
8.0.28版本起在全局和每个用户的基础上引入了对内存分配的监视和限制。现在可以通过检查Global_connection_memory状态变量的值来观察所有用户连接消耗的总内存,该变量必须通过设置global_connection_memory_tracking = 1来启用。
字符串:服务器在使用“SHOW”语句输出及报告无效字符时,使用utf8mb3代替之前使用的utf8。
四、开发
时间格式:MySQL之前对时间格式的分隔符或空白等要求宽松,从8.0.29版本开始,则推荐用户使用标准格式,使用其他格式将输出警告信息。
派生的物化表条件推送优化现在可以在大多数的union语句使用。这意味着外部 WHERE条件现在可以推送到物化派生表或视图的查询表达式中的每个查询块中。
函数FROM_UNIXTIME (), UNIX_TIMESTAMP (),和CONVERT_TZ ()可以处理64位的值,FROM_UNIXTIME ()现在支持最大的参数是32536771199.999999秒,对应'3001-01-18 23:59:59.999999' UTC。UNIX_TIMESTAMP ()支持接收最大值'3001-01-18 23:59:59.999999' UTC,对应32536771199.999999秒。
字符集latin1的快捷方式ASCII和UNICODE的快捷方式ucs2被弃用,MySQL的未来版本中将删除它们。用户可以使用CHARACTER SET代替。
五、HeatWave
HeatWave用户现在可以使用内置的HeatWave机器学习(ML),这是一种完全托管、高度可扩展、经济高效的机器学习解决方案,适用于存储在MySQL中的数据。HeatWave ML提供了一个简单的SQL接口,用于训练和使用预测机器学习模型,新手和经验丰富的ML从业者都可以使用。使用HeatWave ML,用户只需调用SQL即可训练模型。同样,用户可以使用单个语句生成预测,从而轻松地集成到用户的应用程序中。
HeatWave现在支持多达1017个基本关系列(加载到HeatWave中的表),以及多达1800个中间关系列(查询处理期间使用的中间表)。基本关系和中间关系的最大列宽增加到了65532字节。
MariaDB 10.8新特性
一、Alter修改表结构实现从库无延迟并行复制
通常,ALTER TABLE主库上执行完毕后,才会被复制并开始在从库上执行。有了这个特性后,当ALTER TABLE在主库上开始执行时,它会立刻被复制并开始在从库上执行,完全消除了从库的复制滞后,实现了从库无延迟并行复制。
使用:
MariaDB[test]> set global binlog_alter_two_phase=1;
MariaDB[test]> set binlog_alter_two_phase=1;
MariaDB[test]> alter table sbtest1 add index IX_pad(pad);
ALTER TABLE回车后,可以立即用mysqlbinlog工具去查看binlog,此时LTER TABLE语句已经记录在binlog文件里。
二、多源复制支持MySQL样式的CHANNEL语法
多源复制可以实现数据分析部门的需求,将多个系统的数据汇聚到一台服务器上进行OLAP(联机分析处理)计算。在10.7及以上版本里,支持MySQL 5.7多源复制的语法。
三、支持降序索引
从10.8版本开始支持降序索引(InnoDB引擎)。可以直接将索引定义为DESC,这样在存储的时候就是降序保存的,在进行降序扫描时,性能会得到大幅度提升。当然,这样做最大的好处是,我们可以用索引处理(order by a desc,b asc,c desc)混合排序的查询了。在10.8之前的版本中,排序的字段顺序必须一致,否则使用不到索引,通过explain命令查看,结果中会出现文件排序(filesort)。
四、MariaDB Xpand分布式数据库发布
MariaDB Xpand是一款(MySQL客户端协议)在线事务处理(OLTP)分布式数据库(对标PostgreSQL协议的CockroachDB),Xpand则是存储引擎。
使用MariaDB Xpand需要许可证密钥(45天非生产试用期)。软件下载地址 https://mariadb.com/downloads/#xpand
特点:
- 符合ACID的分布式数据库,适用于海量数据、高并发和强一致性在线事务处理(OLTP);
- 弹性动态横向扩容;
- Paxos高可用性;
- 数据分布通过Xpand水平划分为切片,并将切片的副本(默认两个)分布在节点之间;
- 无限读写扩展,采用无共享架构;
- 支持复杂查询(例如JOIN和分组聚合操作)。
PostgreSQL发布15 beta 1和14.4版本
2022年1月至今,PostgreSQL发布了15 beta 1和14.4等多个版本,其中值得关注的增强有:
一、性能增强
- 排序性能提升显著,尤其是在需要排序的数据量超过了work_mem的情况下,in-memory的排序性能也有所提升;
- group by会自动优化列的顺序;
- postgres_fdw外部表支持下推case when表达式;
- 窗口函数row_number(), rank()和count()性能提升;
- full-page-write全页写支持lz4和zstd压缩算法;
- copy元命令加载性能提升;
- pg_upgrade和pg_dump性能提升。
二、逻辑复制增强
- 支持直接发布某个模式下的所有表;
- 发布端支持指定某些列进行发布,比如create publication pub1 for table t2(info);
- 发布端支持过滤条件,比如create publication p2 for table t1, t2 where (e = 99);
- 原生逻辑复制支持预备事务。
三、并行增强
- select distinct支持并行,并行特性继续加强;
- postgres_fdw()支持并行提交,之前的版本是本地事务提交之后再串行提交远端事务;
- 外部表的查询现在可以在更多的情况下使用并行扫描。
四、其他增强
- 支持merge语法,以前的版本可以使用insert ... on conflict替代;
- 新增多种正则表达式,regexp_count(),regexp_instr(),regexp_like()和regexp_substr();
- 新增SQL/JSON构造器;
- 新增SQL/JSON查询函数,json_exists()、json_query()和json_value();
- 唯一约束和索引支持将NULL视为不同的值,之前的版本需要使用表达式索引进行限制;
- 日志支持JSON格式。
五、相关动态
CitusData于日前推出了Citus 11.0,并宣布将所有企业版的特性都进行开源。此前,Citus在版本更新时通常会同步发布2个版本:开源版本和包含一些额外功能的企业版本。
14.4版本修复了之前的14.0、14.1和14.2三个版本中使用create index concurrently和reindex concurrently导致索引损坏的BUG,会导致数据不一致,需要尽快升级至14.4版本。
Oceanbase企业版及社区版共迭代9个版本
2022年1月至今,Oceanbase数据库共计迭代9个版本(企业版及社区版),进一步提升与增强性能、安全性、兼容性、诊断监控等企业级核心能力。其中,Oceanbase 3.2.3作为3.x的LTS版本,是完整HTAP能力的重要里程碑,新特性如下:
一、Oceanbase企业版关键特性
- HTAP能力:全面实现向量化引擎,支持所有基础算子向量化,复杂查询场景下带来数量级的性能飞跃,TPC-H性能相比Oceanbase 2.2.x提升10倍。
- 性能:优化Nest Loop Join,性能提升1倍;支持多表关联SQL语句转化为Nest Loop Join执行计划,通过算子优化大幅提升多表关联性能;提升Table API流式扫描性能,Oceanbase 3.2.3流式扫描性能达到Hbase 2.4.6的2.2倍。
- 兼容性:Oracle模式新增DBlink功能,支持用户通过DBlink访问Oracle的数据;MySQL模式引入Oracle模式的Sequence功能。兼容MySQL 8.0 CTE和CHECK检查约束功能。
- 诊断监控:存储过程支持GET DIAGNOSTICS诊断,可使用该功能获取SQL语句或者存储过程执行时的错误信息,帮助用户快速定位、排查解决问题;OCP引入SQL画像和事务画像功能。
- 安全性:新增备份恢复完整性校验功能,帮助用户快速发现磁盘静默故障;ODC支持操作记录审计功能,自动记录所有的数据库变更操作。
二、Oceanbase社区版关键特性
- 支持OBKV能力:提供Hbase模型和Table模型的NoSQL能力。读写综合性能超越Hbase,且能复用Oceanbase底层的强一致和异地容灾能力,并避免了Hbase的性能抖动问题。
- 支持兼容MySQL 5.7版本的JSON功能,提供半结构化数据支持:很多用户会使用JSON类型存储半结构化数据以弥补关系模型的不足,相比TEXT和LOB类型,JSON类型存储半结构化数据时性能更好,支持高效索引和合法性校验。
- 支持回收站中的对象恢复,极大降低因误操作导致的潜在风险:表格删除后进入到回收站,Flashback Table能够将回收站误删除的表格恢复出来,防止误操作。
- CDC支持大事务:通过新增持久化模式,数据在同步开始前先进行本地临时存储,避免CDC传输大事务时因内存溢出OOM而导致的断开链接问题。
- 支持Kubernetes Operator:用户可以通过容器的形式将Oceanbase运行在公有云或私有化部署的Kubernetes集群。
- 部署更加便捷:面向开发者提供更加友好的使用体验。将Docker镜像由2C10G优化至2C8G,降低开发者在个人电脑使用Oceanbase的门槛。另外,新增了ARM架构支持。
NoSQL
Redis发布7.0版本
2022年4月27日,Redis正式发布7.0版本,该版本持续开发了近1年之久,在GA版本前有3个候选版本,目前相当稳定,可以用于生产。从Itamar Haber关于版本更新的介绍中可以看出许多优秀的特性和功能来源于Redis用户的反馈和生产环境的使用经验教训,其中值得关注的更新要点有:
- Redis Functions:使用服务端的脚本来扩展Redis的新方法;
- ACLv2:基于键的更细粒度的访问权限管理,允许用户使用selectors管理多组命令规则;
- 集群:支持分片(特定节点)发布/订阅;
- 大多数情况下对子命令的一流的处理(影响ACL类别、info命令的统计等);
- Multi-Part AOF:将AOF作为多个AOF文件存储在一个文件夹中避免AOF重写带来的性能开销;可以通过配置选项appenddirname设置存放多个AOF文件的存放目录;
- 命令键规格:是客户端查找key参数及其读/写目的的更好方法;
- 集群:支持主机名,而不仅仅是IP地址;
- 改进了对网络缓冲区消耗的内存的管理,以及一个用于当总内存超过限制时删除客户端的配置选项maxmemory-clients;
- 集群:断开集群总线的连接以防止不受控制的缓冲区增涨的机制;
- AOF:时间戳注释和支持指定时间点的恢复,对于故障恢复非常有用;
- Lua:支持eval脚本中的函数标志;支持Verbatim和Big-Number类型的RESP3协议的回复;通过redis.REDIS_VERSION,redis.REDIS_VERSION_NUM获取Redis版本;
- Redis 7.0开始对RDB文件使用了新版本10格式,与旧版本不兼容,升级时需要仔细阅读,提前测试好兼容性,不可回退;
- 为Redis Functions和eval Lua脚本添加API以显式检查ACL;
- 键空间事件支持新建的key;
- 用listpack替换Hash、List、Zset中的ziplist,以提升性能;
- CLUSTER SHARDS命令弃用CLUSTER SLOTS,解锁集群管理更多技巧;
- ConFIG SET/GET可以在一次调用中处理多个配置;
- 升级jemalloc版本到5.2.1;
- list类型支持添加存储大于4GB的元素;
- 配置:repl-diskless-sync(无盘复制)现在默认设置为yes;
- 移除gopher协议的支持;
- 现在允许在数据加载期间使用ConFIG SET、REWRITE、RESETSTAT等命令,管理起来更加友好;
- script LOAD和script FLUSH不再传播到副本/AOF;
- 新增许多命令,如:ZMPOP、BZMPOP、LMPOP, BLMPOP、SINTERCARD、ZINTERCARD等。
Redis 7.0添加了近50个新命令和选项来扩展Redis的现有功能。例如,bitmap、list、set、sorted set和stream类型都添加了支持其数据管理用例的功能。此外,缓存语义已扩展为支持存在和比较修饰符。
Redis 7.0特别注重在内存使用率上优化和命令执行性能上的提升,对其管理的每个子系统基本上都进行了多项改进,包括内存、计算、网络和存储。虽然默认情况下启用了一些优化,但其它优化可能需要配置才可以生效。
NewSQL
TiDB共发布3个大版本
2022年1月至今,TiDB陆续发布了5.4、6.0、6.1三个大版本,在性能、兼容性、稳定性、安全性、可用性、可观测性、可管理性等方面做了大量改进,企业级HTAP与云数据库能力得到大幅增强。以上三个版本累计发布新增特性和增强功能145个,修复问题236个,其中值得关注的更新有:
- 稳定性:TiDB 6.1作为TiDB 6系版本的长期支持版(Long Term Support),在多个层面夯实产品的稳定性,例如提升TiKV高压场景下的内存稳定性,解决了由于Raft Log复制流量过大导致的OOM问题。
- 性能:TiDB 5.4版本中TiFlash存储层大幅优化行存到列存转码效率,在不同并发情况下实测吞吐性能提高60%~90%;新增索引合并查询优化,允许优化器在查询处理中同时选择使用多列的索引以减少回表。
- HTAP能力:分析引擎在MPP推出后不断走向成熟,并于4月1日在GitHub开源。6.0版本中TiFlash新增100多个常用内建函数以及若干表关联算子,引入了全新的弹性线程池,这使得TiDB MPP模式在短查询下达到同等计算资源倍增的计算性能,且在高压力查询时稳定性更佳。6.1版本中,分区表的实验特性GA,新增TiFlash MPP下的窗口函数支持。
- 可管理性:TiDB 6.0引入数据放置框架,提供了针对分区/表/库级数据在不同标签节点之间的自由放置接口,用户可以针对某张表,某个数据分区的存储位置做出自定义的选择;发布企业级集群管理组件TiUniManager,提供对TiDB集群的全生命周期可视化管理;开放了智能诊断服务PingCAP Clinic的预览,集成了诊断数据采集、智能诊断、智能巡检、云诊断平台等功能。
- 数据生态:TiDB 6.0版本中TiCDC对于增量数据的提取、排序、加载、投递等多个处理流程都进行了优化。TiDB 6.1引入了用户级别锁和TiCDC下的Avro格式向Kafka同步数据的支持。TiDB 5.4强化了数据备份效率,在支持Amazon S3、Google Cloud Storage的基础上,新增对Azure环境的支持。
此外,2022年5月,PingCAP宣布TiDB Cloud在全球范围正式商用,为用户提供云上全托管的DBaaS服务,支持用户在全托管的数据库上运行关键业务交易和实时分析任务,充分享受云上的性能优势和业务连续性保障。
时序数据库
MatrixDB发布4.4及4.5版本
2022年上半年,MatrixDB总共更新了2个版本,4.4~4.5,主要特性包括Mars2存储引擎、流式计算、兼容Kubernetes与Prometheus生态等,在数据写入、数据存储、集群监控方面都取得了重大突破,详细更新如下:
- Mars2存储引擎:在Mars存储引擎的基础上,开发出了第二代存储引擎Mars2。相比一代,Mars2性能更高,并可以在引擎内部后台自动压缩,不再需要显式压缩转换;对upsert语义支持更好;支持列存压缩,空间占用更小。
- 监控系统升级:与Prometheus生态完美对接。
- MatrixGate升级:支持数据去重;新增超时设置,提高健壮性;支持指标信息查看,方便了解系统负载及定位问题。
- 滑动窗口流式计算:在流计算场景,可以对最近一段时间内的数据持续地分析运算。不同于滚筒窗口的不重叠,滑动窗口的时间窗口是可以重叠的。滑动窗口通常搭配监控告警使用,当最近一段时间内数据满足预设条件时,数据服务端会向客户端发送告警消息。
- Kubernetes支持:与Kubernetes生态完美兼容,可以在Kubernetes上部署MatrixDB集群。
- MxBench性能测试工具:MxBench是MatrixDB数据加载和查询的压测工具,可以根据用户给定的设备数量、时间范围、指标数量配置快速生成随机数据,自动创建数据表,串行或并发进行数据加载和查询。用户可以灵活配置指标类型、采集频率、空值率、随机度等,还可以指定查询的线程数、定制查询语句等。
- 查询统计组件:通过将相同的查询汇总到一起,来统计查询执行次数、耗时、资源占用信息等。对数据库执行过的SQL进行统计和监控,从而更好地了解各种类型查询的资源消耗,以及发现分析慢查询。
大数据生态圈
Elastic共发布4个大版本
截至2022年6月底,Elastic.co发布了4个大版本,从7.17.X~8.2.X,每个大版本中间包括几个小升级版本;7.17.X与8.0.X属于同步发行版本,7.17.X版本的主要作用是帮助7.X版本升级并顺利迁移到8.X版本,作为中间的过渡版本。2022年最重要的是结束了7.X版本延续,发布了8.X,并侧重更多的智能搜索能力特性。
7.17.X~8.2.X版本的增强与提升:
1、Elasticsearch Java Api Client:自7.15版本开始,在Java编程语言范围内,Elastic.co官方推荐开发者使用Java Api Client进行应用集成,同比Java High Level REST Client更加轻量,更少依赖,更适合Java语言最新特性,至此到8.0版本开始,从官方层面不再更新维护Java High Level REST Client,也是作为一个时代的演变的结束。
2、Security:
- 自8.0版本开始,Elasticsearch默认会启动基本的安全策略,并自动配置生成安全证书,同时启用ssl/https;
- 集群内部tcp通信需要配置ca证书,新节点加入已有集群,可以通过专用工具生成临时的token;
- 集群外部访问也需要配置https证书,同时需要使用分配的用户名与密码访问。
3、KNN aearch api:
- KNN,全称“k-nearest neighbor”,直译“近邻算法”,是数据挖掘或者机器学习中经典朴素简单的算法之一;
- Elasticsearch在较早时间,引入了向量字段类型“dense_vector”,支持了更多的智能搜索,如NLP、图像、语音等领域搜索,但是由于查询时采用脚本动态计算模型,性能上容易出现瓶颈,8.0版本引入KNN算法模型,可有效满足更大规模的向量检索,同比性能提升数倍;
- Elasticsearch目前引入的KNN算法模型并非朴素的算法,而是目前业界最流行的“HSSW Algorithm”,详细参考wiki。
4、PyTorch for nlp:8.0版本引入了PyTorch模型支持,更方便地支持NLP应用 。
5、Storage savings:8.0版本发布,针对keyword、match_only_text、text类型,采用了更高效的文本编码算法,节约了更多的存储空间,若是应用于日志领域,效果应该更明显。实际上从7.0到7.17版本,中间也有多次存储空间的效能提升。
6、Doc value only search:
- 针对一些简单的字段类型,elasticsearch提供了基于doc_value的检索能力, 通过牺牲原有倒排索引的检索能力,换取了更快的索引写入速度、更高的压缩存储能力,更快统计聚合与排序性能;
- 目前支持的字段包括:numeric数值类型、date日期类型、keyword类型、ip地址、boolean布尔类型。
7、OpenJDK upgrade:Elasticsearch当前已经升级到OpenJDK 18.X。
Greenplum共发布3个大版本
2022年1月1日至今,Greenplum发布了从6.19.1到最新版6.21.0(6月15日发布),共三个大版本。Greenplum 内核基于 PostgreSQL,针对大数据场景和用户需求开发了众多优秀特性并作了极致优化。随着Greenplum 版本更新至6.20,内核部分主要更新内容如下:
- Greenplum 6.20.0 引入了新的 contrib 模块gp_array_agg。该模块为Greenplum数据库实现了一个并行的array_agg( )聚合函数。
- 查询优化器(GPORCA)现在支持对包含堆分区和AO分区的分区表进行位图扫描。
- 查询优化器(GPORCA)支持为有序聚合生成查询计划,从而提高查询性能。
- GPDB 支持平台更加丰富,添加了对Redhat RHEL8版本的支持。
- 安全方面的改进和提升。
- Resource Group:资源组在按百分比分配CPU资源方面,将包括一个新模式。之前支持弹性模式,若系统有空余资源,可动态分配。现在,除了现有的弹性模式,还支持强制模式,严格按照配置供给资源,有效满足了客户更丰富的场景需求。
- gp_parallel_retrieve_cursor 并行检索cursor模块:用户可以使用它在Greenplum数据库主节点上创建一种特殊的cursor,并按需要或并行地直接从Greenplum segment上检索查询结果。Greenplum将这种cursor称为并行检索cursor。
- Greenplum新增了对pg_trgm和btree_gin两个插件的默认支持:pg_trgm提供了基于三元组搜索的文本相似度计算函数,以及相应的索引运算符。btree_gin为常用数据类型实现了 GIN 索引运算符类。
- GP2GP功能:greenplum_fdw模块是一个外部数据包装器(FDW),用户可使用它在一个或多个Greenplum Database version 6.20+集群上运行查询。通过新的greenplum_fdw模块和gp_parallel_retrieve_cursor模块,可访问存储在一个或多个外部Greenplum数据库集群中的数据,达到并行按需获取,实现跨集群cluster的并行和按需检索数据。
- 安全保护加强:Greenplum Database 6.21.0增加了对scram -sha-256密码哈希算法和scram -sha-256客户端身份验证方法的支持,增强密码安全保护。
- Diskquota升级至2.0版本:新版Diskquota增加了hard-limit模式,如果查询在执行期间超出磁盘配额限制,将强制终止该查询。与此同时,针对不同类型的tablespace,新版Diskquota允许用户定义不同的磁盘配额限制以及可容忍的最大数据倾斜比率。
Flink发布1.15.0版本
- 进一步明确了Checkpoint与Savepoint在语义上的区别,提高了Savepoint的性能,并允许用户更精确的控制Savepoint的生命周期;
- 进一步完善了流作业自动伸缩调度器的能力;
- 为用户提供了批作业根据数据量自动设置算子并发的能力;
- 提供了跨Source水印对齐的能力;
- 初步实现了Changelog Statebackend;
- 默认打开Final Checkpoint功能,保证有限数据作业流批处理结果一致;
- 初始提供了SQL作业状态兼容版本升级的能力;
- 提供了批模式下对Window table-valued函数的支持;
- SQL提供了对Json函数的支持;
- 进一步完善了Application部署模式;
- 增加和完善多个外部系统连接器;
- 去除了对特定Scala版本的依赖;
- 优化了Python API的性能。
ClickHouse共发布6个版本
2022年1月至今,ClickHouse主要发布了6个stable version, 其中包含一个LTS版本:v22.3。在这些版本中,ClickHouse在性能、集成度、可用性、稳定性方面取得了长足的进步。其中值得关注的特性有:
- schema自动推导:ClickHouse在v22.1加入了该特性,能自动根据外部文件后缀判断对应的压缩方法和数据格式,还能从ORC、Parquet、CSVWithNamesAndTypes、TSVWithNamesAndTypes等格式的文件中自动获取schema。
- 副本粒度的并行查询:在生产集群中,一个ClickHouse分片下通常由多个副本。默认情况下每个查询只能使用分片下某一个副本的计算和存储资源。因此ClickHouse在v22.1增加了一个新配置:allow_experimental_parallel_reading_from_replicas,在开启的情况下ClickHouse将会在一个分片的多个副本间分担查询任务,提升了集群资源的利用率。
- 列的稀疏编码:ClickHouse在v22.1中加入了该实验特性。列的稀疏编码是一种特殊的列编码,类似于LowCardinality,但它对用户完全透明:如果某一列主要包含零值,ClickHouse会自动将其编码为稀疏格式并自动优化稀疏编码列的计算。
- Hive表引擎:ClickHouse在v22.1中加入该特性。通过它可实现对Hive数仓的SELECT查询,目前支持ORC/Parquet/TEXT格式的Hive表查询,并通过分布式查询、本地文件缓存、行列裁剪、元数据缓存等方式不断优化Hive表引擎的性能。
- Projection Is Production Ready:Projection可让同一个ClickHouse表中拥有多份不同的数据表示,例如在一张表中同时存储聚合和明细数据。ClickHouse会自动优化查询,为其选择最合适的Projection。区别于物化视图,Projection可保证表的数据一致性。在v22.2中,Projection这个重量级特性已经是Production Ready状态
- ClickHouse Keeper Is Production Ready:在ClickHouse中,ClickHouse Keeper是ZooKeeper的替代品。它兼容 ZooKeeper的协议和数据模型,并可无缝替代 ZooKeeper(最高版本3.5)供ClickHouse和其他应用使用。它可作为独立组件运行,也可以嵌入到 clickhouse-server中运行。经过不断优化,从v22.3 LTS开始ClickHouse Keeper在读写方面都比ZooKeeper更快,同时消耗更少的内存,日志和快照的磁盘占用也更低。在v22.3 LTS中,ClickHouse Keeper已处于Production Ready的状态
- 半结构化数据:ClickHouse在v22.3 LTS中引入了这个实验特性。通过半结构化类型,ClickHouse可在未指定JSON schema的情况下分析JSON数据。JSON中可任意嵌套array和map等复杂类型,ClickHouse内部会自动调整对JSON数据的表示。该特性大大提升了ClickHouse分析半结构化数据的易用性和性能。
- 事务:ClickHouse在v22.4中引入了事务作为实验特性。通过BEGIN TRANSACTION, COMMIT, ROLLBACK语句支持原子地插入多张表或物化视图,以及从单个快照进行满足一致性和隔离性的读取。
- ClickHouse启动加速:v22.4中引入了配置use_metadata_cache,通过它可选择将元数据缓存于内嵌的RocksDB存储引擎中。当ClickHouse启动时,它会尽量从缓存中获取元数据,否则退化到从磁盘文件获取。在极端情况下(700k个parts), 它能使启动时间从75分钟缩短到20秒
- 并行Hash Join:v22.5中引入了并行Hash Join。这种新的Join实现将Join切分成多个block然后并行执行。这对大数据量的Join尤其有用,在并行度足够高的情况下可减少80%的查询时长。该特性可通过配置join_algorithm = 'parallel_hash'来开启。
国产数据库
SequoiaDB发布3.6及5.0.3版本
2022年1月至今,巨杉数据库SequoiaDB主要发布了v3.6及v5.0.3两个版本,在性能等方面进行了优化提升。
一、主要特性:
- SQL引擎:新增了建表语句选项,支持映射到存储引擎中已存在的集合;
- 存储引擎:新增了上下文清理机制,回收站能力,及Flink 连接器,提供 SequoiaDB 与流式框架对接的能力。与此同时,对索引元数据纳入编目节点统一管理,增强索引一致性,并提供独立索引能力,支持根据业务需要在特定的节点上创建索引。
二、性能优化(主要集中在SQL引擎方面):
- SELECT ... LOCK IN SHARE MODE更新为使用共享锁,提升操作并发性能;
- 优化部分场景下SELECT COUNT的性能;
- 优化多字段IN查询以及多字段多范围查询时的性能;
- 优化联合索引关联查询时,支持BKA JOIN算法以提升对应JOIN操作的性能;
- 优化提升OR条件下INDEX MERGE的性能等。
三、工具优化:
- SQL引擎:新增实例组用户密码变更工具ha_inst_group_chpass,元数据映射初始化工具sql_enable_mapping,元数据映射查看工具sql_get_mapping等;
- 存储引擎:sdbimprt工具返回唯一索引冲突数。
达梦数据库发布DM 8.1.2.116版本
2022年1月至今,达梦数据库主要发布了DM 8.1版本,其中值得关注的更新如下:
- 基于AWR功能,提供DBA_HIST_TBSPC_SPACE_USAGE动态视图,通过该视图可以查询快照时间点的表空间的空间使用情况;
- 新增了SVI权限角色和新的系统视图,进一步控制普通用户的权限,增加系统安全性的同时不影响普通用户的正常使用;
- 分区表增删子表与查询并发;
- 新增支持两种加密算法XASJ_SYMM, XASJ_ASYMM;
- 新增支持json_table相关功能;
- 新增text数据类型比较功能;
- 对多表连接+层次查询+order by rowid场景的SQL语句执行速度进行优化;
- 对unpivot查询获取执行计划优化。
Qianbase™发布1.6.6SP6_1~SP6_3
易鲸捷Qianbase™在2022年上半年结合用户需求和项目实践,陆续发布了Qianbase™ 1.6.6SP6_1~SP6_3,针对产品的功能、可用性、稳定性及数据一致性等方面进行进一步优化,主要新增特性及功能增强包括:
1、数据库:
- 优化ESP退出机制,支持session连接断开或事务结束时退出ESP,该机制通过CQD控制;
- 优化offender对于中文字符编码的支持。
2、存储引擎:优化RegionServer GC策略,支持单个大事务多个分支场景以及多个大事务并发场景。
3、连接服务:
- 增加WMS对于高并发场景的支持;
- 优化dcsstop机制。
4、异步复制:
- 提升JDBCTX从断点读取binlog性能;
- JDBCTX支持numeric超过18位解析;
- 修改binlog初始化后默认为最大可靠模式并提示配置远程集群信息;
- 解决主备切换后DDL导致集群故障的场景。
5、数据一致性:
- 解决事务卡在提交的第二阶段但客户端返回成功的一致性问题;
- 解决update与delete并发执行时更新丢失的问题。
6、高可用:解决在线balance后锁残留问题。
7、其他:优化sqcheck功能。
ArkDB主要提升及优化
2022年1月至今,ArkDB主要在以下方面进行了提升和优化:
- Arkolap自动优化SQL路由策略优化;
- ArkDB冷热数据分片管理实现;
- ArkDB冷热数据分片统一读写实现;
- ArkDB实现数据写入的精确统计分析;
- 稳定性提升优化;
- 新增存储引擎ArkFT,用来处理全文索引数据处理请求;
- 修改Arkolap存储引擎的创建方式;
- 通过使用libcurl来优化对ES访问性能以及功能完备性。
OushuDB 5.0版本更新概要
2022年上半年,OushuDB发布的5.0版本主要在以下方面进行了提升和优化:
- 多主节点架构,实现了主节点集群的高可用,可以水平扩展,支持分析型负载的高并发;
- 多虚拟存储集群架构,支持多租户的存储资源隔离,有效解决了单一存储集群资源瓶颈的限制;
- 分区表元数据重构,极大地降低了元数据体量,提升了分区表操作的性能;
- AO表事务重构,减少了对元数据的读写,进一步提升update/delete性能。
云数据库
华为云2022上半年数据库产品更新汇总
一、华为云GaussDB(for openGauss)
GaussDB(for openGauss)主要发布了2.7.1.200,新特性主要有:
- 行存转向量化:行存转向量化适配,混合负载时性能提升。在相同资源环境和业务负载情况下,TPC-H性能较“行存引擎+行存执行框架”提升30%。
- 并行逻辑解码:在使用JDBC或pg_recvlogical解码时,通过设置parallel-decode-num参数来开启并行解码特性,数据库内核通过一个读取线程、多个解码线程以及一个发送线程之间的流水线协同运行进行逻辑解码操作,解码速度显著提升。
- Global SysCache:将系统缓存与会话解耦,绑定到线程上,结合线程池特性达到降低内存占用的目的,同时结合全局缓存,提升缓存命中率,保持性能稳定。
- 支持流式容灾:计划内、计划外容灾切换保证分布式事务强一致,相比之前的基于OBS的容灾,流式复制提供更快的性能和更高的可用性,RPO<10秒,RTO<10分钟。
- 支持NAS备份恢复:可备份到NAS并基于NAS恢复,适合期望把备份文件存放在云外的客户。
二、华为云GaussDB(for MySQL)
新功能如下:
- 数据库代理Proxy支持会话级一致性读,解决读取一致性诉求;
- 数据库代理Proxy支持规格变更;
- GaussDB(for MySQL)支持秒级监控,提供1S和5S的监控粒度,助力用户问题排查;
- GaussDB(for MySQL)支持SQL限流功能,提升业务稳定性;
- GaussDB(for MySQL)支持DAS慢日志导出;
- 支持慢日志脱敏开关功能,用户可以自行控制日志是否脱敏;
- 备份恢复按时间点恢复支持恢复到当前实例、已有实例;
- 支持定时重启实例。
三、 华为云RDS系列产品
- 极速型SSD云盘,结合25GE网络和RDMA技术,可以提供单盘最大吞吐量达1000 MB/s并具有亚毫秒级低时延性能;
- 数据库停机不计费功能,支持对数据库实例关机,通过暂时停止按需实例以节省费用;
- RDS for MySQL高可用只读实例:当只读实例所在物理机故障后,备用只读实例会自动顶替以达到高可用,减少由于只读实例长时间重建和恢复对业务的影响;
- RDS for MySQL多Proxy功能:云数据库MySQL支持开通单Proxy或多Proxy功能。其中,多Proxy功能支持创建多个Proxy实例并设置只读权重,适用于需要业务隔离的场景;
- RDS for PostgreSQL支持升级内核小版本:支持手动升级内核小版本,内核小版本的升级涉及性能提升、新功能或问题修复等;
- 新增SQL Server 2019系列,支持跨版本恢复。
四、华为云GaussDB(for Redis)
新发布的核心特性有:
- 企业级双活容灾:支持建立主备容灾实例,数据实时同步,10s RPO;
- 多租隔离能力提升:单实例支持6w多DB;
- 前缀搜索性能提升:SCAN match prefix*速度比开源Redis快1000倍;
- 服务化能力提升:WebClient网页客户端、快速规格选型、监控指标聚合等;
- 业务场景提升:排行榜、延迟队列等业务场景下性能提升;
- 支持0改造搬迁:完全兼容主从/哨兵/集群模式SDK,业务无需改代码即可上云;
- 兼容性提升:支持布隆过滤器、Redisson分布式锁API、阻塞命令、key过期事件监听等。
五、文档数据库服务DDS
DDS主要发布了4.2版本等其他管控特性,新特性主要有:
- 4.2版本正式商用;
- 集群时间点备份恢复;
- 副本集支持添加只读节点;
- 支持租户面小版本升级。
六、分布式数据库中间件DDM
- DDM备份恢复功能:DDM恢复特性用于误删库或者RDS for MySQL本身出现异常等业务场景,可根据过去的某个时间点,将DDM元数据数据与已经PITR恢复完成的RDS for MySQL实例进行匹配,重建DDM和RDS for MySQL的关联关系,恢复DDM;
- 管理员账号功能;
- 只读组可在同VPC内跨子网创建功能。
七、数据复制服务DRS
- 同步场景和灾备场景支持包周期和多规格,并统一调整价格策略;
- DB2-GaussDB(for openGauss)同步场景下支持DB210.1,11.1,11.5版本;
- MySQL-MySQL、GaussDB(for MySQL)等10+条重要链路的常用功能特性拉齐(包括行过滤、增量DDL等);
- 支持同步场景的TiDB-GaussDB(for MySQL)新链路;
- 支持同步场景的DB2-Kafka新链路;
- 支持同步场景的SQL Server-GaussDB(DWS)新链路;
- 支持同步场景的MongoDB副本集-MongoDB副本集新链路;
- 同步场景下MySQL-CSS支持行过滤、列过滤、对象选择excel导入、任务克隆等功能;
- 同步场景下MySQL-GaussDB(DWS)支持增加时间戳、行过滤等常用数据加工功能。
阿里云2022上半年数据库产品更新汇总
一、阿里云数据库自研产品
1、云原生关系型数据库PolarDB
1)PolarDB-X发布三个版本
2022年1月,PolarDB-X正式发布2.0.1版本,更新内容包括新增读写分离、集群扩缩容等特性,兼容maxwell和debezium增量日志订阅,以及新增其他众多新特性和修复若干问题。
2022年3月,PolarDB-X正式发布2.1.0版本,包含了四大核心特性,全面提升PolarDB-X稳定性和生态兼容性,其中包含基于Paxos的三副本共识协议。
2022年4月,PolarDB-X正式发布2.1.1版本,重点推出冷热数据新特性,可以支持业务表的数据按照数据特性分别存储在不同的存储介质上,比如将冷数据存储到Aliyun OSS对象存储上。
2)PolarDB for PostgreSQL
2022年3月2日,开源PolarDB企业级架构重磅发布,首次公开开源PolarDB的总体结构设计和企业级特性,对PolarDB for PostgreSQL的存储计算分离架构、HTAP架构、三节点高可用架构进行了全面介绍。
PolarDB for PostgreSQL 100%兼容PostgreSQL,采用基于共享存储的存储计算分离架构,具有极致弹性、毫秒级延迟,支持HTAP的能力,还支持时空、GIS、图像、向量、搜索、图谱等多模创新特性,可应对企业对数据处理日新月异的需求。
- 极致弹性:存储与计算能力均可独立地横向扩展:
- 当计算能力不够时,可以单独扩展计算集群,数据无需复制;
- 当存储容量或I/O不够时,可以单独扩展存储集群,而不中断业务。
- 毫秒级延迟:
- WAL日志存储在共享存储上,RW到所有RO之间仅复制WAL的元数据;
- 独创的LogIndex技术,实现了Lazy回放和Parallel回放,理论上最大程度地缩小了RW和RO节点间的延迟。
- HTAP能力:基于Shared-Storage的分布式并行执行框架,加速在OLTP场景下的OLAP查询。一套OLTP型的数据,可支持2套计算引擎:
- 单机执行引擎:处理高并发的TP型负载。
- 分布式执行引擎:处理大查询的AP型负载。
3)PolarDB MySQL Serverless SCC强一致读功能上线
PolarTrans事务系统利用提交时间戳技术CTS和RDMA网络,在内核层面提供集群强一致性读SCC服务,保证发往集群任意副本的读请求都可以获得强一致性的结果。且在强一致性的情况下,RO的读能力相比弱一致的性能衰减小于10%。
2、云原生数据仓库AnalyticDB
1)云原生数据仓库AnalyticDB PostgreSQL版 - ADB PostgreSQL新内核版本,发布pg_hint_plan和Query Cache
AnalyticDB PostgreSQL版新增pg_hint_plan插件,可以以注释形式(Hints)强制干预和优化执行计划,并对调优后的SQL模板和Hints进行注册,后续遇到相同SQL模板(常数参数数值不同其它值都相同)的SQL语句将自动生成调优后的执行计划,从而增加执行效率。
AnalyticDB PostgreSQL版新增querycache功能,用于缓存查询结果。对于重复的查询,查询耗时可以达到毫秒级。适配商业智能(BI)和数字大屏的高频场景的访问,可以达到毫秒级结果访问,加速分析效率,降低结果重复计算压力。
2)云原生数据仓库AnalyticDB PostgreSQL版 - AnalyticDB PostgreSQL全新云原生架构实例正式发布
本次发布的Serverless版基于全新的云原生架构,解耦计算和存储,实现计算存储独立扩缩容。
计算资源实现了16节点的秒级扩缩容,大集群128节点扩缩6分钟内的极致弹性。
按需存储,存储无需预置,实现存储总量无上限,按量付费的同时单价降低80%。
数据共享即将开放,支持新架构实例间的“一写多读”,让企业内的数据更好地流动,打破数据孤岛。
3)云原生数据仓库AnalyticDB PostgreSQL版 - AnalyticDB PostgreSQL国内率先发布跨实例数据共享能力
云原生数据仓库AnalyticDB PostgreSQL在国内率先发布了数据仓库实例和数据库级别的数据共享能力。该能力可以快速打破多实例间物理隔离和数据库间的逻辑隔离,无需任何数据移动即可跨实例和数据库对授权的数据直接进行数据分析和计算。
3、云原生多模数据库Lindrom
1)Lindorm支持BLOB大对象一体化处理
Lindorm通过将宽表模型和对象模型融合,向用户呈现一体化的BLOB数据处理视图,支持自动将大对象BLOB、对象的元数据(标签、属性等)存访在一张宽表里,使用统一的SQL接口存储和检索数据。满足自动驾驶场景下对大JSON对象(大于10MB)的存储和检索需求,也可以满足金融、IoT、基因等场景结构化数据和非结构化数据等融合存储需求。
2)Lindorm完成物联网端侧能力集成
Lindorm支持与EMQ (自e3.3.6和e4.4.1版本起)无缝对接实现物联网数据入库,EMQx企业版默认内置EMQx sink提供MQTT、MQTT-SN、CoAP、LwM2M、WebSocket等协议解析及数据入库,支持基于SQL定义数据规则处理逻辑,并将计算结果集写入Lindorm宽表/时序。
二、 阿里云开源托管 & NoSQL产品
1、云数据库MySQL版
- RDS MySQL 8.0开放default_authentication_plugin参数设置;
- 只读实例支持开启binlog;
- 支持控制台修改参数时自定义配置重启时间;
- 云盘只读实例支持可用区迁移;
- RDS MySQL 5.7支持升级至RDS MySQL 8.0;
- RDS MySQL Serverless开启公测。
2、云数据库PostgreSQL版
- 支持索引推荐index_adviser插件;
- 云盘类型支持跨可用区迁移;
- 新增高可用版通用型系列售卖;
- 一键上云支持公网PostgreSQL;
- 支持 Babelfish;
- 支持存储空间自动扩容。
3、云数据库SQL Server版
- 共享规格支持快照备份;
- CloudDBA支持深度检测功能;
- 企业集群版支持备库可读。
4、云数据库专属集群
- Mybase MySQL主从版新增推荐架构: 支持单节点和一主多从;
- Mybase集群画像支持SQL Server引擎;
- Mybase存储资源包支持叠加购买多个存储包。
5、云数据库Redis版
- Redis/Tair概览页已支持全局实例导出;
- Tair(Redis企业版)现已开放TairTS时序数据结构;
- Tair(Redis企业版)现已开放TairCpc数据结构;
- Redis/Tair(云盘版)在韩国(首尔)正式开服;
- Redis(云盘版)已支持带有Proxy的集群版架构;
- Redis云盘版(云原生架构)现已经支持Redis 7.0。
腾讯云2022上半年数据库产品更新汇总
一、TDSQL-C成为全球首个支持400TB+的云原生数据库
云原生数据库TDSQL-C聚焦性能突破,持续孵化内核特性、优化分布式存储层引擎以及横向扩展机制,并且完成海量存储能力升级,成为全球首个支持400TB+的云原生数据库。
- MySQL 8.0支持只读实例扩展,显著提升数据库集群读性能扩展能力;
- 分布式智能存储加入轮询、算法优化、消除竞争以及消除锁等机制,优化存储引擎;优化NVMe固态盘的IOPS和时延性能、线程绑核、兼容冷热日志分离管理;
- 内核更新,优化BINLOG LOCK_done锁冲突、使用Lock Free Hash优化trx_sys mutex冲突以及针对redo log的刷盘机制进行优化,大幅度提升数据库写入性能;
- 海量存储扩展,全球首个支持400TB+的云原生数据库;
- 账号管理支持批量授权/回收,账号连接数限制和授权预览;
- 参数管理新增历史修改记录查询,指定维护时间窗定时生效;
- 优化备份管理功能,支持逻辑备份与快照备份、备份保留时间;
- 支持查询和下载慢日志明细,支持csv和原生格式的文件。
二、TDSQL MySQL版发布正式版本19.5和多个补丁版本
- 备份与恢复功能增强和优化,支持跨集群回档;
- online DDL增强,支持指定账号密码执行DDL、赤兔上执行DDL等功能;
- rename问题修复;
- OSS新增MySQL参数;
- 单个集群中支持上架不同CPU架构的机型,创建实例时选择架构x86 和arm;
- 多源同步功能增强,性能优化,过滤表支持正则表达式,数据库中间件分区键可配置等;
- 赤兔的用户体验、功能都进行了优化和增强;
- 网关新增了参数,并对已有参数进行了优化;
- 支持全局唯一索引、变量等新特性;
- sequence功能优化,支持cache等;
- 备份功能优化,支持回档到正式实例;
- 公有云支持控制台修改灾备实例参数;
- online DDL增强,支持指定账号密码执行DDL、赤兔上执行DDL等功能。
三、TDSQL TDStore引擎版公测期间持续发布多个新功能
- 语法兼容度增强,支持试图、触发器、函数、存储过程的创建与使用;
- 北上广深全面开区;
- 对接DTS,支持迁移上云至TDStore;
- 支持用户自定义系统参数;
- 支持数据库的全量备份与恢复;
- SQL慢日志的采集与展示;
- 用户自定义账号权限;
- online DDL增强;
- 安全性增强。
四、TDSQL PostgreSQL版Oracle兼容版集中式模式开放公有云内测,支持全局索引能力,提供数据订阅至Kafka能力
- Oracel兼容版开放集中式实例模式的公有云服务;
- 支持全局索引能力;
- 新增copy支持多字节分隔符文本入库能力;
- merge into性能大幅提升;
- 备份恢复功能进行了高可靠、高性能、大规格、高扩展、高压缩方面的增强优化;
- 新增全局session视图、数据库账号列表及相关操作,实现分布式的可视化执行状态树,方便用户自助运维和业务优化,降低用户使用分布式系统的复杂度;
- 支持TDSQL PostgreSQL版本的数据订阅至Kafka功能。
五、TDSQL-A PostgreSQL版内核升级,支持行列混合存储、高压缩比、资源优先级调度、高速入仓等能力升级增强
2022年6月公有云TDSQL-A升级,开放公有云服务:
- 全新先进的列式存储引擎,支持行列混合存储;
- 支持多种透明压缩及内部自研轻量级压缩算法,提供极高的压缩比;并支持列级别压缩设置;
- 支持向量化引擎,并行架构全新升级,支持算子级并行能力;
- 全新FN数据交互总线解决高并发跨节点join链接膨胀难题,解决集群网络瓶颈;
- 提供资源优先级调度能力;
- 支持tdsql pg到tdsql-a pg的主主复制能力;
- 提供高效入仓工具TDX,近线性提升入仓能力。
六、TDSQL-H LibraDB开通南京三区、支持CDC源端目的端数据一致性对比、多表归并、调整实例配置、开启分析引擎节点IP、实例标签管理等能力
2022年1月至今,持续完善LibraDB功能,主要发布功能如下:
- 支持对具体的CDC任务创建数据对比,验证CDC任务中OLTP数据同步至LibraSQL的数据是否一致;
- 支持开启节点IP功能,开启后会为TDSQL-H LibraDB实例的LibraSQL分析引擎各节点分配VIP;
- 支持的地域增加南京三区;
- 支持将已有OLTP数据库实例中的多个表合并,实时汇聚到一个LibraSQL分析引擎进行分析;
- 支持对TDSQL-H LibraDB实例规格进行升配或降配;
- 支持通过标签从各种维度对TDSQL-H LibraDB实例进行分类管理;
- CDC高级设置增加参数decimal类型;
- 分析引擎开启MySQL wire端口。
七、图数据库KonisGraph新增TinkerPop Gremlin查询,支持账户权限的访问管理、支持配置安全组规则
- 支持TinkerPop Gremlin查询,可使用 Go.Python .Java 等多语言SDK通过Gremlin来访问图数据库;
- 内核迭代:bothV等算子优化;
- 支持点边属性值创建或清除索引,方便快速查找及排序,提升性能;
- 支持访问管理CAM,帮助客户管理账户的访问使用权限;
- 支持标签授权,可按照标签授权子账号拥有图数据库KonisGraph的查看和管理权限;
- 控制台体验优化,实例ID和IP支持精确查询,实例名称支持模糊查询;
- 支持配置安全组,及调整安全组优先级,对访问数据库的客户端进行网络控制。
京东云2022上半年数据库产品更新汇总
京东云数据库在2022年上半年不断推陈出新,提供了众多功能更新及优化,具体如下:
一、数据库自治服务SmartDBA
2022年1月数据库自治服务SmartDBA产品正式发布。SmartDBA 采用大数据计算和机器学习技术,对数据库性能进行全面诊断,以用户视角进行性能指标的多维展示,帮助用户快速了解数据库运行状况、自动定位问题和故障解决,致力于为用户提供专业的数据库运维服务,保证用户数据库长期平稳高效地运行。
SmartDBA可帮助相关人员快速了解数据库运行状态和定位隐患问题,主要功能如下:
1、性能监控
- 丰富的数据库性能指标,支持实时性能查看,性能趋势联动对比;
- 具有监控大盘,可自定义实例与监控指标,帮助分析整体性能。
2、诊断优化
- 一键健康等级诊断,全面了解数据库实例健康状况;
- 慢SQL、锁、表诊断,定位异常并提供运维优化建议。
3、巡检评分
- 每日定时巡检;
- 自动生成巡检报告。
二、分析型数据库ClickHouse
- 支持水平扩缩副本数,提高集群并发数、实现单节点集群高可用;
- 提供性能型SSD、通用型SSD和容量型HDD云盘存储,满足用户对不同IO吞吐量的需求;
- 提供冷热数据分层功能,支持自动冷热数据迁移,在保证性能的前提下,存储成本降低80%以上;
- 支持21.8.14.5版本,字典的数据类型支持array,并优化topN的性能。
三、分布式数据库StarDB
- 全新架构升级:全新微服务架构升级,平台服务各模块可插拔,根据不同用户需求场景灵活组合形成不同数据库解决方案;支持轻量版、基础版、标准版部署;
- 两种访问模式:一套计算引擎两种服务模式,代理和驱动模式自由切换;
- 全新分布式语言DistSQL:分布式资源管理、对象管理、权限管理和服务治理语言DistSQL语法设计和实现;
- 分布式服务治理:实现集群隔离、计算节点高可用、事件通知机制、异步DDL等分布式服务治理;
- 兼容更多数据对象:支持包括分布式视图、分布式触发器和单节点存储过程;
- 资源池化和资源调度:兼容容器化、云资源管理和部署,资源池化支持自动资源调度管理分配;
- 全链路性能分析诊断:分布式集群全链路性能分析定位,一键健康诊断;基于性能基线模型健康度评分提示异常预警;
- 自定义策略管理:支持自定义备份策略、文件保留策略、告警策略和告警模板配置管理;
- 存储引擎并发调度:存储引擎层增强基于协程化方式构建的多线程并发调度能力。
四、分布式数据库TiDB
1、支持增量数据复制,可以将TiDB集群的增量数据,准实时地复制到MySQL兼容数据库或Kafka中,可以用于:
- TiDB数据库之间的灾备场景,能够在灾难发生时保证主备集群数据的最终一致性;
- 支持其他系统订阅数据变更,能够为监控、缓存、全文索引、数据分析、异构数据库的主从复制等场景提供数据源。
2、支持ticdc节点创建及ticdc节点的水平扩缩容。3、TiDB节点和monitor节点在原先水平扩缩的基础上,进一步支持了垂直扩缩容,可同时调整节点的数目、CPU及内存,极大地增强了集群的灵活性,更好地满足了多样业务场景的需求。
五、RDS MySQL
- 优化了备份逻辑,减少上锁时间从而减轻对主库的读写SQL的影响;
- 优化了版本升级策略,缩短只读实例小版本升级影响;
- 云盘实例备份快照增加了预热流程,可大幅缩短快照过程中实例的只读时间;
- 参数组完善了对实例各种状态的处理,可降低减少实例各种状态对修改实例参数的影响;
- 可支持指定版本升级;
- 增加了地域维度备份存储空间的统计分析。
六、数据管理DMS
- 扩展数据库类型,支持京东云分布式数据库StarDB;
- 支持StarDB分布式数据库可视化建表;
- 支持StarDB DDL、DML的工单管理;
- 支持MySQL视图管理、存储过程等可编程对象管理。
青云2022上半年大数据及数据库产品更新汇总
一、大数据生态圈
1、2022年5月19日,青云大数据工作台v1.0正式发布
青云采用云原生架构的一站式智能大数据开发与治理平台,聚焦于数据使用场景,解决数据集成、流批一体计算、统一作业运维调度、数据服务共享等问题,可帮助用户实现数据在云平台各产品之间的快速流转,支撑上层业务应用,消除“数据孤岛”,统一调度和计算,专注于数据价值挖掘和探索,提升数据洞察能力。
2、2022年1月21日,大数据引擎QingMR v2.6.1版本上线
修复Apache Log4j2漏洞,提升QingMR服务的安全性;新增“节点服务状态”告警,当节点服务状态异常时,将会告警。
3、2022年1月19日,Kafka 1.1.1 - v1.6.0版本上线
修改健康检查逻辑,解决健康监测引起的性能占用问题,优化参数及稳定性。
二、云数据库
1、2022年4月12日,MySQL Plus 1.1.1版本上线
MySQL Plus 1.1.1版本基于MySQL 5.6、5.7、8.0内核构建。新增慢日志预览功能;修复集群自动化运维问题,加强集群服务稳定性等。
2、2022年4月8日,OpenSearch 1.2.4 - v1.0.0版本上线
基于原生OpenSearch 1.2.4内核版本构建。新增集群节点新增企业型e3云服务器类型等功能。
3、2022年4月7日,PG11-高可用版-v1.0.9版本上线
更新timescaleDB插件版本到1.7.3;优化监控项字段,提升用户体验。
4、2022年3月2日,ClickHouse v1.1.8版本上线
集群添加节点,新支持分片权重自动均衡;支持修改最大分区数等。
5、2022年1月24日,MongoDB 3.6.8 - v1.0.1 & MongoDB 4.0.3 - v1.0.0版本上线
基于MongoDB 3.6.8内核版本构建。支持MongoDB集群间数据迁移和同步;提供集群灾备和多活等功能。
6、2022年1月18日,Redis 6.2.5 - v1.0.0版本上线
基于Redis 6.2.5版本构建;新增四种资源配置类型,适配研发测试及生产环境;支持I/O多线程,显著提升性能;新增TLS加密传输功能;新增ACL管理功能等。
7、RadonDB开源社区多款开源项目有序发版
2022年4月7日,RadonDB MySQL Kubernetes 2.1.4发布,优化Operator在宕机场景的可用性;持久化Xenon元数据等。
2022年3月14日,RadonDB MySQL Kubernetes 2.1.3发布,可一键发布工作流;支持按标签重建集群节点;增加Pod调试模式。
2022年2月17日,RadonDB MySQL Kubernetes 2.1.2发布,高可用版本的MySQL Operator,增强节点功能,支持e2e测试框架等。
2022年1月21日,RadonDB PostgreSQL Operator 2.1.0发布,新增支持PostgreSQL 11.13和14.1内核版本。