View a markdown version of this page

Sinkronisasi data antara tabel dan indeks vektor - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Sinkronisasi data antara tabel dan indeks vektor

DynamoDB menjaga indeks vektor yang disinkronkan dengan tabel dasarnya secara otomatis. Memahami cara kerja sinkronisasi membantu Anda memprediksi kapan hasil pencarian selesai dan mengapa item mungkin tidak muncul dalam hasil.

Mengisi kembali indeks pada tabel yang ada

Saat Anda menambahkan indeks vektor ke tabel yang sudah berisi item, DynamoDB mengisi kembali indeks dengan data yang ada. Indeks pertama bertransisi ke IndexStatus CREATING sementara DynamoDB menyiapkan infrastruktur indeks. Kemudian pindah ke IndexStatus ACTIVE dengan Backfilling set ke true sementara DynamoDB mengisi indeks dari data tabel dasar yang ada. Penulisan baru ke tabel dasar direplikasi ke indeks selama fase ini, tetapi SearchVectors mengembalikan kesalahan sampai pengisian ulang selesai. Gunakan DescribeTable dan tunggu sampai IndexStatus ACTIVE Backfilling ada false sebelum Anda mencari. Lihat Menambahkan indeks vektor ke tabel yang ada.

Sinkronisasi tulis yang sedang berlangsung

Setelah indeks aktif, DynamoDB mereplikasi setiap penulisan ke tabel dasar ke dalam indeks vektor. Perilaku berikut memengaruhi apakah dan bagaimana tulisan mencapai indeks:

  • Item direplikasi ke indeks hanya jika berisi atribut vektor yang valid. Jika indeks mendefinisikan kunci partisi, item juga harus berisi atribut kunci partisi itu; jika tidak, penulisan berhasil pada tabel dasar tetapi item tidak direplikasi ke indeks.

  • Nilai vektor disimpan dalam tabel dasar seperti yang ditulis, tetapi disimpan pada presisi 32-bit float point (f32) dalam indeks. Nilai dengan presisi yang lebih tinggi kehilangan presisi itu ketika direplikasi ke indeks.

  • Saat Anda menghapus atribut vektor dari item, atau menghapus item, entri yang sesuai dihapus dari indeks.

Untuk set lengkap aturan validasi tulis, lihat. Menulis item dengan data vektor

Sinkronisasi di seluruh Wilayah

Ketika tabel yang memiliki indeks vektor adalah tabel global, DynamoDB mereplikasi penulisan di Wilayah replika mana pun ke Wilayah lain dan mengindeksnya di sana. DynamoDB mereplikasi data ke indeks vektor secara asinkron. Vektor yang Anda tulis di satu Wilayah mungkin tidak segera muncul dalam SearchVectors hasil di wilayah lain—bahkan jika tabel menggunakan konsistensi kuat multi-wilayah (MRSC). Lihat Menggunakan indeks vektor dengan tabel global.