数据库管理-第225期 Oracle DB 23.5新特性一览(20240730)

数据库管理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值的生成。
image.png

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又新增了一些增强特性。
老规矩,知道写了些啥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PPT图表制作

一、表格的底纹 插入→表格→绘制表格→表设计→选择单元格→底纹 二、把一张图片做成九宫格 1. 把一张图片画成九宫格(处理过后还是一张图片,但是有框线) 绘制33表格→插入图片→全选表格单元格→右键设置形状格式→填充→图片或纹理填充…

前后端分离开发遵循接口规范-YAPI

目前,网站主流开发方式是前后端分离。因此前后端必须遵循一套统一的规范,才能保证前后端进行正常的数据(JSON数据格式)请求、影响,这套规范即是 YAPI. 产品经理撰写原型; 前端或后端撰写接口文档。 YAPI…

一座山城如何打造教育“一张网”

教育新基建作为国家新基建的重要组成部分,是实现教育高质量发展的基础支撑。2021年,教育部等六部门印发相关部署意见时明确提出:到2025年,基本形成结构优化、集约高效、安全可靠的教育新型基础设施体系。 在此宏观导向下,山城重庆积极响应,立足本地情况,开启了其特色化的探索之…

K8s对接Ceph-csi配置手册(附带踩坑记录以及解决方法)

目录 Ceph CSI (Container Storage Interface) CSI 的作用: 前提配置 版本信息 获取Ceph认证信息 获取Ceph集群Monitor信息 下载并部署Ceph CSI 如果此时全部显示错误,那就代表镜像拉取错误,此时执行的yaml脚本,通过yaml脚…

进行良好的文献综述能否提高学术研究的可信度

VersaBot一键生成文献综述 进行良好的文献综述 对于从多个方面提高学术研究的可信度至关重要; 1. 展示专业知识: 全面的回顾表明您对您所在领域的现有知识和相关理论有深入的了解。这将使您成为权威,并将您的研究置于更广泛的背景下。 2.…

ValueError: invalid literal for int() with base 10: ‘a‘

ValueError: invalid literal for int() with base 10: ‘a‘ 目录 ValueError: invalid literal for int() with base 10: ‘a‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰&#xff…

【CodinGame】趣味算法(教学用) CLASH OF CODE -20240730

文章目录 正文转换单位观察模式数字处理字符串处理 写在最后END 正文 转换单位 import sys import math# Auto-generated code below aims at helping you parse # the standard input according to the problem statement.n int(input()) for i in range(n):e int(input())…

win10 定时任务实战--开机启动 Java 应用

引言 在Windows 10系统中,可以通过结合任务计划程序(Task Scheduler)和批处理脚本(.bat)或PowerShell脚本来定期运行Java程序。以下是一个基本的步骤说明,展示如何设置这一过程。 第一步:准备…

爬虫“拥抱大模型”,有没有搞头?

验证码坐标识别 数据采集过程中,可能会碰到各种风控策略。其中,验证码人机验证是较为常见的,点选类验证码需要识别出相应的坐标,碰到这种情况,一般要么自己训练模型,要么对接打码平台。现在也可以将识别工…

多媒体技术:语音音频压缩

语音音频压缩 语音音频基础知识物理世界的声音——语音 语音音频编码方法波形编码波形编码原理常用波形编码技术脉冲编码调制PCM差分脉冲编码调制DPCM自适应差分脉冲编码调制ADPCM子带ADPCM 参数编码感知编码 语音音频编码框架语音编码框架音频编码框架混合编码框架 语音音频编…

JDK8的新特性

目录 接口的默认方法和静态方法 Lambda表达式1、匿名内部类2、函数式接口(FunctionalInterface)2.1 无参函数式接口匿名内部类方式-->Lambda表达式方式 2.2 有参函数式接口匿名内部类方式-->Lambda表达式方式 3、Lambda实战 3.1 循环遍历 3.2 集合排序 3.3 创建线程方…

黑马头条Day12-项目部署_持续集成

一、今日内容介绍 1. 什么是持续集成 持续集成(Continuous integration,简称CI),指的是频繁地(一天多次)将代码集成到主干。 持续集成的组成要素: 一个自动构建过程,从检出代码、…

Golang处理Word文档模板实现标签填充|表格插入|图标绘制和插入

本教程主要实现【Golang处理Word文档模板实现标签填充|表格插入|图标绘制和插入】。 本文源码:https://gitee.com/songfayuan/go-zero-demo 教程源码分支:master 分支(_examples/word-template/fill-word-template.go) Golang处理…

Java-Swing开发-001组件

文章目录 Top-level containerJFrame容器对话框相关 JComponent组件面板相关文本相关菜单相关工具栏按钮下拉框进度条树形组件 Top-level container 1.JFrame 2.JDialog JFrame容器 //设置APP图标 this.setIconImage(new ImageIcon(getClass().getResource("/button/i…

论文解读(10)-图神经网络

加油,继续看论文。 这次学图神经网络,这个概念经常在其他论文里出现,所以我想先学习一下这方面的知识。 参考: 【图神经网络综述】一文道尽GNN原理、框架和应用-CSDN博客 【图神经网络】10分钟掌握图神经网络及其经典模型_图神经…

某“新一线城市“前端面试,纯纯被恶心到了

一.起因 在boss上刷到的一个小小厂,收大四全年实习生(web前端),因为离家乡比较近,而且双非一本的学历以及入坑的时间没有太长(前端部分不到一年),想去那里看看形势,要求是笔试面试,当场给是否录用结果&…

AgentBench: Evaluating LLMs As Agents

AgentBench: Evaluating LLMs As Agents Github: https://github.com/THUDM/AgentBench 榜单:https://llmbench.ai/agent/data demos:https://llmbench.ai/agent/demo 备注:该论文介绍为AgentBench v0.2版本 一、介绍 现如今&am…

三行代码高搞定nestjs静态图片映射方案

方案一 nestjs/serve-static 库映射 上代码 npm i nestjs/serve-staticimport { ServeStaticModule } from nestjs/serve-static; import { join } from path; const staticPath join(__dirname, .., /public/);Module({imports: [ServeStaticModule.forRoot({rootPath: sta…

用Python代码调用GPT-SoVITS

GPT-SoVITS 项目地址:https://github.com/RVC-Boss/GPT-SoVITS import os import requests from PySide6.QtCore import QThread from PySide6.QtWidgets import QWidget, QApplication from design import Ui_Form import subprocess import sounddevice as sd im…

JAVA基础 - 泛型

目录 一. 简介 二. 集合泛型 三. 自定义泛型 四. 自定义泛型类和普通类的区别 一. 简介 泛型是 Java 语言中一种强大的特性,它允许在定义类、接口和方法时使用类型参数,从而增加了代码的类型安全性和复用性。 类型安全性: 使用泛型可以…