View a markdown version of this page

Memantau kapasitas indeks vektor - Amazon DynamoDB

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

Memantau kapasitas indeks vektor

Untuk memantau konsumsi kapasitas untuk operasi indeks vektor, atur ReturnConsumedCapacity parameter ke INDEXES atau TOTAL dalam SearchVectors permintaan Anda, atau ke INDEXES dalam permintaan API tulis Anda.

Operasi indeks vektor diukur dalam dua unit, terpisah dari unit kapasitas baca dan tulis yang digunakan oleh tabel dasar:

  • Pencarian Vektor (VS) — Unit yang mengukur SearchVectors operasi. Konsumsi VS dilaporkan sebagai VectorSearchRequestBytes dan diskalakan dengan ukuran data vektor yang dicari dan dikembalikan oleh pencarian.

  • Vector Write (VWR) — Unit yang mengukur penulisan yang direplikasi menjadi indeks vektor. Konsumsi VWR dilaporkan sebagai VectorWriteRequestBytes dan dinaikkan dengan ukuran data yang direplikasi ke indeks.

Contoh berikut menunjukkan yang ConsumedCapacity dikembalikan oleh SearchVectors permintaan.

{ "ConsumedCapacity": { "VectorSearchRequestBytes": 41714.0 } }

Untuk operasi tulis (PutItem,UpdateItem,DeleteItem,BatchWriteItem,TransactWriteItems), respons menyertakan VectorIndexes petaConsumedCapacity, dikunci dengan nama indeks. Setiap entri melaporkan VectorWriteRequestBytes kapasitas yang dikonsumsi saat mereplikasi perubahan pada setiap indeks vektor.

{ "ConsumedCapacity": { "TableName": "Products", "CapacityUnits": 5.0, "Table": { "CapacityUnits": 5.0 }, "VectorIndexes": { "ProductEmbeddingIndex": { "VectorWriteRequestBytes": 4125.0 } } } }

Kapasitas indeks vektor diukur dalam byte yang diproses, dilaporkan secara terpisah dari kapasitas baca dan tulis tabel dasar. Gunakan bidang ini untuk memahami apa yang mendorong biaya indeks vektor Anda:

  • Biaya pencarian (VectorSearchRequestBytes) berskala terutama dengan ukuran vektor yang harus diperiksa pencarian, yang tumbuh dengan jumlah dimensi dalam indeks dan jumlah data yang dikembalikan. Membatasi pencarian ke nilai kunci partisi tunggal mengurangi jumlah data yang diperiksa. Mengembalikan atribut vektor dalam hasil meningkatkan biaya lebih lanjut karena respons mencakup data vektor penuh. Biaya pencarian tidak naik sebanding dengan jumlah item dalam indeks. Jika jumlah dimensi, TopK nilai, dan proyeksi tetap sama, data yang diteliti pencarian tumbuh secara logaritmik saat Anda menambahkan item. Ini terjadi karena perkiraan pencarian tetangga terdekat melintasi subset kecil dari indeks daripada membaca setiap vektor. Menggandakan jumlah item dalam indeks menambahkan jumlah kecil dan konstan ke data yang diteliti setiap pencarian.

  • Biaya tulis (VectorWriteRequestBytes) dikeluarkan setiap kali Anda menulis, memperbarui, atau menghapus item yang mengubah atribut yang diindeks vektor, dan menskalakan dengan ukuran data yang direplikasi ke indeks. Menulis yang tidak mengubah atribut yang diindeks tidak menimbulkan kapasitas penulisan vektor.

Higher-dimensional embeddings meningkatkan biaya pencarian dan penulisan karena setiap vektor membawa lebih banyak data. Untuk harga saat ini, lihat harga Amazon DynamoDB di situs web. AWS

DynamoDB juga menerbitkan kapasitas indeks vektor CloudWatch sebagai VectorWriteRequestBytes metrik VectorSearchRequestBytes dan, didimensi oleh dan. TableName VectorIndexName Gunakan metrik ini untuk membuat grafik dan alarm tentang penggunaan indeks vektor dari waktu ke waktu. Untuk definisi metrik, lihat VectorSearchRequestBytes danVectorWriteRequestBytes.

Per-request pengukuran minimum

DynamoDB mengukur kapasitas indeks vektor minimal 1 KB per permintaan dan tagihan per byte di atas minimum itu. Ini berlaku untuk kedua jenis permintaan. Per SearchVectors mintaan yang memeriksa kurang dari 1 KB data vektor diukur pada 1 KB. Permintaan tulis yang mereplikasi kurang dari 1 KB ke dalam indeks vektor tabel juga diukur pada 1 KB.

Minimum berlaku per permintaan, bukan per indeks. Tulisan yang memperbarui vektor di beberapa indeks vektor tabel tidak memerlukan minimum 1 KB terpisah untuk masing-masing, meskipun ConsumedCapacity laporan VectorWriteRequestBytes per indeks.

Akibatnya, vektor dimensi rendah tidak mengukur secara proporsional lebih rendah. Vektor dengan sejumlah kecil dimensi hanya menyimpan beberapa byte data float point 32-bit dan masih diukur pada minimum 1 KB.

Di atas minimum, VectorSearchRequestBytes mencerminkan data vektor yang dicari pencarian di dalam indeks, bukan ukuran vektor kueri yang Anda berikan. Akibatnya, VectorSearchRequestBytes lebih besar dari vektor kueri saja.

Biaya pencarian tumbuh secara logaritmik, seperti yang dijelaskan sebelumnya, tetapi hubungan itu bukan rumus untuk memperkirakan tagihan Anda. VectorSearchRequestBytesjuga termasuk data yang dikembalikan oleh pencarian. Data itu berskala dengan TopK dan dengan atribut yang Anda proyeksikan. Metrik juga ditempatkan pada minimum 1 KB per permintaan. Pada titik tertinggi TopK dengan proyeksi penuh, data yang dikembalikan dapat melebihi data yang diperiksa.

Jangan memperkirakan biaya indeks vektor dari hitungan dimensi. Gunakan VectorWriteRequestBytes nilai VectorSearchRequestBytes dan yang dikembalikan oleh beban kerja Anda sendiri, atau CloudWatch metrik yang sesuai. Validasi terhadap kumpulan data representatif sebelum Anda mengukur beban kerja.