Ikhtisar
OpenSearch Vector Search Edition adalah mesin pencari terdistribusi berskala besar yang dikembangkan oleh Alibaba Group. Mesin ini menyediakan layanan pencarian untuk seluruh platform Alibaba Group, termasuk Taobao, Tmall, Cainiao, Youku, dan platform e-commerce lainnya yang melayani pelanggan di luar daratan Tiongkok. OpenSearch Vector Search Edition juga merupakan dasar dari Alibaba Cloud OpenSearch. Setelah bertahun-tahun pengembangan, solusi ini telah memenuhi persyaratan bisnis untuk ketersediaan tinggi, ketepatan waktu tinggi, dan efisiensi biaya. Selain itu, OpenSearch Vector Search Edition menawarkan sistem O&M otomatis yang memungkinkan Anda membangun layanan pencarian kustom sesuai dengan kebutuhan 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 digunakan untuk mengimpor data lengkap serta mensinkronkan data tambahan secara real-time. Sistem manajemen menyediakan layanan O&M otomatis yang memudahkan pembuatan dan pengelolaan kluster.
Arsitektur sistem
Sistem pencarian online
Bagi pengguna, sistem pencarian online beroperasi berdasarkan dimensi tabel. Anda dapat memeriksa data setiap tabel vektor secara terpisah melalui Operasi API. Selain itu, Anda dapat mengelola setiap tabel secara individual, seperti mengonfigurasi bidang, mengonfigurasi indeks vektor, mengonfigurasi sumber data, dan mengontrol konkurensi data real-time untuk setiap tabel.
Arsitektur backend sistem pencarian online adalah arsitektur terdistribusi yang terdiri dari pekerja Query Result Searcher (QRS) dan pekerja Searcher.

Pekerja QRS mengurai, memverifikasi, atau menulis ulang permintaan kueri yang diajukan, meneruskan permintaan yang telah diurai ke pekerja Searcher untuk dieksekusi, dan kemudian mengumpulkan serta menggabungkan hasil yang dikembalikan oleh pekerja Searcher. Pekerja QRS kemudian mengembalikan hasil kueri yang diproses kepada pengguna. Pekerja QRS adalah node komputasi yang tidak memuat data pengguna, sehingga penggunaan memori relatif rendah. Penggunaan memori hanya meningkat jika sejumlah besar dokumen dikembalikan atau sejumlah besar entri statistik dihasilkan. Jika kapasitas pemrosesan pekerja QRS mencapai batas, Anda dapat menambah jumlah pekerja QRS atau meningkatkan spesifikasinya.
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]. Jumlah shard dapat ditentukan saat membuat indeks. Jika sebuah kluster berisi sejumlah besar data atau memerlukan performa kueri tinggi, Anda dapat melakukan sharding untuk meningkatkan performa satu kueri. Untuk 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 pada 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 pada setiap pekerja Searcher sebagai tabel siaran.
Sumber data
Anda dapat mengonfigurasi sumber data untuk membangun indeks untuk data mentah melalui reindexing (pengindeksan penuh), dan mengimpor data indeks 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, Recommendation Offline (SARO), dan API. Data mentah dari sumber data API kosong. Jika menggunakan sumber data API, Anda harus mendorong semua data ke tabel yang sesuai di sistem pencarian online melalui Operasi API.
Sistem manajemen
Sistem manajemen adalah platform O&M untuk instance OpenSearch Vector Search Edition. Platform ini membantu Anda secara signifikan mengurangi biaya O&M.
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. Proses ini bukan pekerjaan jangka panjang dan berakhir ketika data diproses serta indeks penuh dihasilkan. Kemudian, indeks penuh diterapkan ke kluster online untuk pengambilan data.
Indeks versi ganda memastikan integritas data meskipun ada beberapa perubahan data. Ketika skema indeks atau struktur data berubah, indeks versi baru diisolasi 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 melalui Operasi API. Node pembaruan data mengonsumsi data tambahan, dan 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 OpenSearch Vector Search Edition
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 yang stabil untuk berbagai sistem bisnis inti. Solusi ini 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. Solusi ini mendukung pembaruan data real-time, di mana pembaruan dapat berlaku dalam hitungan detik. Oleh karena itu, OpenSearch Vector Search Edition cocok untuk skenario kueri dan pencarian yang sensitif terhadap waktu.
Efisiensi biaya
OpenSearch Vector Search Edition mendukung berbagai kebijakan untuk kompresi indeks dan pengujian pemuatan indeks multi-nilai, serta dapat memenuhi persyaratan kueri dengan cara yang hemat biaya.