Membuat Partisi

Tema ini menjelaskan cara membuat partisi di Milvus.

Milvus memungkinkan sebagian besar data vektor untuk dibagi ke dalam sejumlah kecil partisi. Hal ini memungkinkan pencarian dan operasi lainnya dibatasi hanya pada satu partisi, meningkatkan kinerja.

Sebuah koleksi terdiri dari satu atau lebih partisi. Saat membuat koleksi baru, Milvus akan membuat partisi default, _default. Untuk informasi lebih lanjut, lihat dalam Kamus Istilah - Partisi.

Contoh berikut membuat partisi bernama novel dalam koleksi book.

err := milvusClient.CreatePartition(
  context.Background(),   // ctx
  "book",                 // NamaKoleksi
  "novel"                 // NamaPartisi
)
if err != nil {
  log.Fatal("Gagal membuat partisi: ", err.Error())
}
Parameter Deskripsi
ctx Konteks untuk mengontrol proses panggilan API.
NamaKoleksi Nama koleksi di mana partisi akan dibuat.
NamaPartisi Nama partisi yang akan dibuat.

Batasan

Fitur Batasan Maksimum
Jumlah partisi dalam satu koleksi 4.096

Memverifikasi Keberadaan Partisi

Memverifikasi apakah suatu partisi tertentu ada dalam sebuah koleksi.

hasPar, err := milvusClient.HasPartition(
   context.Background(),   // ctx
   "book",                 // NamaKoleksi
   "novel",                // NamaPartisi
)
if err != nil {
   log.Fatal("Gagal memeriksa partisi: ", err.Error())
}
log.Println(hasPar)

Menampilkan Semua Partisi

listPar, err := milvusClient.ShowPartitions(
  context.Background(),   // ctx
  "book",                 // NamaKoleksi
)
if err != nil {
  log.Fatal("Gagal menampilkan partisi: ", err.Error())
}
log.Println(listPar)

Menghapus Partisi

err := milvusClient.DropPartition(
  context.Background(),   // ctx
  "book",                 // NamaKoleksi
  "novel",                // NamaPartisi
)
if err != nil {
  log.Fatal("Gagal menghapus partisi: ", err.Error())
}

Memuat Partisi

Milvus memungkinkan pengguna untuk memuat partisi sebagai beberapa replika untuk memaksimalkan sumber daya CPU dan memori dari nodes kueri tambahan, meningkatkan QPS dan throughput secara keseluruhan.

err := milvusClient.LoadPartitions(
  context.Background(),   // ctx
  "book",                 // NamaKoleksi
  []string{"novel"},      // NamaPartisi-partisi          
  false                   // async
)
if err != nil {
  log.Fatal("Gagal memuat partisi: ", err.Error())
}

Melepaskan Partisi

err := milvusClient.ReleasePartitions(
  context.Background(),   // ctx
  "book",                 // NamaKoleksi
  []string{"novel"}       // NamaPartisi-partisi
)
if err != nil {
  log.Fatal("Gagal melepaskan partisi: ", err.Error())
}