Ikhtisar
OpenSearch Vector Search Edition adalah mesin pencarian terdistribusi berskala besar yang dikembangkan oleh Alibaba Group. OpenSearch Vector Search Edition menyediakan layanan pencarian untuk seluruh Alibaba Group, termasuk Taobao, Tmall, Cainiao, Youku, dan platform e-commerce lainnya yang disediakan untuk pelanggan di wilayah di luar daratan Tiongkok. OpenSearch Vector Search Edition juga merupakan mesin dasar dari Alibaba Cloud OpenSearch. Setelah bertahun-tahun pengembangan, OpenSearch Vector Search Edition telah memenuhi persyaratan bisnis untuk ketersediaan tinggi, ketepatan waktu tinggi, dan efisiensi biaya. OpenSearch Vector Search Edition juga menyediakan sistem O&M otomatis tempat Anda dapat membangun layanan pencarian kustom berdasarkan fitur bisnis Anda.
Arsitektur
OpenSearch Vector Search Edition terdiri dari tiga komponen utama: sistem manajemen, sistem pencarian online, dan sumber data. Sistem pencarian online memuat indeks dan menyediakan layanan pencarian vektor. Sumber data dikonfigurasikan untuk mengimpor data lengkap dan mensinkronkan data tambahan secara real-time. Sistem manajemen menyediakan layanan O&M otomatis yang memungkinkan Anda membuat dan mengelola kluster dengan mudah.
Arsitektur sistem
Sistem pencarian online
Bagi pengguna, sistem pencarian online digunakan berdasarkan dimensi tabel. Anda dapat memeriksa data setiap tabel vektor secara terpisah dengan memanggil Operasi API. Anda juga dapat mengelola setiap tabel secara terpisah, seperti mengonfigurasi bidang, mengonfigurasi indeks vektor, mengonfigurasi sumber data, dan mengontrol konkurensi data real-time setiap tabel.
Arsitektur backend sistem pencarian online adalah arsitektur terdistribusi yang terdiri dari pekerja Query Result Searcher (QRS) dan pekerja Searcher.

Pekerja QRS menguraikan, memverifikasi, atau menulis ulang permintaan kueri yang Anda ajukan, meneruskan permintaan yang sudah diuraikan ke pekerja Searcher untuk dieksekusi, kemudian mengumpulkan dan menggabungkan hasil yang dikembalikan oleh pekerja Searcher. Kemudian, pekerja QRS mengembalikan hasil kueri yang diproses kepada Anda. Pekerja QRS adalah node komputasi yang tidak memuat data pengguna, sehingga tidak menggunakan banyak memori. Penggunaan memori pekerja QRS hanya tinggi saat sejumlah besar dokumen dikembalikan atau sejumlah besar entri statistik dihasilkan. Jika kapasitas pemrosesan pekerja QRS mencapai titik jenuh, Anda dapat menambah jumlah pekerja QRS atau meningkatkan spesifikasi pekerja QRS.
Pekerja Searcher memuat data indeks, mengambil dokumen berdasarkan kueri, serta menyaring, mengumpulkan, dan mengurutkan dokumen. Indeks pada pekerja Searcher dapat di-sharding. Anda dapat membagi indeks menjadi beberapa shard dan meng-hash bidang dalam shard tersebut ke nilai dalam rentang [0,65535]. Anda dapat menentukan jumlah shard saat membuat indeks. Jika sebuah kluster berisi sejumlah besar data atau memerlukan performa kueri tinggi, Anda dapat melakukan sharding untuk meningkatkan performa kueri tunggal. Jika Anda ingin meningkatkan performa kueri kluster, misalnya, meningkatkan permintaan per detik (QPS) dari 1.000 menjadi 10.000, Anda dapat menambah jumlah replika. Dalam hal ini, Anda harus membagi data di semua pekerja Searcher menjadi jumlah shard yang ditentukan. Nilai hash dari shard harus membentuk rentang lengkap [0,65535].
Sumber daya pekerja Searcher, seperti CPU, memori, dan disk, dibagi di antara tabel.

