Modélisation de données vectorielles

Le type de données sous-jacent utilisé pour stocker les données vectorielles peut varier selon la base de données. Oracle GoldenGate peut être utilisé pour répliquer des données vectorielles provenant de nombreuses bases de données différentes, telles que PostgreSQL et MySQL Heatwave.

Pour Oracle AI Database, il est recommandé d'utiliser le type de données VECTOR, qui stocke les incorporations dans un format natif et sémantique permettant une indexation vectorielle efficace, une recherche de similarité et des opérations de requête axées sur l'IA. Le type de données Oracle VECTOR a plusieurs formats de stockage, dont FLOAT32, une norme pour la plupart des modèles, et FLOAT64, qui permet une plus grande précision, INT8, qui réduit le stockage utilisé par les données vectorielles, et BINARY, qui utilise des baies UINT8 pour réduire le stockage et optimiser les calculs de distance. Les vecteurs peuvent également être DENSE, qui stocke toutes les dimensions, ou SPARSE, qui est un stockage optimisé pour les vecteurs avec de nombreuses valeurs nulles.

   -- 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 traite les types de données vectorielles comme des données LOB car les vecteurs sont souvent plus grands que la limite de 4 ko dans la ligne de GoldenGate 26ai. Cela signifie que vous ne pouvez pas effectuer de transformation ou de filtrage à l'aide des fonctions de conversion de colonne standard GoldenGate. Par conséquent, si les données sont déjà au format vectoriel, les types de données source et cible doivent être compatibles, ce qui implique que le stockage sous-jacent et les valeurs numériques doivent être identiques.

Reportez-vous aux détails de la section Remarques concernant la réplication vectorielle interplate-forme.