Modellazione dei dati vettoriali
Il tipo di dati di base utilizzato per memorizzare i dati vettoriali può variare in base al database. Oracle GoldenGate può essere utilizzato per replicare i dati vettoriali da molti database diversi, ad esempio PostgreSQL e MySQL Heatwave.
Per Oracle AI Database, si consiglia di utilizzare il tipo di dati VECTOR, che memorizza le integrazioni in un formato nativo e semanticamente significativo che consente un'indicizzazione vettoriale efficiente, una ricerca di somiglianza e operazioni di query basate sull'intelligenza artificiale. Il tipo di dati Oracle VECTOR dispone di più formati di storage, tra cui FLOAT32 uno standard per la maggior parte dei modelli, e FLOAT64, che consente una maggiore precisione, INT8, che riduce lo storage utilizzato dai dati vettoriali e BINARY, che utilizza array UINT8 per ridurre lo storage e ottimizzare i calcoli delle distanze. I vettori possono anche essere DENSE, che memorizza ogni dimensione, o SPARSE, che è storage ottimizzato per vettori con molti valori zero.
-- 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 tratta i tipi di dati vettoriali come dati LOB perché i vettori sono spesso più grandi della limitazione di 4kb in-row di GoldenGate 26ai. Ciò significa che non è possibile eseguire la trasformazione o il filtro utilizzando le funzioni di conversione delle colonne standard GoldenGate. Pertanto, se i dati sono già in formato vettoriale, i tipi di dati di origine e di destinazione devono essere compatibili, il che implica che la memoria di base e i valori numerici devono essere uguali.
Vedere i dettagli nella sezione Considerazioni sulla replica vettoriale multipiattaforma.