Modelado de datos vectoriales
El tipo de dato subyacente utilizado para almacenar datos vectoriales puede variar según la base de datos. Oracle GoldenGate se puede utilizar para replicar datos vectoriales de muchas bases de datos diferentes, como PostgreSQL y MySQL Heatwave.
Para Oracle AI Database, se recomienda utilizar el tipo de dato VECTOR, que almacena incrustaciones en un formato nativo semánticamente significativo que permite una indexación vectorial eficiente, una búsqueda de similitud y operaciones de consulta centradas en IA. El tipo de dato VECTOR de Oracle tiene varios formatos de almacenamiento, incluidos FLOAT32, un estándar para la mayoría de los modelos, y FLOAT64, que permite una mayor precisión, INT8, que reduce el almacenamiento utilizado por los datos vectoriales, y BINARY, que utiliza matrices UINT8 para reducir el almacenamiento y optimizar los cálculos a distancia. Los vectores también pueden ser DENSE, que almacena cada dimensión, o SPARSE, que es un almacenamiento optimizado para vectores con muchos valores cero.
-- 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 trata los tipos de datos vectoriales como datos LOB porque los vectores suelen ser más grandes que la limitación de 4 kb en fila de GoldenGate 26ai. Esto significa que no puede realizar la transformación ni el filtrado mediante las funciones de conversión de columnas estándar GoldenGate. Por lo tanto, si los datos ya están en formato vectorial, los tipos de dato de origen y destino deben ser compatibles, lo que implica que el almacenamiento subyacente y los valores numéricos deben ser los mismos.
Consulte los detalles en la sección Consideraciones de replicación vectorial entre plataformas.