Vektordatenmodellierung

Der zugrunde liegende Datentyp, der zum Speichern von Vektordaten verwendet wird, kann je nach Datenbank variieren. Oracle GoldenGate kann verwendet werden, um Vektordaten aus vielen verschiedenen Datenbanken zu replizieren, wie PostgreSQL und MySQL Heatwave.

Für Oracle AI Database wird empfohlen, den Datentyp VECTOR zu verwenden, der Einbettungen in einem nativen, semantisch aussagekräftigen Format speichert, das eine effiziente Vektorindizierung, Ähnlichkeitssuche und KI-orientierte Abfragevorgänge ermöglicht. Der Oracle VECTOR-Datentyp verfügt über mehrere Speicherformate, einschließlich FLOAT32, einem Standard für die meisten Modelle, und FLOAT64, das eine höhere Genauigkeit ermöglicht, INT8, das den von den Vektordaten verwendeten Speicher reduziert, und BINARY, das UINT8-Arrays verwendet, um den Speicher zu reduzieren und Entfernungsberechnungen zu optimieren. Vektoren können auch DENSE sein, das jede Dimension speichert, oder SPARSE, das für Vektoren mit vielen Nullwerten optimiert ist.

   -- 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 behandelt Vektordatentypen als LOB-Daten, da die Vektoren oft größer sind als die 4kb-Zeilenbegrenzung von GoldenGate 26ai. Das bedeutet, dass Sie keine Transformation oder Filterung mit standardmäßigen GoldenGate Spaltenkonvertierungsfunktionen ausführen können. Wenn sich die Daten also bereits im Vektorformat befinden, müssen die Quell- und Zieldatentypen kompatibel sein. Dies bedeutet, dass der zugrunde liegende Speicher und die numerischen Werte identisch sein müssen.

Weitere Informationen finden Sie im Abschnitt Überlegungen zur plattformübergreifenden Vektorreplikation.