Mengungkap 10 Kata Kunci Teratas yang Mendominasi Komunitas Milvus di Tahun 2023
Di penghujung tahun 2023, mari kita tinjau kembali perjalanan komunitas Milvus yang luar biasa: membanggakan 25.000 GitHub Stars, peluncuran Milvus 2.3.0, dan melampaui 10 juta unduhan citra Docker. Tulisan ini menjelajahi inti dari komunitas dengan menganalisis riwayat obrolan dan mengungkapkan 10 kata kunci teratas dalam diskusi.
Versi #1 - Munculnya AIGC mendorong iterasi Milvus yang cepat
Secara mengejutkan, "Versi" muncul sebagai kata kunci yang paling banyak dibicarakan pada tahun 2023. Pengungkapan ini berakar pada gelombang AI tahun ini, dengan basis data vektor sebagai infrastruktur penting untuk mengatasi tantangan dalam masalah halusinasi aplikasi AIGC.
Antusiasme di sekitar basis data vektor mendorong Milvus ke tahap iterasi yang cepat. Komunitas menyaksikan rilis Dua Puluh versi pada tahun 2023 saja, mengakomodasi permintaan pengembang AIGC yang membanjiri komunitas dengan pertanyaan tentang memilih versi Milvus yang optimal untuk berbagai aplikasi. Bagi pengguna yang sedang menavigasi pembaruan ini, kami sarankan untuk menggunakan versi terbaru untuk mendapatkan fitur dan kinerja yang lebih baik.
Jika Anda tertarik dengan perencanaan rilis Milvus, lihat halaman Roadmap Milvus di situs web resminya.
Penelusuran # 2 - di luar Penelusuran Vektor
"Pencarian" menempati posisi kedua, yang mencerminkan peran fundamentalnya dalam operasi basis data. Milvus mendukung berbagai kemampuan pencarian, mulai dari pencarian Top-K ANN hingga pencarian yang difilter secara skalar dan pencarian rentang. Rilis Milvus 3.0 (Beta) yang akan segera hadir menjanjikan pencarian kata kunci (embedding jarang), yang ditunggu-tunggu oleh banyak pengembang aplikasi RAG.
Diskusi komunitas tentang pencarian berfokus pada kinerja, kemampuan, dan prinsip. Pengguna sering mengajukan pertanyaan tentang pemfilteran atribut, pengaturan nilai ambang batas indeks, dan mengatasi masalah latensi. Sumber daya seperti dokumentasi kueri dan pencarian, Proposal Peningkatan Milvus (MEP), dan diskusi Discord telah menjadi referensi utama untuk mengungkap seluk-beluk pencarian di Milvus.
Memori #3 - pertukaran antara kinerja dan akurasi untuk meminimalkan overhead memori
"Memori" juga menjadi pusat perhatian dalam diskusi komunitas selama setahun terakhir. Sebagai tipe data yang khas, vektor secara inheren memiliki dimensi yang tinggi. Menyimpan vektor dalam memori adalah praktik yang umum dilakukan untuk kinerja optimal, tetapi volume data yang meningkat membatasi memori yang tersedia. Milvus mengoptimalkan penggunaan memori dengan mengadopsi teknik-teknik seperti MMap dan DiskANN.
Namun, mencapai penggunaan memori yang rendah, kinerja yang sangat baik, dan akurasi yang tinggi secara bersamaan dalam sistem basis data tetaplah rumit, sehingga membutuhkan pertukaran antara kinerja dan akurasi untuk meminimalkan overhead memori.
Dalam kasus Artificial Intelligence Generated Content (AIGC), para pengembang biasanya memprioritaskan respon yang cepat dan akurasi hasil daripada persyaratan kinerja yang ketat. Penambahan MMap dan DiskANN dari Milvus meminimalkan penggunaan memori sekaligus memaksimalkan pemrosesan data dan akurasi hasil, memberikan keseimbangan yang selaras dengan kebutuhan praktis aplikasi AIGC.
#4 Insert - penyisipan data dengan lancar
Penyisipan data yang efisien merupakan perhatian penting bagi para pengembang, yang memicu diskusi yang sering dilakukan untuk mengoptimalkan kecepatan penyisipan dalam komunitas Milvus. Milvus unggul dalam penyisipan data streaming yang efisien dan pembuatan indeks, berkat pemisahan data streaming dan batch yang mahir. Kemampuan ini menjadikannya sebagai solusi yang sangat berkinerja tinggi dibandingkan dengan penyedia basis data vektor lainnya, seperti Pinecone.
Berikut adalah beberapa wawasan dan rekomendasi berharga tentang penyisipan data:
Penyisipan Batch: Pilihlah penyisipan batch daripada penyisipan baris tunggal untuk meningkatkan efisiensi. Khususnya, penyisipan dari file melampaui penyisipan batch dalam hal kecepatan. Ketika menangani kumpulan data besar yang melebihi sepuluh juta catatan, pertimbangkan untuk menggunakan antarmuka
bulk_insert
untuk proses impor yang efisien dan cepat.Penggunaan
flush()
yang strategis: Daripada memanggil antarmukaflush()
setelah setiap batch, lakukan satu panggilan setelah menyelesaikan semua penyisipan data. Penggunaan antarmukaflush()
yang berlebihan di antara batch dapat menyebabkan pembuatan file segmen yang terfragmentasi, menempatkan beban pemadatan yang cukup besar pada sistem.Deduplikasi Kunci Utama: Milvus tidak melakukan deduplikasi kunci utama ketika menggunakan antarmuka
insert
untuk penyisipan data. Jika Anda perlu mendeduplikasi kunci primer, kami sarankan Anda menggunakan antarmukaupsert
. Namun, kinerja penyisipanupsert
lebih rendah daripadainsert
, karena adanya operasi kueri internal tambahan.
Konfigurasi #5 - memecahkan kode labirin parameter
Milvus adalah basis data vektor terdistribusi yang mengintegrasikan banyak komponen pihak ketiga seperti penyimpanan objek, antrian pesan, dan Etcd. Pengguna bergulat dengan menyesuaikan parameter dan memahami dampaknya terhadap kinerja Milvus, membuat "Konfigurasi" menjadi topik yang sering dibahas.
Di antara semua pertanyaan tentang konfigurasi, "parameter mana yang harus disesuaikan" bisa dibilang merupakan aspek yang paling menantang, karena parameter bervariasi dalam situasi yang berbeda. Misalnya, mengoptimalkan parameter kinerja pencarian berbeda dengan mengoptimalkan parameter kinerja penyisipan dan sangat bergantung pada pengalaman praktis.
Setelah pengguna mengidentifikasi "parameter mana yang harus disesuaikan," pertanyaan berikutnya tentang "bagaimana cara menyesuaikan" menjadi lebih mudah dikelola. Untuk prosedur spesifik, lihat dokumentasi kami Mengkonfigurasi Milvus. Kabar baiknya adalah bahwa Milvus telah mendukung penyesuaian parameter dinamis sejak versi 2.3.0, sehingga tidak perlu memulai ulang agar perubahan dapat diterapkan. Untuk prosedur spesifik, lihat Mengkonfigurasi Milvus dengan Cepat.
Log #6 - menavigasi kompas pemecahan masalah
"Log" berfungsi sebagai kompas pemecah masalah. Para pengguna mencari panduan di komunitas untuk mengekspor log Milvus, menyesuaikan level log, dan mengintegrasikannya dengan sistem seperti Loki dari Grafana. Berikut adalah beberapa saran tentang log Milvus.
Cara melihat dan mengekspor log Milvus: Anda dapat dengan mudah mengekspor log Milvus dengan skrip sekali klik export-milvus-log.sh yang tersedia di repositori GitHub.
Level log: Milvus memiliki beberapa level log untuk mengakomodasi beragam kasus penggunaan. Level info sudah cukup untuk sebagian besar kasus, dan level debug untuk debugging. Kelebihan log Milvus dapat menandakan level log yang salah konfigurasi.
Kami merekomendasikan untuk mengintegrasikan log Milvus dengan sistem pengumpulan log seperti Loki untuk pengambilan log yang efisien dalam pemecahan masalah di masa mendatang.
Cluster #7 - penskalaan untuk lingkungan produksi
Mengingat identitas Milvus sebagai basis data vektor terdistribusi, istilah "cluster" sering menjadi topik diskusi di komunitas. Pembicaraan berkisar pada penskalaan data dalam cluster, migrasi data, serta pencadangan dan sinkronisasi data.
Dalam lingkungan produksi, skalabilitas yang kuat dan ketersediaan yang tinggi adalah persyaratan standar untuk sistem database terdistribusi. Arsitektur pemisahan penyimpanan-komputasi Milvus memungkinkan skalabilitas data tanpa batas dengan memperluas sumber daya untuk node komputasi dan penyimpanan, mengakomodasi skala data tanpa batas. Milvus juga menyediakan ketersediaan tinggi dengan arsitektur multi-replika dan kemampuan pencadangan dan sinkronisasi yang kuat. Untuk informasi lebih lanjut, lihat Koordinator HA.
#8 Dokumentasi - pintu gerbang untuk memahami Milvus
"Dokumentasi" adalah kata kunci lain yang sering muncul dalam diskusi komunitas, yang sering kali terkait dengan pertanyaan tentang apakah ada halaman dokumentasi untuk fitur tertentu dan di mana menemukannya.
Berfungsi sebagai pintu gerbang untuk memahami Milvus, sekitar 80% dari pertanyaan komunitas menemukan jawabannya dalam dokumentasi resmi. Kami menyarankan Anda untuk membaca dokumentasi kami sebelum menggunakan Milvus atau mengalami masalah apa pun. Selain itu, Anda dapat menjelajahi contoh kode di berbagai repositori SDK untuk mendapatkan wawasan dalam menggunakan Milvus.
#9 Penerapan - menyederhanakan perjalanan Milvus
Penerapan yang sederhana tetap menjadi tujuan tim Milvus yang berkelanjutan. Untuk memenuhi komitmen ini, kami memperkenalkan Milvus Lite, sebuah alternatif ringan untuk Milvus yang berfungsi penuh tetapi tidak memiliki ketergantungan pada K8 atau Docker.
Kami semakin menyederhanakan penerapan dengan memperkenalkan solusi pesan NATS yang lebih ringan dan mengkonsolidasikan komponen node. Menanggapi umpan balik dari pengguna, kami bersiap untuk merilis versi mandiri tanpa ketergantungan, dengan upaya berkelanjutan untuk meningkatkan fitur dan menyederhanakan operasi penyebaran. Iterasi cepat dari Milvus menunjukkan komitmen berkelanjutan dari komunitas untuk terus menyempurnakan proses penerapan.
Penghapusan #10 - mengungkap dampaknya
Diskusi umum tentang "penghapusan" berkisar pada jumlah data yang tidak berubah setelah penghapusan, kemampuan untuk mengambil data yang telah dihapus, dan kegagalan pemulihan ruang disk setelah penghapusan.
Milvus 2.3 memperkenalkan ekspresi count(*)
untuk menangani pembaruan jumlah entitas yang tertunda. Bertahannya data yang dihapus dalam kueri mungkin disebabkan oleh penggunaan model konsistensi data yang tidak tepat. Kegagalan pemulihan ruang disk menjadi perhatian untuk mendesain ulang mekanisme pengumpulan sampah Milvus, yang menetapkan waktu tunggu sebelum penghapusan data secara keseluruhan. Pendekatan ini memungkinkan adanya jendela waktu untuk pemulihan potensial.
Kesimpulan
10 kata kunci teratas menawarkan sekilas gambaran tentang diskusi yang dinamis di dalam komunitas Milvus. Seiring dengan perkembangan Milvus, komunitas ini tetap menjadi sumber daya yang tak ternilai bagi para pengembang yang mencari solusi, berbagi pengalaman, dan berkontribusi untuk memajukan basis data vektor di era AI.
Bergabunglah dalam perjalanan yang menarik ini dengan bergabung di saluran Discord kami pada tahun 2024. Di sana, Anda dapat berinteraksi dengan para insinyur brilian kami dan terhubung dengan para penggemar Milvus yang berpikiran sama. Selain itu, hadiri acara Makan Si ang dan Belajar Komunitas Milvus setiap hari Selasa pukul 12:00-12:30 PST. Bagikan pemikiran, pertanyaan, dan umpan balik Anda, karena setiap kontribusi akan menambah semangat kolaboratif yang mendorong Milvus untuk maju. Partisipasi aktif Anda tidak hanya disambut baik, tetapi juga dihargai. Mari berinovasi bersama!
- Versi #1 - Munculnya AIGC mendorong iterasi Milvus yang cepat
- Penelusuran # 2 - di luar Penelusuran Vektor
- Memori #3 - pertukaran antara kinerja dan akurasi untuk meminimalkan overhead memori
- #4 Insert - penyisipan data dengan lancar
- Konfigurasi #5 - memecahkan kode labirin parameter
- Log #6 - menavigasi kompas pemecahan masalah
- Cluster #7 - penskalaan untuk lingkungan produksi
- #8 Dokumentasi - pintu gerbang untuk memahami Milvus
- #9 Penerapan - menyederhanakan perjalanan Milvus
- Penghapusan #10 - mengungkap dampaknya
- Kesimpulan
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word