ベクトル・データ・モデリング
ベクトル・データの格納に使用される基礎となるデータ型は、データベースによって異なります。Oracle GoldenGateを使用して、PostgreSQLやMySQL Heatwaveなどの様々なデータベースからベクトル・データをレプリケートできます。
Oracle AI Databaseでは、VECTORデータ型を使用することをお薦めします。このデータ型には、埋込みがネイティブで意味のある形式で格納され、効率的なベクトル索引付け、類似性検索およびAIに焦点を当てた問合せ操作が可能になります。Oracle VECTORデータ型には、ほとんどのモデルの標準であるFLOAT32、高精度を可能にするFLOAT64、ベクトル・データで使用される記憶域を縮小するINT8、および記憶域を削減して距離計算を最適化するUINT8配列を使用するBINARYなど、複数の記憶域形式があります。ベクトルには、すべてのディメンションを格納するDENSE、または多数のゼロ値を持つベクトルのための最適化された記憶域であるSPARSEを指定することもできます。
-- Simple declaration (flexible dimensions)
CREATE TABLE my_vectors ( id NUMBER, embedding VECTOR);
-- Defined declaration (768 dimensions, 8-bit integers)
CREATE TABLE optimized_vectors ( id NUMBER, embedding VECTOR(768, INT8)
);
ベクトルはGoldenGate 26aiの4KBの行内制限よりも大きいことが多いため、GoldenGateはベクトル・データ型をLOBデータとして扱います。つまり、標準のGoldenGate列変換関数を使用して変換またはフィルタリングを実行することはできません。したがって、データがすでにベクトル形式の場合、ソース・データ型とターゲット・データ型は互換性があり、基礎となる記憶域と数値が同じである必要があることを意味します。
詳細は、Cross-Platform Vector Replication Considerationsのセクションを参照してください。