2022上半年盘点:20+主流数据库重大更新及技术要点汇总
Newsletter
2022-09-13 14:23:41
2022年上半年,各数据库厂商及产品都取得了长足的进步,在某些重点技术领域的突破,无论是产品还是市场方面都得到了不错的反馈,特别是以国产化、云为代表的厂商及产品表现突出。
从技术方向上看,以分布式、云原生、多模异构、HTAP、AI自治、安全为代表的技术,成为了各个产品发展的重点。在过去数年,分布式数据库发展迅速,是面对海量规模及高并发等场景的利器。通过数年实践,产品的基本功能、稳定性、性能等方面已趋于成熟,各家产品开始在易用性、可观察性、诊断能力、生态兼容等方向发力,并陆续开始有成果落地。相信分布式数据库的不断发展,会在未来得到更大范围的使用。
另一个热点方向则是HTAP,特别是分布式能力的引入,为AP方向的能力提供了更多算力,也为HTAP带来更多想象空间。从用户视角来看,HTAP简化了原有技术栈,统一访问方式,为用户带来更优质的体验。从发展来看,各家产品从HTAP能力的初步具备,逐步过渡到更精准的资源控制、更高效的执行效率等阶段,改善用户使用体验。未来对数据库,特别是分布式数据库而言,HTAP能力将成为厂商竞争的主要方向之一。
在云数据库领域,云原生数据库成为焦点,各厂商已从传统数据库托管类产品的竞争,过渡到自有云原生数据库产品的较量,承载规模、弹性能力、极致性价比等成为了发展要点,特别是Serverless方向,已成为后续发展的主流方向之一。虽然目前尚处于较早期的阶段,但其现有能力已非常诱人,未来发展空间巨大,甚至有可能成为各家发展的分水岭,带来弯道超车的契机。
在NoSQL领域,以图、时序为代表的产品成为了发展热点,一大批初创企业及产品受到了更多关注。在产品能力上,纷纷从兼容生态、突出核心、提升易用性等角度切入,并在更多场景上得到使用验证,大大扩展了原有的使用空间。此外,AI与数据库的结合、新型硬件的使用、安全能力也是各家发展的方向之一。
从数据库厂商对产品研发的角度上看,大厂重点落在智能化、新硬件、数据流转等方向;云厂商在构建新一代云原生、Serverless等方向发力,希望找到突破口实现产品升级;新兴厂商则在某些垂直领域,如HTAP、NoSQL、高兼容等方向着手,寻找差异化竞争路线;而开源产品,则更多在企业级能力、安全性等方面不断提升。
在如此百花争鸣的2022上半年,dbaplus社群携手一众数据库行业专家,汇总、梳理并提炼出主流数据库近半年的版本更迭、性能优化、功能提升等关键信息,希望对大家了解数据库发展趋势,以及数据库选型工作有所帮助和启发。
DB-Engines数据库排行榜
一、RDBMS
二、NoSQL
三、NewSQL
四、时序数据库
五、大数据生态圈
-
Elastic共发布4个大版本
-
Greenplum共发布3个大版本
-
Flink发布1.15.0版本
-
ClickHouse共发布6个版本
六、国产数据库
七、云数据库
-
华为云2022上半年数据库产品更新汇总
-
阿里云2022上半年数据库产品更新汇总
-
腾讯云2022上半年数据库产品更新汇总
-
京东云2022上半年数据库产品更新汇总
-
青云2022上半年大数据及数据库产品更新汇总
推出dbaplus Newsletter的想法
感谢名单
为方便阅读、重点呈现,本文对各板块内容进行了精简,需阅读完整版可点击文末【阅读原文】或登录云盘下载:https://pan.baidu.com/s/1Yuvmxf5yB_uI4LuQra4XeQ (提取码:0630)
以下取自2022年6月的数据,具体信息可以参考http://db-engines.com/en/ranking/,数据仅供参考。
DB-Engines排名的数据依据5个不同的因素:
-
-
-
-
-
Stackoverflow上相关的问题和关注者数。
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)是一个突破性的数据保护解决方案,不仅消除了数据丢失风险,大幅降低数据保护给生产服务器带来的开销,还能持续验证数据的完整性和可恢复性,通过不断扩展来保护数以千计的数据库,同时为数据备份提供完整生命周期保护,包括磁盘备份、磁带备份和远程复制。
注:关于上述更新的详情,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
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机器学习(ML),这是一种完全托管、高度可扩展、经济高效的机器学习解决方案,适用于存储在MySQL中的数据。HeatWave ML提供了一个简单的SQL接口,用于训练和使用预测机器学习模型,新手和经验丰富的ML从业者都可以使用。使用HeatWave ML,用户只需调用SQL即可训练模型。同样,用户可以使用单个语句生成预测,从而轻松地集成到用户的应用程序中。
HeatWave现在支持多达1017个基本关系列(加载到HeatWave中的表),以及多达1800个中间关系列(查询处理期间使用的中间表)。基本关系和中间关系的最大列宽增加到了65532字节。
注:关于上述更新的详情,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
通常,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是一款(MySQL客户端协议)在线事务处理(OLTP)分布式数据库(对标PostgreSQL协议的CockroachDB),Xpand则是存储引擎。
使用MariaDB Xpand需要许可证密钥(45天非生产试用期)。软件下载地址 https://mariadb.com/downloads/#xpand
-
符合ACID的分布式数据库,适用于海量数据、高并发和强一致性在线事务处理(OLTP);
-
-
-
数据分布通过Xpand水平划分为切片,并将切片的副本(默认两个)分布在节点之间;
-
-
注:关于上述更新的详情,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
PostgreSQL发布15 beta 1和14.4版本
2022年1月至今,PostgreSQL发布了15 beta 1和14.4等多个版本,其中值得关注的增强有:
-
排序性能提升显著,尤其是在需要排序的数据量超过了work_mem的情况下,in-memory的排序性能也有所提升;
-
-
postgres_fdw外部表支持下推case when表达式;
-
窗口函数row_number(), rank()和count()性能提升;
-
full-page-write全页写支持lz4和zstd压缩算法;
-
-
-
-
发布端支持指定某些列进行发布,比如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查询函数,json_exists()、json_query()和json_value();
-
唯一约束和索引支持将NULL视为不同的值,之前的版本需要使用表达式索引进行限制;
-
CitusData于日前推出了Citus 11.0,并宣布将所有企业版的特性都进行开源。此前,Citus在版本更新时通常会同步发布2个版本:开源版本和包含一些额外功能的企业版本。
14.4版本修复了之前的14.0、14.1和14.2三个版本中使用create index concurrently和reindex concurrently导致索引损坏的BUG,会导致数据不一致,需要尽快升级至14.4版本。
注:关于上述更新的详情,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
2022年1月至今,OceanBase数据库共计迭代9个版本(企业版及社区版),进一步提升与增强性能、安全性、兼容性、诊断监控等企业级核心能力。其中,OceanBase 3.2.3作为3.x的LTS版本,是完整HTAP能力的重要里程碑,新特性如下:
-
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支持操作记录审计功能,自动记录所有的数据库变更操作。
-
支持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架构支持。
注:关于上述更新的详情,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
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参数及其读/写目的的更好方法;
-
-
改进了对网络缓冲区消耗的内存的管理,以及一个用于当总内存超过限制时删除客户端的配置选项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;
-
-
用listpack替换Hash、List、Zset中的ziplist,以提升性能;
-
CLUSTER SHARDS命令弃用CLUSTER SLOTS,解锁集群管理更多技巧;
-
CONFIG SET/GET可以在一次调用中处理多个配置;
-
-
-
配置:repl-diskless-sync(无盘复制)现在默认设置为yes;
-
-
现在允许在数据加载期间使用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特别注重在内存使用率上优化和命令执行性能上的提升,对其管理的每个子系统基本上都进行了多项改进,包括内存、计算、网络和存储。虽然默认情况下启用了一些优化,但其它优化可能需要配置才可以生效。
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服务,支持用户在全托管的数据库上运行关键业务交易和实时分析任务,充分享受云上的性能优势和业务连续性保障。
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进行统计和监控,从而更好地了解各种类型查询的资源消耗,以及发现分析慢查询。
截至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,并侧重更多的智能搜索能力特性。
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,也是作为一个时代的演变的结束。
-
自8.0版本开始,Elasticsearch默认会启动基本的安全策略,并自动配置生成安全证书,同时启用ssl/https;
-
集群内部tcp通信需要配置ca证书,新节点加入已有集群,可以通过专用工具生成临时的token;
-
集群外部访问也需要配置https证书,同时需要使用分配的用户名与密码访问。
-
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版本,中间也有多次存储空间的效能提升。
-
针对一些简单的字段类型,elasticsearch提供了基于doc_value的检索能力, 通过牺牲原有倒排索引的检索能力,换取了更快的索引写入速度、更高的压缩存储能力,更快统计聚合与排序性能;
-
目前支持的字段包括:numeric数值类型、date日期类型、keyword类型、ip地址、boolean布尔类型。
7、OpenJDK upgrade:Elasticsearch当前已经升级到OpenJDK 18.X。
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允许用户定义不同的磁盘配额限制以及可容忍的最大数据倾斜比率。
注:关于上述更新的详情,以及Greenplum商业组件的更新情况,可阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
-
进一步明确了Checkpoint与Savepoint在语义上的区别,提高了Savepoint的性能,并允许用户更精确的控制Savepoint的生命周期;
-
-
为用户提供了批作业根据数据量自动设置算子并发的能力;
-
-
初步实现了Changelog Statebackend;
-
默认打开Final Checkpoint功能,保证有限数据作业流批处理结果一致;
-
-
提供了批模式下对Window table-valued函数的支持;
-
-
-
-
-
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'来开启。
2022年1月至今,巨杉数据库SequoiaDB主要发布了v3.6及v5.0.3两个版本,在性能等方面进行了优化提升。
-
SQL引擎:新增了建表语句选项,支持映射到存储引擎中已存在的集合;
-
存储引擎:新增了上下文清理机制,回收站能力,及Flink 连接器,提供 SequoiaDB 与流式框架对接的能力。与此同时,对索引元数据纳入编目节点统一管理,增强索引一致性,并提供独立索引能力,支持根据业务需要在特定的节点上创建索引。
-
SELECT ... LOCK IN SHARE MODE更新为使用共享锁,提升操作并发性能;
-
-
-
优化联合索引关联查询时,支持BKA JOIN算法以提升对应JOIN操作的性能;
-
优化提升OR条件下INDEX MERGE的性能等。
-
SQL引擎:新增实例组用户密码变更工具ha_inst_group_chpass,元数据映射初始化工具sql_enable_mapping,元数据映射查看工具sql_get_mapping等;
-
存储引擎:sdbimprt工具返回唯一索引冲突数。
2022年1月至今,达梦数据库主要发布了DM 8.1版本,其中值得关注的更新如下:
-
基于AWR功能,提供DBA_HIST_TBSPC_SPACE_USAGE动态视图,通过该视图可以查询快照时间点的表空间的空间使用情况;
-
新增了SVI权限角色和新的系统视图,进一步控制普通用户的权限,增加系统安全性的同时不影响普通用户的正常使用;
-
-
新增支持两种加密算法XASJ_SYMM, XASJ_ASYMM;
-
-
-
对多表连接+层次查询+order by rowid场景的SQL语句执行速度进行优化;
-
注:关于DM 8.1更具体的新特性、功能改进、性能优化,可详细阅读本期Newsletter完整版(点击本文文末【阅读原文】可下载)
QianBase™发布1.6.6SP6_1~SP6_3
易鲸捷QianBase™在2022年上半年结合用户需求和项目实践,陆续发布了QianBase™ 1.6.6SP6_1~SP6_3,针对产品的功能、可用性、稳定性及数据一致性等方面进行进一步优化,主要新增特性及功能增强包括:
-
优化ESP退出机制,支持session连接断开或事务结束时退出ESP,该机制通过CQD控制;
-
2、存储引擎:优化RegionServer GC策略,支持单个大事务多个分支场景以及多个大事务并发场景。
-
-
-
修改binlog初始化后默认为最大可靠模式并提示配置远程集群信息;
-
-
解决事务卡在提交的第二阶段但客户端返回成功的一致性问题;
-
解决update与delete并发执行时更新丢失的问题。
2022年1月至今,ArkDB主要在以下方面进行了提升和优化:
-
-
-
-
-
-
新增存储引擎ArkFT,用来处理全文索引数据处理请求;
-
-
通过使用libcurl来优化对ES访问性能以及功能完备性。
dbaplus Newsletter旨在向广大技术爱好者提供数据库行业的最新技术发展趋势,为社区的技术发展提供一个统一的发声平台。为此,我们策划了RDBMS、NoSQL、NewSQL、时序数据库、大数据生态圈、国产数据库、云数据库等几个版块。
我们不以商业宣传为目的,不接受商业广告宣传,严格审查信息源的可信度和准确性,力争为大家提供一个纯净的技术学习环境,欢迎监督指正。
下期Newsletter计划时间是2022年12月12日~12月23日,如果有相关的信息提供请发送至邮箱:newsletter@dbaplus.cn
最后,感谢那些提供宝贵信息和建议的专家朋友,排名不分先后。
-
发送至邮箱:newsletter@dbaplus.cn
-
演讲嘉宾所在单位:中国信通院、京东、美团、字节跳动、蚂蚁集团、网易、新浪、携程、快手、唯品会、哔哩哔哩、vivo、工商银行、平安银行、光大银行、汇丰科技等产研界技术领跑单位。
-
大数据&数据资产管理:数据治理丨存算分离丨云原生OLAP丨湖仓一体丨智能分析
-
-
运维:AIOps丨故障根因分析丨性能优化丨在离线混部技术丨高可用建设
-
金融科技:规模化监控丨实时数仓丨分布式改造丨国产化替代丨数字化转型
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721