数据库管理-第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值的生成。
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又新增了一些增强特性。
老规矩,知道写了些啥
相关文章:

数据库管理-第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支持标准版高可…...

提高生产效率:最佳7大Bug记录工具
本文将分享2024年值得关注的7款Bug记录工具:PingCode、Worktile、禅道、Tapd、CODING、JIRA、Bugzilla。 Bug的管理和跟踪是一个不断挑战的任务,而一个高效的Bug记录工具不仅可以提高团队的生产效率,还能显著降低项目延误的风险。选择合适的工…...

DDOS攻击学习 - kali初学
文章目录 本地ssh配置nmap(网络连接的工具)nmap -sP IP地址nmap -p 1-65535 -A IP地址主机发现Ping扫描端口扫描时序扫描常用扫描方式 指纹识别与探测全端口版本探测防火墙/IDS逃逸报文分段 信息收集IP信息收集WHOIS查询 数据库渗透测试MySQL列举数据库列举MySQL变量 发起请求目…...

【C++】类和对象——流插入和流提取运算符重载
目录 前言ostream和istream自定义类型的流插入重载自定义类型的流提取重载解决私有问题日期类总接口 前言 我们在上一节实现日期类时,在输入和输出打印时,经常会调用两个函数: void Insert()//输入函数{cin >> _year;cin >> _mo…...

Vmware ubuntu20.04 虚拟文件夹
目录 1.vmware 设置 2.ubuntu设置 1.vmware 设置 设置完成后我们开机 2.ubuntu设置 我们打开终端 输入命令 vmware-hgfsclient可以看到你当前的共享文件 然后我们输入以下命令,用于将共享文件夹挂载到虚拟机中 sudo vmhgfs-fuse .host:/ /mnt -o nonempty -o …...

人工智能学习笔记 - 初级篇Ⅱ - 图形可视化 - 第11节: 绘制带填充区域的图表
微信公众号:御风研墨 关注可了解更多。问题或建议,请公众号留言 文章目录 绘制带填充区域的图表应用背景准备工作操作步骤工作原理补充说明最后 绘制带填充区域的图表 应用背景 在数据可视化中,带填充区域的图表可以有效地表示数据范围、趋…...

使用STM32实现一个线性代数计算器
文章目录 背景挑战与困难如何整合编译?error: non-ASM statement in naked function is not supportederror: #pragma import is an ARM Compiler 5 extension, and is not supported by ARM Compiler 6error: redefinition of __FILE 改造demo中的cout改造delete运…...

我在高职教STM32——串口通信(4)
大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思的教学设计分享…...
Redis 缓存中间件 缓存数据库
Redis 缓存中间件 缓存数据库 nginx web服务 PHP 转发动态请求 tomcat web页面也可以转发动态请求 springboot 自带tomcat 所有的数据库不支持高并发,一旦访问量激增,数据库很快就会崩溃。 Redis 非关系型数据库 nosql not only sql 不仅仅是sql 键值对…...
51、PHP 实现简单的快速排序
题目: PHP 实现简单的快速排序 描述: function simpleQuickSort(array $list) {$length count($list);if( $length < 1){return $list;}else{$pivot $list[0];$left_list array();$right_list array();for($i 1; $i < $length; $i){if($lis…...

如何应对机器视觉软件中时间篡改与许可绕过的挑战?
在机器视觉行业,软件许可绕过和时间篡改问题存在,这些行为对企业的正常运营和市场竞争力造成了严重威胁。机器视觉软件通常包含复杂的算法和大量的数据处理能力,广泛应用于制造、医疗和安防等领域。然而,未经授权的使用和人为篡改…...
python文件的读写
要在Python中读写文件,你可以使用以下方法: 1. 打开文件:使用open()函数打开文件,它接受两个参数:文件名和模式。模式可以是只读(r)、写入(w)、追加(a&#…...

2024下《网络工程师》案例简答题,刷这些就够了!
距离2024下半年软考已经越来越近了,不知道今年备考软考网络工程师的同学们开始准备了吗? 简答题一直是网工拿分的重点区域,对于许多考生来说,也往往是最具挑战性的部分。今天我就把那些重要的案例简答题类型整理汇总给大家&#x…...

Astro 实现TodoList网页应用案例
Astro 是一个现代化的静态站点生成器和前端框架,它具有独特的设计理念:岛屿架构。它允许开发人员使用组件化的方式构建内容优先的网站,将各种技术栈(如React、Vue、Svelte等)的组件无缝集成到同一个项目中。 1、创建项…...

计算机毕业设计Hadoop+Spark旅游景点可视化 旅游景点推荐系统 景区游客满意度预测与优化 Apriori算法 景区客流量预测 旅游大数据 景点规划
### 开题报告 **论文题目:** 基于Spark的旅游景点可视化系统的设计与实现 **研究背景与意义:** 随着旅游业的快速发展,人们对旅游信息的获取和处理需求越来越高。传统的旅游信息系统虽然能够提供静态的数据查询和展示功能,但在…...
MySQL存储
目录 1. MySQL存储引擎概述 2. 存储引擎的作用 3.存储引擎类型 4. 查看支持的存储引擎 6. InnoDB存储引擎 7. MyISAM与InnoDB的区别 8. 存储引擎的选择 9. 修改默认存储引擎 1. MySQL存储引擎概述 在MySQL中,数据通过不同的技术存储在文件(或内存…...

手势传感器 - 从零开始认识各种传感器【第十八期】
手势传感器|从零开始认识各种传感器 1、什么是手势传感器 手势传感器是一种能够感知人类手势或动作的传感器。它可以捕捉、识别和解释人类的手部动作或姿势,并将其转换成电信号或数字信号,通过识别人体的手势动作来实现与电子设备的交互,如控…...

【未来餐饮】 配送设置
一、创建门店 关键信息 1. 门店名字要有辨识度,尽量不和其他客户重名 2. 地址要具体到门牌号 3. 定位要和上面的地址一致 可以复制地址搜索地图,然后选择位置 二、创建配送模板 新建模板 填写模板 命名模板,勾上真省钱,然后保…...

移动式气象设备:灵活应对,精准监测的气象先锋
在气象监测领域,随着科技的进步和需求的多样化,移动式气象设备逐渐崭露头角,成为现代气象观测中不可或缺的一部分。这些设备以其灵活性高、部署迅速、监测精准的特点,广泛应用于应急响应、农业生产、户外探险、科研考察等多个领域…...

【AI落地应用实战】DAMODEL深度学习平台部署+本地调用ChatGLM-6B解决方案
ChatGLM-6B是由清华大学和智谱AI开源的一款对话语言模型,基于 General Language Model (GLM)架构,具有 62亿参数。该模型凭借其强大的语言理解和生成能力、轻量级的参数量以及开源的特性,已经成为在学术界和工业界引起了广泛关注。 本篇将介…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...