数据库管理225期 2024-07-30
- 数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)
- 1 二进制向量维度格式
- 2 RAC上的复制HNSW向量索引
- 3 JSON集合
- 4 JSON_ID SQL函数
- 5 优化的通过网络对NVMe设备的Oracle的原生访问
- 6 DBCA支持PMEM存储
- 7 DBCA支持标准版高可用
- 8 Oracle DB安装程序的命令行支持
- 9 Oracle GI安装程序的命令行支持
- 10 Oracle GI安装程序加强
- 11 单服务器滚动数据库维护
- 12 其他
- 总结
数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
上周Oracle发布了针对于Engineered System(即Exadata和ODA)的Oracle Database 23.5,官方文档中也悄然更新了针对23.5的新特性的解读,这里也依托官方文档针对其中我感兴趣的一些新特性进行相关探索。
1 二进制向量维度格式
BINARY Vector Dimension Format
二级制(BINARY)是一个新的用于VECTOR数据类型的新的维度格式。二级制向量的每个维度都可以通过一个单一bit(0或1)来表示。二进制向量本身由一个打包的UINT8数组表示,例如,一个UINT8值表示二进制向量的8个维度。二进制向量可以使用Cohere提供的嵌入模型(例如embedv3)、Hugging Face Sentence Transformers等生成。
相较于FLOAT32向量,二级制向量提供了两点重点优势:
- 二进制向量的存储占用空间减少了32倍
- 二进制向量上的距离计算速度可以提高40倍,从而加速了向量搜索
与FLOAT32矢量相比,二进制向量可以提供较低的精度。但是,对各种数据集的评估表明,它们仍然可以达到FLOAT32向量的90%或更高的精度。
2 RAC上的复制HNSW向量索引
Duplicated HNSW Vector Indexes on RAC
持当向量池(Vector Pool)中有足够的内存空间时在RAC环境中的所有实例中实现完整的复制。在Autonomous Database Serverless部署中,向量池是自动管理的(这个也是23.5新特性之一)。
不同RAC实例上的HNSW索引的所有副本共享磁盘上相同的ROWID-to-VID映射表。然而,每个实例都独立构建其内存中的邻居图(neighbor graph),因此,根据使用不同RAC实例来提供查询,可能会得到不同的近似搜索结果。
企业客户经常在RAC环境中部署Oracle数据库。此功能允许通过在集群的所有实例进行完全复制来为RAC创建HNSW向量索引。针对RAC集群的任何实例的查询都可以利用HNSW向量索引,从而实现超快速的相似性搜索。
3 JSON集合
JSON Collections
JSON集合是一个特殊的表或视图。与JSON二元性视图类似,它只有一列(称为数据)来保存JSON文档(作为JSON类型)。文档由ID值标识。JSON集合表|视图旨在简化SQL访问,并与SQL完全互操作。例如,可以在JSON集合表中执行简单的INSERT AS SELECT操作,如果JSON文档中不存在id值,它们将被自动注入。JSON集合表和视图与MongoDB兼容,也可与JSON Duality视图互操作,事实上,JSON Dualitty视图也是JSON集合视图。
JSON集合表|视图可以被视为SODA集合的替代品,SODA集合不是数据库中的优选方案,因此更难与SQL一起使用。
原生JSON集合简化了在Oracle数据库中处理JSON数据的过程。它们使从SQL查询中将报告生成为JSON文档变得更容易,并将JSON文档集公开给以文档为中心的API,如用于MongoDB的Oracle数据库API。
4 JSON_ID SQL函数
JSON_ID SQL Operator
SQL函数JSON_ID用于生成一个唯一的文档标识符值,用于对集合中的JSON文档进行唯一访问。JSON_ID的参数决定了该值是12字节的OID还是16字节的UUID。在Oracle JSON集合中,JSON_ID用于(自动或显式)创建文档标识符field_ID的值。
JSON_ID简化了唯一标识JSON文档的ID值的生成。
5 优化的通过网络对NVMe设备的Oracle的原生访问
Optimized Oracle Native Access to NVMe Devices Over Fabric
从Oracle Database 23ai开始,您可以使用TCP/IP网络连接使用NVMe over Fabrics(NVMe-oF)访问远程NVMe存储设备。Oracle Grid Infrastructure服务器充当启动器,连接到使用Linux内核nvmet_tcp模块创建的NVMe oF存储目标,为远程NVMe设备提供优化的用户模式访问。
NVMe-oF提供了一种低延迟和安全的方式来访问使用NVMe Over Fabrics目标导出的远程NVMe设备。Oracle提供了一种优化的方法,可以直接从Oracle进程访问这些NVMe-oF设备。这种访问NVMe-of设备的Oracle原生方法减少了延迟,而Oracle ASM使存储管理更容易。
6 DBCA支持PMEM存储
Oracle DBCA Support for PMEM Storage
Oracle Database Configuration Assistant (Oracle DBCA) 能够在创建单实例数据库时选择非易失性内存(persistent memory,PMEM)作为数据库的存储选项。
此功能自动化了为数据库存储分配PMEM设备的过程,能够将数据库文件放置在PMEM存储设备中。
7 DBCA支持标准版高可用
Oracle DBCA Support for Standard Edition High Availability
使用Oracle Database Configuration Assistant (Oracle DBCA) 并配合ASM或Oracle’s Advanced Cluster File System,现在可以快速创建一个完全配置为自动故障转移的标准版高可用性Oracle数据库。
Oracle标准版高可用性数据库现在可以非常轻松地创建,自动化程度更高,消除了手动步骤和相关的复杂性。
8 Oracle DB安装程序的命令行支持
Oracle Database Installer Command-Line Support
Oracle数据库安装程序现在支持使用命令行界面为这些命令指定命令和输入参数。
除了图形用户界面外,还使用命令行界面支持更简单、更容易的Oracle数据库部署。
9 Oracle GI安装程序的命令行支持
Oracle Grid Infrastructure Installer Command-Line Support
Oracle GI安装程序现在支持在命令行上指定生命周期管理操作和这些操作的输入参数。
除了图形用户界面外,还使用命令行支持更简单、更容易的Oracle GI部署。
10 Oracle GI安装程序加强
Oracle Grid Infrastructure Installer Improvements
Oracle GI安装程序已经加强,提供了创建和管理黄金映像以及执行out-of-place补丁应用的选项,同时减少了库存元数据,以有效管理安装和补丁应用。
直接使用Oracle GI安装程序进行out-of-place补丁应用操作,使补丁应用更易于管理和可靠。
11 单服务器滚动数据库维护
Single-Server Rolling Database Maintenance
单服务器滚动数据库维护创建一个新的本地数据库HOME,并从同一服务器上的新HOME启动同一数据库的第二个实例,允许在承载Oracle RAC One Node或Real Application Clusters(Oracle RAC)数据库的单台服务器上执行滚动补丁升级和维护操作。
单服务器滚动数据库维护在承载Oracle RAC或Oracle RAC One Node数据库的单个服务器上的维护活动(如补丁)期间提供数据库可用性。此功能显著提高了单节点数据库的可用性,而无需将其扩展到多节点集群并添加对共享存储的支持。
12 其他
其他还有不少关于FPP(Fleet Patching and Provisioning Server)相关特性,接触不多,这里就不作说明了。
总结
其实之前写过的优先级事务也是23ai新增的可用的特性,23.5又新增了一些增强特性。
老规矩,知道写了些啥