数据库管理-第152期 Oracle Vector DB & AI-04(20240220)

来源:这里教程网 时间:2026-03-03 19:35:20 作者:

数据库管理-第152期 Oracle Vector DB & AI-04(20240220)

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

由于上一篇的一些“误操作”,导致公众号发文删了,当天重发没有办法触发群 发效果,所以可能有些人会发现没看过03。

1 常用的向量检索方法

聚类

K-Means 和 Faiss image.png

图搜索

Hierarchical Navigable Small Worlds (HNSW) image.png

哈希

局部敏感哈希(Locality Sensitive Hashing)LSH

量化

Product Quantization (PQ):有损压缩

2 Oracle Vector DB中的索引

在Oracle Vector DB中,可以在Vector数据类型列上创建vector index来提升向量检索的性能:

索引(默认)

create vector index vector_idx on vector_table (data_vector)organization [inmemory neighbor graph | neighbor partition]

距离计算:欧几里德 向量索引的选择取决于organization子句:

  1. In-Memory Neighbor Graph organization:HNSW
  2. Neighbor Partition organization:IVF

索引(高 级)

可以指定向量索引类型参数、距离函数、精度等:

create vector index vector_idx on vector_table (data_vector) organization neighbor partition parameters (num_centroids 1024);

3 EMBEDDINGS

在Oracle Vector DB除直接通过外部导入向量外,也内建支持多种向量生产方式:

SQL EMBEDDINGS 函数

原生支持生成向量数据:

select id, image from cat_images order by VECTOR_DISTANCE(img_vec, EMBEDDING(resnet_50 USING :input_img)) fetch first 2 rows only;

image.png

OONX

Open Neural Network eXchange embedding 模型:

DECLARE
  model_source BLOB := NULL;BEGIN
  model_source :=
  DBMS_CLOUD.get_object
  ( credential_name =>  'OBJ_STORE_CRED',
  object_uri	=> 'https://objectstorage…bucketname/o/resnet50bundle.onnx’);
  DBMS_DATA_MINING.import_onnx_model
  ( model_name	=> "resnet50",
  model_data	=> model_source,
  metadata	=> JSON('{ function : "embedding" }')
);
END;

总结

本期简单讲解了一下,Oracle Vector索引以及内建向量EMBEDDING能力。 老规矩,知道写了些啥。

相关推荐