Menaklukkan Masalah Miliaran Vektor di Azure AI Search
By Mirko Peters ·
Selamat datang di pembahasan mendalam kami tentang salah satu tantangan paling mendesak dalam kecerdasan buatan perusahaan modern: menskalakan pencarian vektor hingga miliaran rekaman. Jika Anda sudah bekerja dengan sistem retrieval-augmented generation (RAG), mesin pencarian semantik, atau asisten AI, Anda kemungkinan besar sudah merasakan betapa cepatnya data menumpuk. Ketika organisasi menyerap
Automatically translated with AI from the original post. Read the English original
Selamat datang di pembahasan mendalam kami tentang salah satu tantangan paling mendesak dalam kecerdasan buatan perusahaan modern: menskalakan pencarian vektor hingga miliaran rekaman. Jika Anda sudah bekerja dengan sistem retrieval-augmented generation (RAG), mesin pencarian semantik, atau asisten AI, Anda kemungkinan besar sudah merasakan betapa cepatnya data menumpuk. Ketika organisasi menyerap jutaan, dan kadang miliaran, dokumen, gambar, dan interaksi pengguna, arsitektur pencarian tradisional mulai kewalahan. Itulah sebabnya memahami mekanisme pengindeksan vektor skala miliaran bukan lagi pilihan bagi arsitek dan pengembang; hal ini merupakan kebutuhan mutlak.
Dalam artikel blog komprehensif ini, kami akan mengupas tuntas hambatan teknis dari ruang vektor berdimensi tinggi, membandingkan dua algoritma pengindeksan berbasis graf yang terkemuka di industri, yaitu Hierarchical Navigable Small World (HNSW) dan DiskANN dari Microsoft, serta membahas bagaimana Azure AI Search membantu Anda menangani beban kerja tersebut secara efisien. Baik Anda sedang menyetel parameter memori, berupaya mengendalikan biaya infrastruktur perangkat keras, maupun ingin memaksimalkan recall pencarian, panduan ini akan memberikan peta jalan teknis yang Anda butuhkan. Untuk pembahasan konsep-konsep ini dalam bentuk audio, jangan lewatkan episode podcast terkait HNSW vs DiskANN for Vector Search in Azure AI Search di M365 FM.
Masalah Miliaran Vektor di Azure AI Search
Tantangan Pencarian Vektor Skala Miliaran
Anda menghadapi masalah miliaran vektor ketika perlu mengindeks dan mencari melalui dataset berukuran masif dalam AI perusahaan. Menangani miliaran vektor membawa tantangan teknis yang unik. Anda harus membangun sistem pengindeksan yang efisien agar mampu memproses data berskala besar tanpa memperlambat kinerja. Pembaruan real-time penting karena Anda ingin hasil pencarian tetap mutakhir dan relevan. Mengelola embedding berdimensi tinggi juga krusial untuk menghasilkan hasil pencarian yang akurat.
Ketika Anda bekerja dengan dataset skala miliaran, Anda akan menemui beberapa keterbatasan berikut:
- Dimensi yang tinggi meningkatkan biaya komputasi dan dapat memperlambat kinerja pencarian.
- Kesenjangan semantik antara representasi vektor dan makna di dunia nyata dapat menyebabkan ketidakakuratan.
- Pembersihan data usang menjadi sulit, sehingga menyulitkan penghapusan informasi yang sudah tidak berlaku dari indeks.
- Kualitas vektor bergantung pada model embedding yang Anda pilih, dan hal ini memengaruhi akurasi pencarian.
- Skalabilitas membebani kebutuhan memori dan dapat memperpanjang waktu pencarian.
- Masalah cold start membuat item baru sulit dicari tanpa representasi vektor yang baik.
- Interpretabilitasnya rendah, sehingga memahami alasan sebuah hasil pencarian muncul bisa menjadi tantangan.
Tantangan-tantangan ini menjadikan masalah miliaran vektor sebagai salah satu yang paling sulit dalam AI modern.
Mengapa Pilihan Algoritma Itu Penting
Pilihan algoritma Anda berdampak langsung pada cara Anda menyelesaikan masalah miliaran vektor. Jika Anda memilih algoritma seperti HNSW, Anda mendapatkan akses cepat dan pencarian yang efisien untuk dataset besar. Namun, Anda membutuhkan RAM dalam jumlah besar, yang dapat meningkatkan biaya. Algoritma lain, seperti exhaustive KNN, menawarkan akurasi tinggi tetapi membutuhkan komputasi jauh lebih besar, sehingga lebih cocok untuk dataset yang lebih kecil. Algoritma yang tepat membantu Anda menyeimbangkan kecepatan, akurasi, dan penggunaan sumber daya. Anda dapat mengoptimalkan kinerja untuk aplikasi spesifik Anda dengan mencocokkan algoritma dengan kebutuhan Anda. Keputusan ini menentukan seberapa baik Anda menangani dataset masif dan seberapa besar biaya perangkat keras yang Anda keluarkan.
Ikhtisar Azure AI Search
Azure AI Search memberi Anda platform yang kuat untuk mengatasi masalah miliaran vektor. Anda dapat memproses data terlebih dahulu menggunakan alat pembersihan dan pengayaan tingkat lanjut, yang meningkatkan kualitas vektor sebelum pengindeksan. Platform ini menyusun informasi Anda ke dalam basis data vektor yang dirancang untuk tugas pengambilan data dan kebutuhan pencarian modern. Anda mendapatkan manfaat dari fitur pencarian dan pengambilan data yang andal, termasuk natural language processing untuk pemahaman semantik. Keamanannya pun kokoh, dengan enkripsi dan kontrol akses untuk melindungi data Anda.
Azure AI Search terintegrasi dengan lancar dengan layanan Microsoft Azure lain dan platform pihak ketiga. Anda dapat menggunakan pencarian hibrida, yang menggabungkan pencarian kata kunci dan pencarian vektor untuk memperoleh hasil terbaik. Pengurutan dan penyetelan relevansi memungkinkan Anda mengatur tampilan hasil pencarian agar lebih bermanfaat bagi pengguna. Platform ini juga menawarkan pengalaman pencarian cerdas, seperti pelengkapan otomatis dan hasil yang disarankan. Dibangun di atas infrastruktur global Azure, Azure AI Search memberikan skala dan keandalan yang Anda butuhkan untuk kumpulan data berukuran besar dan proyek data berskala besar.
Indeks Berbasis Graf: HNSW dan DiskANN

