当前位置: 首页 > news >正文

数据库管理-第160期 Oracle Vector DB AI-11(20240312)

数据库管理160期 2024-03-12

  • 数据库管理-第160期 Oracle Vector DB & AI-11(20240312)
    • 1 向量的函数操作
      • to_vector()
      • 将vector转换为标准值
        • vector_norm()
        • vector_dimension_count()
        • vector_dimension_format()
    • 2 将向量转换为字符串或CLOB
      • vector_serialize()
      • from_vector()
    • 总结

数据库管理-第160期 Oracle Vector DB & AI-11(20240312)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
国内某科技公司 DBA总监
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家,OCM讲师
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭。

来到了Oracle Vector DB基础介绍的最后阶段了,本期讲一下其他的vector函数,包含向量的函数操作、向量转换和绑定操作。

1 向量的函数操作

to_vector()

to_vector()函数是将一个字符串转换为向量,和vector()函数一样。

SELECT to_vector('[34.6, 77.8]', 2, float32) FROM dual;SELECT to_vector('[34.6, 77.8, -89.34]', 3, float32);

image.png
注: 这里也演示了Oracle DB 23c中的新特性,可以不用from dual。

将vector转换为标准值

vector_norm()

vector_norm()函数输出原点到向量点的的距离:

SELECT vector_norm(vector('[4, 3]', 2, float32) );SELECT vector_norm(vector('[4, 3]', 2, float64) );SELECT vector_norm(vector('[4, 3]', 2, int8) );

image.png

vector_dimension_count()

vector_dimension_count()函数输出向量的维度数量:

SELECT vector_dimension_count(vector('[34.6, 77.8]', 2, float64));SELECT vector_dimension_count(vector('[34.6, 77.8, 9]', 3, float32));SELECT vector_dimension_count(vector('[34.6, 77.8, 9, 10]', 3, int8));

image.png

vector_dimension_format()

vector_dimension_format()函数输出向量的维度类型:

SELECT vector_dimension_format(vector('[34.6, 77.8]', 2, float64));SELECT vector_dimension_format(vector('[34.6, 77.8, 9]', 3, float32));SELECT vector_dimension_format(vector('[34.6, 77.8, 9, 10]', 3, int8));

image.png

2 将向量转换为字符串或CLOB

目前,python-oracledb和node-oracledb SQL驱动程序支持输入和输出向量的本地绑定(即直接使用向量)。其他SQL驱动程序,如JDBC和ODP.NET SQL只允许将向量绑定为字符串或CLOB。当Oracle 23.4提供Oracle AI Vector Search时,所有Oracle SQL驱动程序都应支持本地向量量绑定
较旧的SQL驱动程序[21c及之前版本]要求您通过使用vector()或to_vector()函数显式转换向量输入,并通过from_vector()或vector_serialize()将向量输出转换为字符串或CLOB。
注意: 如果您在SQL*Plus、sqlcl或SQL Developer中运行此实验室,您将不会在输出中看到明显的差异,但您可以确信Vector转换已经执行。

vector_serialize()

vector_serialize()函数可以将向量转换为字符串或CLOB:

SELECT vector_serialize(vector('[1.1, 2.2, 3.3]', 3, float32));SELECT vector_serialize(vector('[1.1, 2.2, 3.3]', 3, float32)returning varchar2(1000));SELECT vector_serialize(vector('[1.1, 2.2, 3.3]', 3, float32)returning clob);

image.png

from_vector()

from_vector()函数可以将向量转换为字符串或CLOB,等同与vector_serialize()函数:

SELECT from_vector(vector('[1.1, 2.2, 3.3]', 3, float32));SELECT from_vector(vector('[1.1, 2.2, 3.3]', 3, float32) returning varchar2(1000));SELECT from_vector(vector('[1.1, 2.2, 3.3]', 3, float32) returning clob);

image.png

总结

本期简单演示了vector相关的其他函数。
下一期可能需要等待一段时间,将自己做一个演示DEMO来更直观展示Oracle Vector DB和AI Vector Search的功能。
老规矩,知道写了些啥。

http://www.lryc.cn/news/320487.html

相关文章:

  • (C++进阶)boost库笔记
  • MapReduce面试重点
  • C语言简单题(7)从主函数中输入10个等长字符串,用一个函数对他们排序,然后在主函数输出这10个已排好序的字符串
  • 光伏科普|太阳能光伏发电应用场景有哪些?
  • Go 构建高效的二叉搜索树联系簿
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的交通信号灯识别系统(深度学习+UI界面+训练数据集+Python代码)
  • 以太坊开发学习-solidity(三)函数类型
  • 教你把公司吃干抹净、榨干带走
  • 开发指南007-导出Excel
  • 滑块验证码
  • cmd常用指令
  • 【嵌入式DIY实例】-DIY手势识别和颜色识别(基于APDS9960)
  • python 直方图
  • 如何在数据库中使用sql语言插入数据
  • JVM的双亲委派模型和垃圾回收机制
  • ThreadLocal-内存泄露问题
  • ISIS默认层级实验简述
  • 在Flutter中创建自定义的左对齐TabBar组件
  • 【Python】继承会遇到的问题
  • 相机模型Omnidirectional Camera(全方位摄像机)
  • 论文阅读——Align before Fuse
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Rating)
  • Unity中的网格创建和曲线变形
  • day0 3r文档docker部署
  • PSCA复位控制集成之复位信号
  • C#,数值计算,数据测试用的对称正定矩阵(Symmetric Positive Definite Matrix)的随机生成算法与源代码
  • EventWaitHandle 和 lock使用区别
  • 【图论】树链剖分
  • Requests教程-17-请求代理设置
  • python内置函数 G