🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
  • Home
  • Blog
  • Versi Milvus apa yang digunakan untuk memulai

Versi Milvus apa yang digunakan untuk memulai

  • Engineering
February 19, 2024
Chris Churilo

Memilih versi Milvus yang tepat merupakan hal yang paling penting untuk keberhasilan proyek apa pun yang memanfaatkan teknologi pencarian vektor. Dengan berbagai versi Milvus yang disesuaikan dengan kebutuhan yang berbeda-beda, memahami pentingnya memilih versi yang tepat sangat penting untuk mencapai hasil yang diinginkan.

Versi Milvus yang tepat dapat membantu pengembang untuk belajar dan membuat prototipe dengan cepat atau membantu mengoptimalkan pemanfaatan sumber daya, merampingkan upaya pengembangan, dan memastikan kompatibilitas dengan infrastruktur dan alat yang ada. Pada akhirnya, ini adalah tentang menjaga produktivitas pengembang dan meningkatkan efisiensi, keandalan, dan kepuasan pengguna.

Versi Milvus yang tersedia

Tiga versi Milvus tersedia untuk para pengembang, dan semuanya bersifat open source. Ketiga versi tersebut adalah Milvus Lite, Milvus Standalone, dan Milvus Cluster, yang memiliki perbedaan dalam hal fitur dan bagaimana pengguna berencana untuk menggunakan Milvus dalam jangka pendek dan jangka panjang. Jadi, mari kita jelajahi satu per satu.

Milvus Lite

Seperti namanya, Milvus Lite adalah versi ringan yang terintegrasi dengan Google Colab dan Jupyter Notebook. Milvus Lite dikemas sebagai biner tunggal tanpa ketergantungan tambahan, membuatnya mudah untuk diinstal dan dijalankan di mesin Anda atau disematkan dalam aplikasi Python. Selain itu, Milvus Lite menyertakan server mandiri Milvus berbasis CLI, memberikan fleksibilitas untuk menjalankannya secara langsung pada mesin Anda. Apakah Anda menyematkannya dalam kode Python Anda atau menggunakannya sebagai server mandiri sepenuhnya tergantung pada preferensi Anda dan persyaratan aplikasi spesifik Anda.

Fitur dan Kemampuan

Milvus Lite mencakup semua fitur pencarian vektor Milvus inti.

  • Kemampuan Pencarian: Mendukung pencarian top-k, rentang, dan hibrida, termasuk pemfilteran metadata, untuk memenuhi kebutuhan pencarian yang beragam.

  • Jenis Indeks dan Metrik Kemiripan: Menawarkan dukungan untuk 11 jenis indeks dan lima metrik kemiripan, memberikan fleksibilitas dan opsi penyesuaian untuk kasus penggunaan spesifik Anda.

  • Pemrosesan Data: Memungkinkan pemrosesan batch (Apache Parquet, Array, JSON) dan stream, dengan integrasi tanpa batas melalui konektor untuk Airbyte, Apache Kafka, dan Apache Spark.

  • Operasi CRUD: Menawarkan dukungan CRUD penuh (buat, baca, perbarui/update, hapus), memberdayakan pengguna dengan kemampuan manajemen data yang komprehensif.

Aplikasi dan keterbatasan

Milvus Lite sangat ideal untuk pembuatan prototipe cepat dan pengembangan lokal, menawarkan dukungan untuk penyiapan cepat dan eksperimen dengan dataset skala kecil pada mesin Anda. Namun, keterbatasannya menjadi jelas ketika bertransisi ke lingkungan produksi dengan dataset yang lebih besar dan persyaratan infrastruktur yang lebih berat. Oleh karena itu, meskipun Milvus Lite adalah alat yang sangat baik untuk eksplorasi dan pengujian awal, alat ini mungkin tidak cocok untuk menerapkan aplikasi dalam pengaturan volume tinggi atau siap produksi.

Sumber Daya yang Tersedia

Milvus Mandiri

Milvus menawarkan dua mode operasional: Standalone dan Cluster. Kedua mode ini identik dalam fitur basis data vektor inti dan berbeda dalam hal dukungan ukuran data dan persyaratan skalabilitas. Perbedaan ini memungkinkan Anda untuk memilih mode yang paling sesuai dengan ukuran dataset, volume lalu lintas, dan persyaratan infrastruktur lainnya untuk produksi.

Milvus Standalone adalah mode operasi untuk sistem basis data vektor Milvus yang beroperasi secara independen sebagai contoh tunggal tanpa pengelompokan atau pengaturan terdistribusi. Milvus berjalan pada satu server atau mesin dalam mode ini, menyediakan fungsionalitas seperti pengindeksan dan pencarian vektor. Mode ini cocok untuk situasi di mana skala volume data dan lalu lintas relatif kecil dan tidak memerlukan kemampuan terdistribusi yang disediakan oleh pengaturan terkluster.