Apa Itu HNSW
Mungkin Anda pernah mendengar tentang HNSW, yang merupakan singkatan dari hierarchical navigable small world. Algoritma indeks berbasis graf ini membantu Anda menemukan vektor yang serupa dengan cepat dalam kumpulan data berukuran besar. HNSW membangun struktur graf multi-lapisan yang menghubungkan titik-titik data dengan cara yang membuat pencarian cepat dan akurat. Setiap lapisan graf memiliki kepadatan yang berbeda, dengan lapisan teratas memiliki lebih sedikit node dan lapisan bawah memiliki lebih banyak node. Desain ini memungkinkan Anda memulai pencarian dari atas lalu bergerak ke bawah, sambil mempersempit hasil di setiap langkah. HNSW dioptimalkan untuk pencarian vektor dalam memori, sehingga seluruh graf disimpan di RAM. Pendekatan ini memberi Anda hasil dengan latensi rendah, tetapi juga berarti Anda membutuhkan memori yang besar ketika kumpulan data Anda bertambah.
Apa Itu DiskANN
DiskANN adalah jawaban Microsoft atas tantangan pencarian vektor berskala miliaran. Indeks berbasis graf ini menggunakan pendekatan hibrida yang menggabungkan penyimpanan memori dan SSD. DiskANN memungkinkan Anda menyimpan sebagian besar indeks di SSD, yang jauh lebih murah dibandingkan RAM. Anda hanya menyimpan data navigasi yang paling penting di memori. Desain ini membantu Anda mengelola kumpulan data berukuran besar tanpa biaya perangkat keras yang tinggi. DiskANN menggunakan algoritma graf Vamana untuk memandu pencarian Anda melalui data. DiskANN juga menggunakan metode pemangkasan khusus untuk menjaga graf tetap beragam dan efisien. DiskANN milik Microsoft mendukung Azure AI Search dan layanan lainnya, menjadikannya inovasi kunci untuk AI perusahaan.
| Inovasi | Deskripsi |
|---|---|
| Pencarian ANN berkecepatan tinggi | Arsitektur DiskANN memungkinkan pencarian ANN yang efisien di SSD, yang membantu mengurangi biaya perangkat keras. |
| Sistem memori hibrida | DiskANN menggunakan kombinasi DRAM dan SSD untuk mengelola miliaran titik pada satu mesin. |
| Penyimpanan hemat biaya | DiskANN menyimpan indeks ANN di disk, memberikan solusi hemat biaya untuk penanganan data berdimensi tinggi. |
Cara Kerja HNSW
Konstruksi Graf
HNSW membangun indeks berbasis graf dengan membuat hierarki graf pencarian. Anda memulai dengan struktur yang kosong. Vektor pertama yang Anda tambahkan menjadi satu-satunya node di lapisan teratas. Untuk setiap vektor baru, HNSW menentukan jumlah lapisan yang harus diikutinya menggunakan proses acak. Vektor baru terhubung ke tetangga terdekatnya di setiap lapisan hingga batas maksimum yang ditetapkan. Lapisan teratas memiliki node paling sedikit, sehingga menjadi titik awal yang baik untuk pencarian. Lapisan yang lebih bawah memiliki lebih banyak node, sehingga memungkinkan pencarian yang lebih rinci. HNSW dapat memperbarui grafnya tanpa pembangunan ulang penuh, sehingga Anda dapat menambahkan data baru seiring bertambahnya kebutuhan Anda.
Proses Pencarian
Saat Anda mencari dengan HNSW, Anda mulai dari lapisan teratas graf. Anda menggunakan tautan jarak jauh untuk bergerak cepat menuju area tempat vektor target mungkin berada. Saat Anda turun ke setiap lapisan, koneksinya menjadi lebih padat. Hal ini membantu Anda menyempurnakan pencarian dan mendekati kecocokan terbaik. Pada lapisan terendah, HNSW menggunakan beam search untuk menemukan tetangga terdekat. Proses ini memberi Anda hasil yang cepat dan akurat, terutama ketika seluruh graf muat di dalam memori.
- Prinsip desain HNSW:
- Dioptimalkan untuk operasi dalam memori, memberikan latensi rendah dan recall tinggi.
- Menggunakan struktur graf multi-lapisan berbasis jaringan small-world.
- Menerapkan strategi pemangkasan untuk menghapus tepi yang berlebihan dan mendorong keberagaman.
- Proses pencarian melibatkan penurunan lapisan, dimulai dengan tautan jarak jauh yang jarang dan diakhiri dengan beam search di lapisan dasar.
Anda dapat melihat bahwa baik HNSW maupun DiskANN menggunakan indeks berbasis graf, tetapi desainnya sesuai dengan kebutuhan yang berbeda. HNSW paling cocok ketika Anda dapat menyimpan semuanya di dalam memori. DiskANN memungkinkan Anda berskala hingga miliaran vektor dengan memanfaatkan SSD, sehingga ideal untuk beban kerja perusahaan di Azure AI Search.
Cara Kerja DiskANN
Arsitektur Hibrida Memori dan SSD
Anda menemukan pendekatan unik saat menggunakan DiskANN untuk pencarian miliaran vektor. DiskANN menggabungkan memori dan penyimpanan SSD untuk membentuk arsitektur hibrida. Desain ini memungkinkan Anda menyimpan sebagian besar indeks vektor di SSD, yang biayanya lebih murah daripada RAM. Anda hanya menyimpan data navigasi yang esensial di memori. Metode ini memungkinkan Anda menskalakan pencarian ke miliaran vektor tanpa memerlukan perangkat keras yang mahal.
DiskANN menggunakan dua teknik utama untuk mengoptimalkan penyimpanan dan kecepatan:
- Vamana graph: Anda menggunakan struktur ini untuk menavigasi indeks secara efisien.
- Product quantization (PQ): Anda mengompresi vektor di memori, sehingga penggunaan RAM berkurang.
Anda diuntungkan oleh proses eksekusi kueri dua fase. Pada fase pertama, DiskANN menggunakan vektor terkompresi PQ di RAM untuk dengan cepat mengidentifikasi kumpulan kandidat. Anda tidak perlu membaca dari disk pada langkah ini. Pada fase kedua, DiskANN mengambil vektor presisi penuh dari SSD untuk kumpulan kandidat tersebut. Anda kemudian menghitung jarak yang tepat untuk menemukan kecocokan terbaik. Proses ini memberi Anda recall yang tinggi dan latensi yang rendah sekaligus menjaga kebutuhan memori tetap kecil.
Tip: Arsitektur hibrida memori dan SSD pada DiskANN memungkinkan pencarian skala web pada perangkat keras standar. Anda dapat menyimpan indeks vektor di SSD alih-alih RAM, sehingga aplikasi berskala besar menjadi lebih terjangkau.
Proses Pencarian
Anda memulai pencarian di DiskANN dengan menavigasi Vamana graph menggunakan vektor terkompresi di memori. Langkah ini membantu Anda menemukan kandidat yang menjanjikan dengan cepat. Anda menghindari pembacaan disk pada tahap ini, sehingga prosesnya lebih cepat. Setelah memiliki kumpulan kandidat, DiskANN beralih ke fase berikutnya.
Anda mengambil vektor presisi penuh dari SSD untuk setiap kandidat. Anda menghitung jarak yang tepat antara kueri dan kandidat-kandidat tersebut. Proses dua fase ini memastikan Anda mendapatkan hasil yang akurat tanpa memperlambat pencarian. Anda mencapai recall yang tinggi karena DiskANN memeriksa kandidat terbaik secara rinci. Latensi Anda juga tetap rendah karena sebagian besar pekerjaan dilakukan di memori.
Proses pencarian DiskANN sangat cocok untuk kumpulan data yang sangat besar. Anda dapat menangani miliaran vektor tanpa memerlukan RAM dalam jumlah besar. Anda mendapatkan hasil yang cepat dan andal meskipun data Anda terus bertambah. Hal ini menjadikan DiskANN pilihan yang kuat untuk beban kerja AI perusahaan di Azure AI Search.
| Langkah | Yang Anda Lakukan | Manfaat |
|---|---|---|
| Fase 1: Navigasi | Gunakan vektor terkompresi PQ di RAM untuk menemukan kandidat | Pencarian cepat, tanpa pembacaan disk |
| Fase 2: Penyempurnaan | Ambil vektor presisi penuh dari SSD dan hitung jarak | Recall tinggi, latensi rendah |
Anda dapat melihat bahwa arsitektur hibrida dan proses pencarian DiskANN membantu Anda menyelesaikan masalah miliaran vektor secara efisien. Anda dapat menskalakan pencarian, menekan biaya, dan menjaga performa seiring bertambahnya data.
Kelebihan dan Kekurangan
Kelebihan dan Kekurangan HNSW
Anda sering memilih HNSW untuk pencarian vektor karena menawarkan kecepatan pencarian mutakhir dan recall yang tinggi. Ketika Anda menyetel HNSW dengan benar, Anda mendapatkan hasil yang cepat dan kecocokan yang akurat. Anda dapat menangani data vektor berdimensi tinggi dengan baik, yang penting untuk beban kerja AI modern. Anda juga diuntungkan oleh penambahan inkremental, sehingga Anda dapat memperbarui indeks tanpa membangun ulang semuanya.
Berikut ini ikhtisar singkat kelebihan dan kekurangan HNSW:
| Kelebihan | Kekurangan |
|---|---|
| Kecepatan pencarian mutakhir dan recall tinggi jika disetel dengan benar. | Konsumsi memori tinggi karena harus menyimpan tautan graf untuk setiap vektor. |
| Menangani data berdimensi tinggi dengan baik. | Waktu pembangunan indeks yang lama dengan parameter konstruksi berkualitas tinggi. |
| Mendukung penambahan inkremental secara efisien. | Penghapusan elemen yang rumit dapat menurunkan performa seiring waktu. |
Anda dapat menskalakan HNSW secara efisien karena pembangunan indeksnya menggunakan O(N log N). Konstruksi paralel memungkinkan Anda memanfaatkan prosesor multi-core, sehingga prosesnya lebih cepat. Penggunaan memori tumbuh secara linear seiring ukuran kumpulan data, sehingga kebutuhan penyimpanan dapat Anda prediksi. Namun, Anda harus menyimpan seluruh graf di RAM, yang membatasi skalabilitas untuk kumpulan data miliaran vektor.
Kelebihan dan Kekurangan DiskANN
Anda beralih ke DiskANN ketika perlu menskalakan pengambilan vektor melampaui kapasitas RAM. DiskANN dioptimalkan untuk penggunaan SSD, yang menekan biaya perangkat keras dan memungkinkan Anda mengelola kumpulan data yang sangat besar. Anda mendapatkan akurasi tinggi dan latensi rendah dengan menggabungkan pencarian di memori dengan pembacaan SSD secara batch. DiskANN mendukung pembaruan real-time dan pencarian hibrida, sehingga Anda dapat memfilter dan mengambil vektor secara efisien.
Perhatikan poin-poin berikut tentang DiskANN:
- Skalabilitas hemat biaya dengan menggunakan SSD alih-alih RAM.
- Akurasi tinggi dan latensi rendah pada skala besar melalui pencarian di memori dan pembacaan SSD.
- Pembaruan real-time dan retrieval hibrida yang menggabungkan vektor dengan pemfilteran.
- Waktu pembangunan indeks lambat karena konstruksi graf Vamana sangat berat secara komputasi.
- Performa bergantung pada throughput dan latensi SSD.
- Pembaruan lebih mahal dibandingkan struktur dalam memori seperti HNSW.
- Implementasi dan tuning memerlukan optimisasi yang cermat.
Anda diuntungkan oleh kemampuan DiskANN dalam menangani vektor terkuantisasi, yang memampatkan data dan meningkatkan pencarian yang hemat memori. Anda dapat menggunakan DiskANN untuk beban kerja dengan miliaran vektor tanpa khawatir terhadap batas RAM.
Efisiensi Memori dan Penyimpanan
Anda harus mempertimbangkan efisiensi memori dan penyimpanan saat memilih antara HNSW dan DiskANN untuk retrieval vektor. HNSW bekerja dengan baik untuk dataset yang muat dalam RAM server Anda. Anda mendapatkan akses cepat dan performa tinggi, tetapi Anda tidak dapat melampaui batas memori. DiskANN memungkinkan Anda memperbesar ukuran dataset hingga kapasitas disk, dengan mengorbankan sebagian kecepatan demi penyimpanan. Anda menyimpan sebagian besar indeks di SSD, sehingga DiskANN ideal untuk dataset vektor yang sangat besar.
| Fitur | HNSW | DiskANN |
|---|---|---|
| Efisiensi Memori | Sangat efisien untuk dataset yang muat dalam cache server (RAM). | Dirancang untuk dataset yang terlalu besar untuk muat dalam RAM. |
| Efisiensi Penyimpanan | Dibatasi oleh jumlah RAM yang tersedia. | Memperluas ukuran dataset hingga kapasitas disk, dengan mengorbankan sebagian kecepatan demi penyimpanan. |
| Optimisasi Performa | Memanfaatkan akses memori yang cepat untuk kecepatan. | Meminimalkan penalti performa dari penyimpanan disk yang lebih lambat. |
| Kesesuaian Dataset | Cocok untuk dataset yang muat dalam RAM. | Cocok untuk dataset besar yang melampaui kapasitas RAM. |
Anda menggunakan vektor terkuantisasi di HNSW maupun DiskANN untuk mengurangi kebutuhan penyimpanan dan meningkatkan kecepatan retrieval. Arsitektur hibrida DiskANN memungkinkan Anda memperbesar pencarian vektor sembari menjaga biaya tetap rendah. Anda mencapai pencarian yang hemat memori untuk tugas retrieval skala besar, terutama saat bekerja dengan vektor terkuantisasi dan penyimpanan SSD.
Perbandingan Algoritma Pencarian Vektor

