Carian `embedding` mudah dilakukan pada 10K vektor. Pada 100M vektor dengan P99 bawah 100ms, ia adalah masalah infrastruktur — dan inilah yang diselesaikan oleh corak ini.
Saluran paip RAG atau sistem cadangan anda berfungsi dengan baik dalam pembangunan dengan beberapa ribu vektor. Kini anda mempunyai 50 juta `embedding`, pertanyaan memerlukan kependaman bawah 100ms, indeks terus berkembang, dan anda menghabiskan memori. Anda memerlukan seni bina pangkalan data vektor yang boleh diskalakan secara mendatar, mengurus memori dengan cekap (tidak semuanya perlu berada dalam RAM), mengendalikan penulisan serentak semasa pengambilan tanpa mengurangkan prestasi pertanyaan, dan tidak menelan kos $10K/bulan dalam infrastruktur untuk apa yang pada asasnya adalah indeks carian.
Explore more design patterns and system architectures
Arkitek kami dapat membantu merancang dan membina sistem menggunakan pola ini untuk keperluan khusus anda.
Hubungi Kami
Seni bina pangkalan data vektor boleh skala menangani cabaran mengendalikan carian vektor pada skala pengeluaran: pemecahan indeks merentasi nod (`sharding`), penyimpanan bertingkat (segmen `hot` dalam memori, `warm` pada SSD, `cold` pada S3), penghalaan pertanyaan dengan pengimbangan beban, dan penskalaan automatik berdasarkan beban pertanyaan dan saiz indeks. Corak ini merangkumi topologi penempatan, perancangan kapasiti, pengasingan tulis/baca, dan pengoptimuman kos. Ia adalah lapisan infrastruktur yang menjadikan sistem RAG dan cadangan dapat dilaksanakan pada skala besar.
Seni bina ini menempatkan nod pangkalan data vektor dalam topologi kelompok dengan pemisahan antara nod pertanyaan (`query nodes`) (laluan baca) dan nod data (`data nodes`) (laluan tulis). Sebuah saluran paip pengambilan mengendalikan penjanaan `embedding` dan `upsert` kelompok dengan penimbalan tulis untuk mengelakkan kesan terhadap kependaman pertanyaan. Sebuah penghala pertanyaan mengagihkan carian merentasi replika baca dengan selarian peringkat `shard`. Penyimpanan bertingkat memindahkan segmen yang jarang diakses dari memori ke SSD ke S3, dengan pemuatan waktu pertanyaan yang telus. Penskalaan automatik melaraskan kiraan replika berdasarkan QPS pertanyaan dan kependaman P99.
| Lapisan | Teknologi |
|---|---|
| Pangkalan Data Vektor | Milvus (distributed), Qdrant (single-node/small-cluster), Pinecone (managed) |
| Backend Penyimpanan | MinIO / S3 (segment storage), SSD (warm tier), RAM (hot tier) |
| Penyelarasan | etcd (Milvus metadata), Pulsar/Kafka (write-ahead log) |
| Model `Embedding` | OpenAI text-embedding-3-large, Cohere embed-v4, BGE-M3, E5-large-v2 |
| Infrastruktur | Kubernetes (EKS/GKE) with GPU nodes for embedding, memory-optimized nodes for query |
| Pemantauan | Grafana + Milvus metrics exporter, custom P99/recall dashboards |
| Guna Apabila | Elak Apabila |
|---|---|
| Kiraan vektor melebihi 5M dan terus berkembang, memerlukan penskalaan mendatar | Anda mempunyai < 1M vektor — pgvector pada PostgreSQL sedia ada anda sudah mencukupi |
| Kependaman pertanyaan P99 bawah 100ms adalah keperluan yang ketat | Kependaman pertanyaan 500ms+ boleh diterima — pilihan yang lebih mudah berfungsi |
| Pelbagai aplikasi/penyewa berkongsi infrastruktur vektor | Aplikasi tunggal dengan satu koleksi — gunakan perkhidmatan terurus |
| Pengoptimuman kos memerlukan penyimpanan bertingkat (tidak semuanya dalam RAM) | Bajet membenarkan perkhidmatan terurus sepenuhnya dan harga vendor berfungsi pada skala anda |
MW mereka bentuk infrastruktur pangkalan data vektor dengan pendekatan "saiz yang betul dari hari pertama, skala apabila diukur". Kami bermula dengan perancangan kapasiti berdasarkan kiraan vektor, dimensi, jenis indeks, dan kependaman sasaran — bukan tekaan. Penempatan Milvus kami di Kubernetes termasuk papan pemuka Grafana yang menjejaki kiraan segmen, penggunaan memori, persentil kependaman pertanyaan, dan anggaran `recall`. Kami telah melaksanakan kluster Milvus penskalaan automatik yang mengendalikan peningkatan trafik 10 kali ganda semasa waktu perniagaan dan menskala turun semalaman, mengurangkan kos infrastruktur sebanyak 40-60% berbanding peruntukan statik.
Berikan LLM anda akses kepada data anda tanpa fine-tuning. RAG merapatkan jurang antara model bahasa tujuan umum dan pengetahuan khusus domain.
MicrocosmWorks secara amnya mengesyorkan pgvector untuk projek dengan kurang daripada 5-10 juta vektor di mana pasukan sudah menggunakan PostgreSQL, kerana ia mengelakkan pengenalan komponen infrastruktur baharu dan menyokong pertanyaan hibrid SQL-tambah-vektor secara asli. Melebihi 10 juta vektor atau apabila anda memerlukan latensi p99 sub-50ms pada kekerapan tinggi, pangkalan data vektor yang dibina khas seperti Qdrant, Weaviate, atau Milvus menyediakan prestasi yang jauh lebih baik melalui algoritma pengindeksan yang dioptimumkan dan carian yang dipercepatkan GPU. Kami membantu pelanggan membuat keputusan ini semasa semakan seni bina dengan menanda aras corak pertanyaan sebenar mereka dan unjuran pertumbuhan.
MicrocosmWorks mereka bentuk kluster pangkalan data vektor dengan strategi sharding berasaskan hash atau berasaskan metadata yang mengedarkan vektor merentasi nod sambil mengekalkan data berkaitan semantik ditempatkan bersama untuk carian yang cekap. Kami melaksanakan lapisan penghalaan pertanyaan yang menyebarkan permintaan carian kepada shard yang relevan dan menggabungkan hasil menggunakan pengagregatan top-K global, mengekalkan kependaman di bawah 100ms walaupun merentasi berdozen-dozen shard. Papan pemuka pemantauan kami menjejaki keseimbangan shard, pengagihan pertanyaan, dan ketinggalan replikasi untuk mengelakkan hotspot apabila set data anda berskala.
MicrocosmWorks menggunakan scalar quantization (mengurangkan float32 kepada int8) dan product quantization untuk memampatkan penyimpanan vektor sebanyak 4-8 kali ganda dengan kemerosotan recall biasanya kurang daripada 2%, yang kami sahkan melalui A/B testing pada beban kerja query sebenar anda sebelum digunakan dalam production. Kami juga melaksanakan pendekatan two-stage retrieval di mana quantized vectors berfungsi untuk initial candidate retrieval dan full-precision vectors hanya digunakan untuk final re-ranking bagi hasil teratas. Strategi hibrid ini membolehkan pelanggan menyimpan ratusan juta vektor pada sebahagian kecil daripada kos sambil mengekalkan kualiti carian yang tidak dapat dibezakan daripada operasi uncompressed.
MicrocosmWorks menghantar pangkalan data vektor dalam konfigurasi berbilang replika dengan replikasi segerak untuk ketahanan penulisan dan replika baca yang diedarkan merentasi zon ketersediaan untuk toleransi kesalahan dan pengimbangan beban. Kami mengkonfigurasi failover automatik dengan pemilihan pemimpin berasaskan pemeriksaan kesihatan supaya kegagalan nod mengakibatkan kurang daripada 10 saat ketidaktersediaan baca dan kehilangan data sifar. Templat infrastructure-as-code kami merangkumi jadual sandaran yang telah dikonfigurasi, pemulihan titik masa, dan runbook pemulihan bencana yang disesuaikan untuk setiap enjin pangkalan data vektor.
MicrocosmWorks merancang multi-collection vector database deployments di mana setiap application atau embedding model mendapat isolated collectionnya sendiri dengan index configurations yang sesuai, sambil berkongsi underlying cluster infrastructure untuk kecekapan kos. Kami melaksanakan unified query gateway yang menyalurkan permintaan ke collection yang betul berdasarkan application context dan menerapkan collection-specific pre-processing seperti query embedding dengan matching model. Pendekatan multi-tenant vector database ini biasanya mengurangkan infrastructure costs sebanyak 40-60% berbanding menjalankan separate clusters bagi setiap application.