Gambar di atas menunjukkan contoh. Tabel Vektor 1 berisi empat shard dan Tabel Vektor 2 berisi satu shard. Tabel Vektor 1 mendistribusikan data secara merata ke setiap shard berdasarkan indeks yang dihasilkan. Tabel Vektor 2 menyimpan data vektor penuh di setiap pekerja Searcher sebagai tabel siaran.
Sumber data
Anda dapat mengonfigurasi sumber data untuk membangun indeks untuk data mentah dengan melakukan reindexing (pengindeksan penuh), dan mengimpor data indeks setelah reindexing ke dalam tabel di sistem pencarian online untuk pengambilan data. Sumber data sesuai dengan tabel. OpenSearch Vector Search Edition mendukung jenis sumber data berikut: MaxCompute, Search, Advertisement, dan Recommendation Offline (SARO), serta API. Data mentah dari sumber data API kosong. Jika Anda menggunakan sumber data API, Anda harus mendorong semua data ke tabel yang sesuai di sistem pencarian online dengan memanggil Operasi API.
Sistem manajemen
Sistem manajemen adalah platform O&M untuk instance OpenSearch Vector Search Edition. Platform ini membantu Anda mengurangi biaya O&M secara signifikan.
Proses sinkronisasi data
Pengindeksan penuh
OpenSearch Vector Search Edition mendukung indeks versi ganda. Setiap versi indeks dibangun berdasarkan salinan data mentah. Secara default, data mentah dari sumber data API kosong. Setiap kali reindexing dipicu, pengindeksan penuh dilakukan. Pengindeksan penuh bukan pekerjaan jangka panjang. Proses ini berakhir ketika data diproses dan indeks penuh dihasilkan. Kemudian, indeks penuh diterapkan ke kluster online untuk pengambilan data.
Indeks versi ganda memastikan integritas data meskipun ada banyak perubahan data. Saat skema indeks atau struktur data berubah, indeks versi baru terisolasi dari indeks versi sebelumnya. Dalam hal ini, jika terjadi kesalahan pada perubahan data, Anda dapat mengembalikan data ke versi sebelumnya.
Beberapa langkah diperlukan untuk membangun indeks penuh, seperti pemrosesan data, pembuatan indeks, dan penggabungan indeks. Anda dapat mengatur konkurensi pemrosesan indeks di setiap langkah untuk mempercepat pengindeksan penuh.
Pengindeksan tambahan real-time
Setelah indeks penuh dibangun, setiap versi indeks memiliki proses pengindeksan tambahan jangka panjang. Data tambahan disinkronkan menggunakan node pembaruan data.
Anda dapat mendorong data tambahan dari MaxCompute, Object Storage Service (OSS), dan sumber data API ke tabel dengan memanggil Operasi API. Node pembaruan data mengonsumsi data tambahan. Kemudian, pekerja Searcher membangun indeks secara real-time untuk pengambilan data.
Pengindeksan tambahan adalah pekerjaan jangka panjang. Setiap pengindeksan penuh tabel sesuai dengan proses pengindeksan tambahan. Anda dapat menyesuaikan jumlah node pembaruan data untuk meningkatkan kemampuan memproses data real-time.
Manfaat
Stabilitas
Lapisan bawah OpenSearch Vector Search Edition dikembangkan menggunakan bahasa pemrograman C++. Setelah lebih dari sepuluh tahun pengembangan, OpenSearch Vector Search Edition menyediakan layanan pencarian stabil untuk berbagai sistem bisnis inti. OpenSearch Vector Search Edition cocok untuk skenario pencarian inti yang memerlukan stabilitas tinggi.
Efisiensi
OpenSearch Vector Search Edition adalah mesin pencarian terdistribusi yang memungkinkan Anda mengambil sejumlah besar data. OpenSearch Vector Search Edition mendukung pembaruan data real-time. Pembaruan data dapat berlaku dalam hitungan detik. Oleh karena itu, OpenSearch Vector Search Edition cocok untuk skenario pencarian dan kueri yang sensitif terhadap waktu.
Efisiensi biaya
OpenSearch Vector Search Edition mendukung berbagai kebijakan untuk kompresi indeks dan pengujian pemuatan indeks multi-nilai dan dapat memenuhi persyaratan kueri dengan cara yang hemat biaya.