Performa pada Skala Besar
Anda perlu mengukur performa algoritma pencarian vektor saat dataset Anda bertambah. HNSW dan DiskANN sama-sama bertujuan memberikan recall dan kecepatan yang tinggi, tetapi strateginya berbeda. HNSW mengandalkan graf dalam memori, yang berarti Anda mendapatkan pencarian tetangga terdekat yang cepat selama vektor Anda muat dalam RAM. DiskANN menggunakan pendekatan hibrida memori dan SSD, sehingga Anda dapat meningkatkan performa pencarian tanpa khawatir terhadap batas memori.
Saat Anda menjalankan pencarian tetangga terdekat pada jutaan vektor, HNSW memberi Anda retrieval berkecepatan tinggi dan latensi rendah. Anda dapat menyetel parameter untuk recall dan kecepatan. DiskANN mempertahankan recall dan kecepatan yang tinggi bahkan saat dataset Anda membesar. Anda menyimpan sebagian besar indeks di SSD, sehingga Anda dapat menangani miliaran vektor. Anda menggunakan pencarian dua tahap untuk menyeimbangkan kecepatan dan akurasi. Tahap pertama menemukan kandidat di memori, dan tahap kedua menyempurnakan hasil menggunakan SSD.
Anda mencapai recall dan kecepatan yang tinggi dengan kedua algoritma, tetapi DiskANN memungkinkan Anda memperbesar performa pencarian melampaui batas RAM.
Skalabilitas untuk Miliaran Vektor
Anda menghadapi tantangan baru saat dataset Anda bertumbuh dari jutaan menjadi miliaran vektor. HNSW bekerja dengan baik hingga 50 juta vektor. Anda menggunakan HNSW sebagai algoritma pencarian vektor default dan menyetel parameter untuk recall. Saat Anda mencapai 50 hingga 500 juta vektor, Anda menerapkan sharding dan kuantisasi skalar. Anda dapat menggunakan retrieval dua fase untuk efisiensi. Untuk dataset di atas 500 juta vektor, Anda memerlukan retrieval hierarkis dan arsitektur multi-tier. Anda menggunakan kuantisasi agresif untuk data dingin.
| Rentang Jumlah Vektor | Strategi HNSW |
|---|---|
| 1-50 juta | Gunakan HNSW sebagai algoritma default, pastikan vektor muat dalam RAM, dan setel parameter untuk recall. |
| 50-500 juta | Terapkan sharding, aktifkan kuantisasi skalar, dan pertimbangkan retrieval dua fase untuk efisiensi. |
| 500 juta+ | Gunakan retrieval hierarkis, arsitektur multi-tier, dan kuantisasi agresif untuk data dingin. |
DiskANN mengubah permainan untuk pencarian vektor skala miliaran. Anda menyimpan sebagian besar indeks di SSD, sehingga tidak perlu khawatir terhadap batas RAM. Anda menggunakan product quantization untuk memampatkan vektor dan menyimpan data navigasi di memori. Anda dapat memperluas pencarian tetangga terdekat hingga miliaran vektor tanpa mengorbankan performa pencarian. DiskANN mendukung pencarian aproksimasi berbasis clustering dan retrieval hibrida, yang membantu Anda mengelola dataset yang sangat besar.
DiskANN memungkinkan Anda memperluas algoritma pencarian vektor untuk miliaran vektor, sehingga sangat ideal untuk beban kerja enterprise.
Latensi Kueri dan Throughput
Anda memperhatikan latensi kueri dan throughput saat menjalankan pencarian vektor dalam skala besar. HNSW memberi Anda latensi rendah untuk pencarian nearest neighbor karena menyimpan seluruh graf di memori. Anda mendapatkan respons kueri yang cepat dan throughput tinggi untuk dataset yang muat di RAM. Ketika dataset Anda bertambah besar, latensi meningkat seiring Anda melakukan sharding atau menggunakan arsitektur multi-tier.
DiskANN menggunakan proses pencarian dua tahap. Pertama, Anda mencari vektor terkompresi di memori, yang memberi Anda pemilihan kandidat yang cepat. Kemudian Anda menyempurnakan kueri dengan mengambil vektor presisi penuh dari SSD. Pendekatan ini menjaga latensi tetap rendah dan mempertahankan throughput tinggi, bahkan untuk dataset berskala miliaran. Anda mengoptimalkan retrieval dengan melakukan batching pembacaan SSD dan menggunakan struktur navigasi yang efisien.
Anda mencapai recall dan kecepatan yang tinggi dengan DiskANN, meskipun volume kueri Anda meningkat. Anda tidak perlu khawatir tentang batas memori, sehingga Anda dapat meningkatkan performa pencarian untuk aplikasi enterprise.
Anda mendapatkan latensi kueri dan throughput yang andal dengan DiskANN, menjadikannya pilihan yang kuat untuk pencarian nearest neighbor berskala besar.
Dampak Biaya dan Sumber Daya
Anda harus mempertimbangkan dampak biaya dan sumber daya saat memilih algoritma pencarian vektor untuk Azure AI Search. Cara setiap algoritma menggunakan memori dan penyimpanan memengaruhi anggaran serta kemampuan Anda untuk berskala.
DiskANN unggul untuk beban kerja miliaran vektor. Anda dapat menyimpan sebagian besar indeks di SSD, yang biayanya lebih murah daripada RAM. Desain ini memungkinkan Anda berskala dari ribuan hingga miliaran vektor tanpa kenaikan biaya memori yang besar. DiskANN cocok untuk beban kerja AI produksi karena menggunakan SSD secara efisien dan hanya menyimpan data yang paling penting di memori.
HNSW paling cocok untuk dataset berukuran menengah. Anda perlu menyimpan seluruh indeks di RAM. Persyaratan ini membatasi seberapa jauh Anda bisa berskala. Jika dataset Anda terlalu besar, Anda mungkin menghadapi biaya operasional yang tinggi. HNSW juga dibatasi hingga 2.000 dimensi, yang dapat membatasi kasus penggunaan Anda.
| Jenis Indeks | Cocok untuk Beban Kerja Miliaran Vektor | Kebutuhan Memori | Biaya Operasional |
|---|---|---|---|
| DiskANN | Ya, dirancang untuk performa SSD | Berskala dari ribuan hingga miliaran vektor | Direkomendasikan untuk beban kerja AI produksi |
| HNSW | Tidak, cocok untuk dataset menengah | Memerlukan indeks yang muat di RAM | Dibatasi hingga 2.000 dimensi |
Tips: Jika Anda ingin mengelola biaya dan meningkatkan skala pencarian hingga miliaran vektor, DiskANN memberi Anda keunggulan yang jelas. Anda dapat menggunakan SSD yang terjangkau dan menjaga kebutuhan memori Anda tetap rendah.
Kasus Penggunaan di Dunia Nyata
Anda dapat melihat nilai dari algoritma ini dalam aplikasi dunia nyata. Banyak organisasi menggunakan DiskANN dan HNSW untuk berbagai jenis masalah pencarian vektor.
- Anda dapat menggunakan metode hibrida yang hemat biaya untuk pencarian approximate nearest neighbor. Pendekatan ini menggabungkan penyimpanan SSD dengan struktur graf dalam memori.
- Anda dapat menerapkan DiskANN untuk dataset statis, seperti korpus penelitian, yang datanya tidak sering berubah.
- Anda dapat memilih DiskANN untuk penerapan yang sensitif terhadap biaya. Algoritma ini cocok untuk aplikasi berskala miliaran di mana Anda perlu mengendalikan pengeluaran.
- Anda dapat menggunakan DiskANN untuk kueri yang dapat mentoleransi latensi kurang dari 10 milidetik. Kecepatan ini cukup cepat untuk banyak tugas pencarian enterprise.
- Anda dapat mengombinasikan HNSW dengan disk-backed inverted files (HNSW-IF) untuk pencarian hibrida. Metode ini mencapai recall yang tinggi dan menjaga latensi tetap rendah.
| Kasus Penggunaan | Deskripsi |
|---|---|
| Dataset statis | Ideal untuk korpus penelitian yang datanya tidak sering berubah. |
| Penerapan yang sensitif terhadap biaya | Cocok untuk aplikasi berskala miliaran di mana biaya menjadi perhatian. |
| Kueri yang toleran terhadap latensi | Cocok untuk kueri yang dapat mentoleransi latensi kurang dari 10 ms. |
Catatan: Banyak organisasi mencapai recall 90% pada latensi 10 ms menggunakan metode hibrida. Performa ini memenuhi kebutuhan sebagian besar aplikasi pencarian AI enterprise.
Anda dapat menyesuaikan pilihan algoritma dengan beban kerja Anda. Jika Anda perlu berskala, mengelola biaya, dan menjaga latensi tetap rendah, DiskANN memberi Anda fleksibilitas dan efisiensi yang Anda butuhkan.
Kapan Menggunakan HNSW atau DiskANN
Memilih algoritma yang tepat untuk beban kerja Azure AI Search Anda dapat membuat perbedaan besar dalam kecepatan, biaya, dan akurasi. Anda perlu melihat data, perangkat keras, dan seberapa sering data Anda berubah. Mari kita bahas kriteria keputusan utama agar Anda dapat memilih alat terbaik untuk kebutuhan pencarian vektor Anda.
Kriteria Keputusan
Ukuran Dataset
Pertama-tama, selalu lihat ukuran dataset Anda. Jika Anda bekerja dengan jutaan vektor, HNSW memberi Anda hasil pencarian yang cepat dan akurat. HNSW paling optimal ketika data Anda muat di dalam memori. Ketika dataset Anda berkembang hingga miliaran vektor, DiskANN menjadi pilihan yang lebih baik. DiskANN menggunakan SSD untuk menyimpan sebagian besar indeks, sehingga Anda tidak perlu khawatir kehabisan RAM.
| Kriteria | HNSW | DiskANN |
|---|---|---|
| Ukuran Dataset | Cocok untuk jutaan vektor | Unggul untuk miliaran vektor |
Anda dapat melihat bahwa HNSW cocok untuk beban kerja yang lebih kecil, sedangkan DiskANN menangani dataset berskala besar tanpa melambat.
Perangkat Keras dan Biaya
Perangkat keras dan anggaran Anda juga berperan besar. HNSW membutuhkan banyak RAM karena menyimpan seluruh graf di dalam memori. Hal ini bisa menjadi mahal seiring bertambahnya basis data vektor Anda. DiskANN membantu Anda menghemat biaya dengan menyimpan sebagian besar indeks di SSD, yang harganya lebih murah daripada RAM. Anda hanya perlu memori yang cukup untuk bagian navigasi indeks.
| Kriteria | HNSW | DiskANN |
|---|---|---|
| Infrastruktur | Kebutuhan RAM | Mengurangi biaya memori |
Jika Anda ingin menjaga biaya tetap rendah sambil tetap mencari di antara miliaran vektor, DiskANN memberi Anda keunggulan yang jelas.
Kebutuhan Latensi
Pertimbangkan seberapa cepat Anda membutuhkan hasil pencarian. HNSW memberikan latensi yang sangat rendah karena pencarian dilakukan di dalam memori. Anda bisa mendapatkan hasil dalam hitungan milidetik jika data Anda muat di RAM. DiskANN menyeimbangkan kecepatan dan skala. DiskANN menggunakan proses pencarian dua langkah, sehingga Anda tetap mendapatkan hasil yang cepat meskipun dengan dataset yang sangat besar. Untuk sebagian besar aplikasi enterprise, DiskANN menjaga waktu kueri di bawah 10 milidetik.
- HNSW paling cocok untuk beban kerja di mana setiap milidetik sangat berarti.
- DiskANN cocok ketika Anda perlu mencari dataset besar dengan cepat dan dapat menerima sedikit peningkatan latensi.
Pola Pembaruan
Seberapa sering data Anda berubah memengaruhi pilihan Anda. HNSW cocok untuk data yang statis atau berubah perlahan. Jika Anda sering memperbarui vektor, Anda mungkin perlu membangun ulang indeks, yang memakan waktu. DiskANN lebih adaptif terhadap pembaruan yang sering. DiskANN menjaga akurasi dan recall tetap stabil, bahkan ketika Anda sering menambah atau mengubah vektor.
| Fitur | HNSW | DiskANN |
|---|---|---|
| Latensi Pembaruan | Memerlukan pembangunan ulang indeks secara penuh | Beradaptasi secara efisien terhadap perubahan |
| Recall | Tinggi, tetapi terpengaruh oleh perubahan | Akurasi stabil dengan mutasi yang sering |
Jika aplikasi Anda perlu menangani banyak pembaruan, DiskANN memberi Anda fleksibilitas yang lebih besar.
Contoh Skenario
Anda dapat menggunakan skenario dunia nyata untuk membantu memutuskan algoritma mana yang sesuai dengan kebutuhan Anda.
| Metrik | HNSW | DiskANN |
|---|---|---|
| Rata-rata Recall | 0.6 | 0.7 |
| Akurasi End-to-End | 0.972 | 0.933 |
| Robustness-0.2@10 | 0.998 | 0.984 |
| Robustness-0.9 | 0.84 | 0.81 |
- HNSW memberi Anda recall yang tinggi dan throughput kueri yang cepat. Pada dataset seperti SIFT1M, Anda dapat mencapai sekitar 95% recall@10 hanya dalam 1–2 milidetik per kueri pada CPU.
- DiskANN menunjukkan rata-rata recall yang lebih tinggi, yang berarti ia menemukan lebih banyak kecocokan yang benar di dataset besar. DiskANN tetap menjaga akurasi tinggi seiring pertumbuhan data Anda.
- HNSW paling cocok untuk sistem rekomendasi atau mesin pencari yang membutuhkan akurasi dan kecepatan tertinggi.
- DiskANN cocok untuk pencarian berskala besar, misalnya mencari miliaran gambar produk atau dokumen, ketika Anda perlu menyeimbangkan kecepatan, biaya, dan skala.
HNSW unggul untuk beban kerja yang membutuhkan pencarian secepat mungkin pada dataset yang lebih kecil. DiskANN bersinar ketika Anda perlu mencari melalui data dalam jumlah besar tanpa membebani anggaran.
Migrasi dan Pendekatan Hibrida
Anda tidak harus memilih satu algoritma untuk setiap situasi. Banyak organisasi memulai dengan HNSW untuk dataset yang lebih kecil. Seiring bertambahnya basis data vektor, mereka beralih ke DiskANN untuk menangani lebih banyak data dan menekan biaya. Anda juga dapat menggunakan pendekatan hibrida. Misalnya, Anda dapat menyimpan vektor yang paling populer atau paling baru di memori dengan HNSW, sementara vektor yang lebih lama atau jarang digunakan disimpan di SSD dengan DiskANN.
- Mulailah dengan HNSW untuk prototyping cepat dan beban kerja kecil.
- Beralihlah ke DiskANN ketika dataset Anda melampaui batas memori.
- Gabungkan kedua metode untuk kombinasi kecepatan dan skala terbaik.
Tips: Tinjau beban kerja Anda secara berkala. Seiring berubahnya data dan kebutuhan Anda, Anda dapat menyesuaikan pendekatan untuk mendapatkan performa dan nilai terbaik.
Dengan memahami ukuran dataset, perangkat keras, kebutuhan latensi, dan pola pembaruan Anda, Anda dapat membuat pilihan yang tepat antara HNSW dan DiskANN. Hal ini membantu Anda membangun sistem pencarian vektor yang sesuai dengan tujuan Anda dan berkembang seiring bisnis Anda.
Praktik Terbaik untuk Pencarian Vektor di Azure
Tips Konfigurasi Indeks
Anda dapat mencapai performa tinggi di Azure AI Search dengan mengikuti beberapa tips konfigurasi penting. Mulailah dengan memastikan ukuran indeks Anda muat dalam satu unit pencarian vektor. Hal ini membantu menjaga pencarian tetap cepat dan andal. Usahakan untuk meminimalkan ukuran embedding Anda. Embedding yang lebih kecil memperbaiki waktu kueri dan meningkatkan jumlah kueri per detik. Gunakan kueri Approximate Nearest Neighbor agar lebih efisien, karena kueri ini mempercepat pencarian tanpa mengorbankan akurasi secara berarti.
Batasi jumlah hasil per kueri antara 10 dan 100. Rentang ini mengurangi latensi dan menjaga pencarian tetap responsif. Hindari penggunaan endpoint model yang diskalakan ke nol di lingkungan produksi. Cold start dapat memperlambat pencarian Anda dan membuat pengguna frustrasi. Rencanakan lonjakan kueri agar sistem Anda mampu menangani peningkatan lalu lintas pencarian yang tiba-tiba. Gunakan service principal dengan token OAuth untuk autentikasi yang aman dan efisien. Selalu gunakan versi terbaru SDK Python agar Anda memperoleh peningkatan performa. Jika Anda membutuhkan throughput lebih tinggi, skalakan endpoint Anda atau jalankan secara paralel di beberapa endpoint.
Tips: Indeks yang dikonfigurasi dengan baik adalah fondasi pencarian vektor yang optimal di Azure.
Pemantauan dan Optimisasi
Anda perlu memantau dan mengoptimalkan sistem pencarian untuk menjaga performa tinggi, terutama pada beban kerja dengan miliaran vektor. Tabel di bawah ini menunjukkan beberapa teknik yang efektif:
| Teknik | Deskripsi |
|---|---|
| Indeks multi-tier | Gunakan indeks cepat untuk data yang sering diakses dan kompres data dingin untuk menghemat ruang. |
| Kontrol fan-out | Kelola interaksi antara shard dan cluster untuk mengurangi hop jaringan. |
| Kuantisasi | Perkecil ukuran vektor dengan metode seperti IVF-PQ agar sesuai dengan batas memori. |
| Penyetelan centroid | Sesuaikan jumlah centroid untuk menyeimbangkan recall dan overhead. |
| Asymmetric Distance Computation | Percepat pencarian dengan membandingkan kueri berpresisi penuh dengan vektor terkompresi. |
| Perutean kueri yang disengaja | Gunakan metadata dan clustering untuk menghindari broadcast yang tidak perlu selama pencarian. |
| Minimalkan muatan jaringan | Transfer hanya ID dan skor, bukan vektor lengkap, antar-node. |
| Agregasi hierarkis | Agregasi hasil secara lokal untuk mengurangi koordinasi dan menstabilkan latensi. |
| Dominasi memori | Pastikan vektor muat di memori untuk performa pencarian terbaik. |
| Penggunaan GPU secara situasional | Gunakan GPU untuk pengindeksan jika diperlukan, tetapi periksa apakah GPU benar-benar meningkatkan throughput pencarian Anda. |
| Kualitas jaringan | Pantau kondisi jaringan, karena kondisi tersebut memengaruhi latensi pencarian. |
Catatan: Pemantauan rutin membantu Anda mendeteksi masalah lebih awal dan menjaga pencarian tetap berjalan lancar.
Jebakan Umum
Anda mungkin menghadapi beberapa jebakan umum saat menyiapkan atau memperbesar sistem pencarian di Azure. Salah satu kesalahan adalah membiarkan indeks tumbuh terlalu besar untuk satu unit pencarian. Hal ini dapat memperlambat kueri Anda dan membuat pencarian kurang andal. Menggunakan embedding berukuran besar juga dapat merugikan performa. Selalu jaga embedding Anda sekecil mungkin untuk kebutuhan kasus Anda.
Jebakan lainnya adalah mengabaikan lonjakan kueri. Jika Anda tidak merencanakan peningkatan lalu lintas pencarian yang tiba-tiba, sistem Anda bisa gagal saat tekanan meningkat. Mengandalkan endpoint yang diskalakan ke nol dapat menyebabkan keterlambatan cold start, yang memperlambat pencarian. Tidak memperbarui SDK atau tidak menggunakan token OAuth dapat menimbulkan risiko keamanan dan membuat Anda kehilangan peningkatan performa.
Ingat: Hindari jebakan ini agar pencarian Anda tetap cepat, aman, dan andal.
Dengan mengikuti praktik terbaik ini, Anda dapat membangun pengalaman pencarian yang tangguh dan efisien di Azure. Anda akan mampu menangani kumpulan data besar dengan mudah serta memberikan hasil yang cepat dan akurat kepada pengguna.
Anda dapat mengatasi masalah miliaran vektor di Azure AI Search dengan memilih algoritma yang tepat untuk kebutuhan Anda. DiskANN memberikan skalabilitas yang hemat biaya untuk kumpulan data yang sangat besar, sedangkan HNSW memberikan hasil yang cepat untuk beban kerja yang lebih kecil. Anda menyesuaikan algoritma dengan beban kerja, skala, dan anggaran Anda. Tabel di bawah ini membantu Anda memilih endpoint terbaik:
| Jenis SKU | Deskripsi Kasus Penggunaan |
|---|---|
| Endpoint Standar | Paling cocok untuk kebutuhan latensi kritis dengan indeks di bawah 320 juta vektor. |
| Endpoint Dioptimalkan Penyimpanan | Ideal untuk 10 juta+ vektor, dapat menoleransi sedikit latensi, dan membutuhkan efisiensi biaya. |
- Perkirakan kebutuhan penyimpanan Anda dengan menguji beberapa dokumen.
- Rencanakan pembaruan dan total volume konten.
Azure AI Search memberi Anda fleksibilitas dan mendukung inovasi Microsoft untuk AI perusahaan. Untuk menghubungkan semua wawasan teknis ini dengan arsitektur cloud di dunia nyata, pastikan Anda mendengarkan episode podcast pendampingnya HNSW vs DiskANN for Vector Search in Azure AI Search.
Pertanyaan Umum
Apa perbedaan utama antara HNSW dan DiskANN?
Anda menggunakan HNSW untuk pencarian vektor dalam memori. DiskANN memungkinkan Anda menyimpan sebagian besar indeks di SSD. Hal ini membuat DiskANN lebih baik untuk menangani miliaran vektor tanpa biaya memori yang tinggi.
Bisakah Anda menggunakan DiskANN untuk aplikasi real-time?
Bisa. DiskANN memberikan pencarian dengan latensi rendah, sering kali di bawah 10 milidetik. Anda dapat menggunakannya untuk tugas pencarian AI real-time, bahkan dengan kumpulan data yang sangat besar.
Bagaimana Anda memutuskan algoritma mana yang akan digunakan di Azure AI Search?
Pilih HNSW untuk kumpulan data yang lebih kecil dan muat di RAM. Pilih DiskANN untuk kumpulan data berskala masif yang membutuhkan penskalaan yang hemat biaya. Pertimbangkan ukuran data, perangkat keras, dan kebutuhan latensi Anda.
Apakah DiskANN memerlukan perangkat keras khusus?
Tidak. Anda dapat menjalankan DiskANN pada server standar dengan SSD. Anda tidak memerlukan mesin dengan memori besar yang mahal. Hal ini membuat penskalaan lebih mudah dan lebih terjangkau.
Bagaimana Azure AI Search menjaga keamanan data Anda?
Azure AI Search menggunakan enkripsi dan kontrol akses. Anda mengendalikan siapa yang dapat mengakses data Anda. Fitur keamanan Microsoft membantu Anda melindungi informasi sensitif.
Bisakah Anda memperbarui indeks vektor tanpa downtime?
Anda dapat memperbarui indeks HNSW maupun DiskANN. DiskANN mendukung pembaruan yang efisien untuk kumpulan data besar. Anda tetap menjaga hasil pencarian agar selalu segar tanpa membuat sistem Anda offline.
Apa saja praktik terbaik untuk mengoptimalkan performa pencarian vektor?
Gunakan embedding yang lebih kecil, pertahankan indeks Anda dalam satu unit pencarian, dan pantau latensi kueri. Selalu perbarui SDK Anda dan rencanakan lonjakan kueri untuk menjaga performa tetap tinggi.
🎧 Dengarkan episode ini
Ingin penjelasan praktis tentang HNSW vs DiskANN untuk Vector Search di Azure AI Search? Episode ini membahas topik tersebut dengan bahasa yang jelas dan menunjukkan mengapa hal ini penting bagi Microsoft 365, Azure, Power Platform, keamanan, AI, dan dunia kerja modern.
Dengarkan episode ini jika Anda ingin:
- Memahami konsep utama di balik HNSW vs DiskANN untuk Vector Search di Azure AI Search
- Melihat bagaimana topik ini cocok dalam ekosistem teknologi Microsoft yang lebih luas
- Mempelajari di mana topik ini dapat memberikan nilai praktis bagi organisasi Anda
Anda mungkin juga menikmati episode M365 FM terkait berikut:
- Improve Microsoft Copilot Accuracy Beyond Vector Search
- Azure AI Search – Simply Explained
- Vector Databases - Simply Explained
- Microsoft Graph API Discovery untuk Pencarian Semantik Perusahaan
- Buat Pencarian SharePoint Menampilkan File yang Tepat Lebih Dulu
Temukan lebih banyak percakapan praktis tentang Microsoft di M365 FM.
Terakhir ditinjau: Juli 2026.
Siapa yang Sebaiknya Mendengarkan
Episode ini ditujukan bagi administrator Microsoft, arsitek, pengembang, profesional keamanan, dan pemimpin bisnis yang membutuhkan fondasi praktis sebelum mengambil keputusan terkait implementasi, operasional, atau tata kelola.
🎧 Anda Juga Sebaiknya Mendengarkan
- Azure Resource Manager — Langkah lanjutan yang sangat terkait untuk memperluas topik ini.
- Infrastructure as Code — Langkah lanjutan yang sangat terkait untuk memperluas topik ini.
- Azure Policy — Langkah lanjutan yang sangat terkait untuk memperluas topik ini.