Fitur dan Kemampuan

  • Performa Tinggi: Melakukan pencarian vektor pada kumpulan data yang sangat besar (miliaran atau lebih) dengan kecepatan dan efisiensi yang luar biasa.

  • Kemampuan Pencarian: Mendukung pencarian top-k, rentang, dan hibrida, termasuk pemfilteran metadata, untuk memenuhi kebutuhan pencarian yang beragam.

  • Jenis Indeks dan Metrik Kemiripan: Menawarkan dukungan untuk 11 jenis indeks dan 5 metrik kemiripan, memberikan fleksibilitas dan opsi penyesuaian untuk kasus penggunaan spesifik Anda.

  • Pemrosesan Data: Memungkinkan pemrosesan batch (Apache Parket, Larik, Json) dan streaming, dengan integrasi tanpa batas melalui konektor untuk Airbyte, Apache Kafka, dan Apache Spark.

  • Replikasi dan Failover Data: Fitur replikasi dan failover/failback bawaan memastikan integritas data dan ketersediaan aplikasi, bahkan selama gangguan atau kegagalan.

  • Skalabilitas: Dapatkan skalabilitas dinamis dengan penskalaan tingkat komponen, memungkinkan penskalaan naik dan turun tanpa hambatan berdasarkan permintaan. Milvus dapat melakukan penskalaan otomatis pada tingkat komponen, mengoptimalkan alokasi sumber daya untuk meningkatkan efisiensi.

  • Multi-Tenancy: Mendukung multi-tenancy dengan kemampuan untuk mengelola hingga 10.000 koleksi/partisi dalam sebuah cluster, memberikan pemanfaatan sumber daya yang efisien dan isolasi untuk pengguna atau aplikasi yang berbeda.

  • Operasi CRUD: Menawarkan dukungan CRUD penuh (buat, baca, perbarui/update, hapus), memberdayakan pengguna dengan kemampuan manajemen data yang komprehensif.

Komponen penting:

  • Milvus: Komponen fungsional inti.

  • etcd: Mesin metadata yang bertanggung jawab untuk mengakses dan menyimpan metadata dari komponen internal Milvus, termasuk proksi, simpul indeks, dan banyak lagi.

  • MinIO: Mesin penyimpanan yang bertanggung jawab atas persistensi data dalam Milvus.

Gambar 1: Arsitektur Mandiri Milvus

Sumber Daya yang Tersedia

Milvus Cluster

Milvus Cluster adalah mode operasi untuk sistem basis data vektor Milvus di mana ia beroperasi dan didistribusikan di beberapa node atau server. Dalam mode ini, instance Milvus dikelompokkan bersama untuk membentuk sistem terpadu yang dapat menangani volume data yang lebih besar dan beban lalu lintas yang lebih tinggi dibandingkan dengan pengaturan mandiri. Milvus Cluster menawarkan skalabilitas, toleransi kesalahan, dan fitur penyeimbangan beban, sehingga cocok untuk skenario yang perlu menangani data besar dan melayani banyak kueri bersamaan secara efisien.

Fitur dan Kemampuan

  • Mewarisi semua fitur yang tersedia di Milvus Standalone, termasuk pencarian vektor berkinerja tinggi, dukungan untuk berbagai jenis indeks dan metrik kemiripan, serta integrasi tanpa batas dengan kerangka kerja pemrosesan batch dan stream.

  • Menawarkan ketersediaan, kinerja, dan pengoptimalan biaya yang tak tertandingi dengan memanfaatkan komputasi terdistribusi dan penyeimbangan beban di beberapa node.

  • Memungkinkan penerapan dan penskalaan beban kerja tingkat perusahaan yang aman dengan total biaya yang lebih rendah dengan memanfaatkan sumber daya secara efisien di seluruh cluster dan mengoptimalkan alokasi sumber daya berdasarkan permintaan beban kerja.

Komponen penting:

Milvus Cluster mencakup delapan komponen layanan mikro dan tiga ketergantungan pihak ketiga. Semua layanan mikro dapat digunakan di Kubernetes secara independen satu sama lain.

Komponen layanan mikro

  • Koordinator akar (root coord)

  • Proxy

  • Koordinat kueri

  • Simpul kueri

  • Koordinat indeks

  • Simpul indeks

  • Koordinat data

  • Simpul data

Ketergantungan pihak ketiga

  • dll: Menyimpan metadata untuk berbagai komponen dalam cluster.

  • MinIO: Bertanggung jawab atas persistensi data dari file-file besar dalam cluster, seperti file indeks dan log biner.

  • Pulsar: Mengelola log dari operasi mutasi terbaru, mengeluarkan log streaming, dan menyediakan layanan berlangganan-publikasi log.

Gambar 2: Arsitektur Cluster Milvus

Sumber Daya yang Tersedia

Membuat Keputusan tentang versi Milvus mana yang akan digunakan

Ketika memutuskan versi Milvus mana yang akan digunakan untuk proyek Anda, Anda harus mempertimbangkan faktor-faktor seperti ukuran dataset, volume lalu lintas, persyaratan skalabilitas, dan batasan lingkungan produksi. Milvus Lite sangat cocok untuk membuat prototipe di laptop Anda. Milvus Standalone menawarkan kinerja dan fleksibilitas tinggi untuk melakukan pencarian vektor pada dataset Anda, sehingga cocok untuk penerapan skala yang lebih kecil, CI/CD, dan penerapan offline ketika Anda tidak memiliki dukungan Kubernetes... Dan terakhir, Milvus Cluster memberikan ketersediaan, skalabilitas, dan pengoptimalan biaya yang tak tertandingi untuk beban kerja tingkat perusahaan, menjadikannya pilihan yang lebih disukai untuk lingkungan produksi berskala besar dan sangat tersedia.

Ada versi lain yang merupakan versi tanpa kerumitan, yaitu versi terkelola Milvus yang disebut Zilliz Cloud.

Pada akhirnya, versi Milvus akan bergantung pada kasus penggunaan spesifik Anda, persyaratan infrastruktur, dan tujuan jangka panjang. Dengan mengevaluasi faktor-faktor ini dengan cermat dan memahami fitur dan kemampuan masing-masing versi, Anda dapat membuat keputusan yang tepat yang sesuai dengan kebutuhan dan tujuan proyek Anda. Baik Anda memilih Milvus Standalone atau Milvus Cluster, Anda dapat memanfaatkan kekuatan basis data vektor untuk meningkatkan kinerja dan efisiensi aplikasi AI Anda.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

Terus Baca