Milvus
Zilliz
Beranda
  • Panduan Pengguna
  • Home
  • Docs
  • Panduan Pengguna

  • Optimalisasi Penyimpanan

  • Penyimpanan Berjenjang

  • Pemanasan

PemanasanCompatible with Milvus 2.6.4+

Di Milvus, Pemanasan melengkapi Penyimpanan Berjenjang dengan mengurangi latensi yang terjadi saat data dingin diakses untuk pertama kalinya. Setelah dikonfigurasi, Pemanasan akan memuatkan jenis bidang atau indeks yang dipilih ke dalam cache sebelum sebuah segmen dapat di-query, sehingga memastikan bahwa data yang sering diakses akan segera tersedia setelah dimuat.

Mengapa pemanasan

Lazy Load di Penyimpanan Berjenjang meningkatkan efisiensi dengan hanya memuat metadata pada awalnya. Namun, hal ini dapat menyebabkan latensi pada kueri pertama ke data dingin, karena potongan atau indeks yang diperlukan harus diambil dari penyimpanan objek.

Warm Up memecahkan masalah ini dengan menyimpan data penting secara proaktif di cache selama inisialisasi segmen.

Ini sangat bermanfaat ketika:

  • Indeks skalar tertentu sering digunakan dalam kondisi filter.

  • Indeks vektor sangat penting untuk kinerja pencarian dan harus segera disiapkan.

  • Latensi cold-start setelah QueryNode dimulai ulang atau pemuatan segmen baru tidak dapat diterima.

Sebaliknya, Pemanasan tidak disarankan untuk bidang atau indeks yang jarang ditanyakan. Menonaktifkan Pemanasan akan mempersingkat waktu pemuatan segmen dan menghemat ruang cache - ideal untuk bidang vektor besar atau bidang skalar yang tidak kritis.

Konfigurasi

Pemanasan dikontrol di bawah queryNode.segcore.tieredStorage.warmup di milvus.yaml. Anda dapat mengonfigurasinya secara terpisah untuk bidang skalar, indeks skalar, bidang vektor, dan indeks vektor. Setiap target mendukung dua mode:

Mode

Deskripsi

Skenario umum

sync

Memuat sebelum segmen dapat di-query. Waktu muat sedikit meningkat, tetapi kueri pertama tidak menimbulkan latensi.

Gunakan untuk data yang sangat penting bagi kinerja yang harus segera tersedia, seperti indeks skalar frekuensi tinggi atau indeks vektor kunci yang digunakan dalam pencarian.

disable

Lewati pemuatan awal. Segmen dapat di-query lebih cepat, tetapi query pertama dapat memicu pemuatan sesuai permintaan.

Gunakan untuk data yang jarang diakses atau data besar seperti bidang vektor mentah atau bidang skalar yang tidak penting.

Contoh YAML:

queryNode:
  segcore:
    tieredStorage:
      warmup:
        # options: sync, disable.
        # Specifies the timing for warming up the Tiered Storage cache.
        # - `sync`: data will be loaded into the cache before a segment is considered loaded.
        # - `disable`: data will not be proactively loaded into the cache, and loaded only if needed by search/query tasks.
        # Defaults to `sync`, except for vector field which defaults to `disable`.
        scalarField: sync
        scalarIndex: sync
        vectorField: disable # cache warmup for vector field raw data is by default disabled.
        vectorIndex: sync

Parameter

Nilai

Deskripsi

Kasus penggunaan yang disarankan

scalarField

sync | disable

Mengontrol apakah data bidang skalar dimuat sebelumnya.

Gunakan sync hanya jika bidang skalar berukuran kecil dan sering diakses dalam filter. Jika tidak, gunakan disable untuk mengurangi waktu pemuatan.

scalarIndex

sync | disable

Mengontrol apakah indeks skalar dimuat sebelumnya.

Gunakan sync untuk indeks skalar yang terlibat dalam kondisi filter yang sering atau kueri rentang.

vectorField

sync | disable

Mengontrol apakah data bidang vektor dimuat sebelumnya.

Umumnya disable untuk menghindari penggunaan cache yang berat. Aktifkan sync hanya jika vektor mentah harus diambil segera setelah pencarian (misalnya, hasil kemiripan dengan pemanggilan vektor).

vectorIndex

sync | disable

Mengontrol apakah indeks vektor dimuat sebelumnya.

Gunakan sync untuk indeks vektor yang sangat penting untuk latensi pencarian. Dalam beban kerja batch atau frekuensi rendah, disable untuk kesiapan segmen yang lebih cepat.

Praktik terbaik

Pemanasan hanya memengaruhi beban awal. Jika data yang di-cache kemudian digusur, kueri berikutnya akan memuat ulang sesuai permintaan.

  • Hindari penggunaan sync secara berlebihan. Memuat terlalu banyak bidang akan meningkatkan waktu muat dan tekanan cache.

  • Mulailah secara konservatif - aktifkan Pemanasan hanya untuk bidang dan indeks yang sering diakses.

  • Pantau latensi kueri dan metrik cache, lalu perluas pramuat sesuai kebutuhan.

  • Untuk beban kerja campuran, terapkan sync untuk koleksi yang sensitif terhadap kinerja dan disable untuk koleksi yang berorientasi pada kapasitas.

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?