All Products
Search
Document Center

AnalyticDB:Mesin penyimpanan analitik Xuanwu

Last Updated:Aug 26, 2026

Mesin penyimpanan analitik Xuanwu menyediakan penyimpanan data tingkat perusahaan dengan keandalan tinggi, ketersediaan tinggi (HA), kinerja tinggi, dan biaya rendah. Mesin ini menjadi fondasi yang memungkinkan AnalyticDB for MySQL mendukung penulisan real-time ber-throughput tinggi dan kueri real-time berkinerja tinggi.

Mesin penyimpanan analitik Xuanwu (XUANWU)

Penulisan real-time ber-throughput tinggi

AnalyticDB for MySQL mencapai throughput yang sangat tinggi melalui arsitektur paralel tiga lapis. Lapisan akses, lapisan node penyimpanan, dan lapisan penyimpanan terdistribusi persisten semuanya melakukan skalabilitas horizontal secara paralel. Dikombinasikan dengan mesin penyimpanan hibrida baris-kolom serta konversi asinkron antara data inkremental dan data lengkap, arsitektur ini menghadirkan penulisan real-time ber-throughput tinggi dan konkurensi tinggi.

Untuk visibilitas real-time, AnalyticDB for MySQL menggabungkan protokol konsensus Raft dengan penerapan penulisan sinkron. Data dapat langsung dikueri segera setelah ditulis, dan konsistensi penulisan dijamin. Mesin penyimpanan menggunakan mark-for-delete untuk mendukung pembaruan dan penghapusan real-time ber-throughput tinggi, serta menerapkan Multi-Version Concurrency Control (MVCC) guna menjamin atomisitas dan integritas data.

image

Penyimpanan hibrida baris-kolom

Mesin penyimpanan XUANWU mendukung format penyimpanan hibrida baris-kolom. Format ini berbasis penyimpanan kolom namun juga mengakomodasi penyimpanan baris, mirip dengan format ORC dan Parquet di Hadoop. Perbedaannya adalah bahwa penyimpanan hibrida baris-kolom pada XUANWU tidak hanya mendukung pemangkasan kolom analitik dan pemindaian ber-throughput tinggi, tetapi juga menyediakan penyelarasan baris yang memberikan kinerja pencarian acak yang kuat. Hal ini menghasilkan keunggulan kinerja luar biasa saat melakukan penyaringan berdasarkan indeks multidimensi arbitrer.

Gambar berikut menunjukkan format penyimpanan hibrida baris-kolom.

image

Pengindeksan adaptif

Skenario OLAP memerlukan kueri pada dimensi arbitrer, yang tidak dapat dipenuhi oleh indeks kolom tunggal atau indeks komposit dari sistem OLTP tradisional. XUANWU menggunakan teknologi auto-indeks adaptif tingkat kolom yang secara otomatis mengonfigurasi struktur data indeks berdasarkan tipe kolom seperti string, angka, teks, JSON, dan vektor. Indeks tingkat kolom ini mendukung pengambilan data pada kombinasi dimensi apa pun serta penggabungan multiway streaming progresif, sehingga secara signifikan meningkatkan kinerja penyaringan data.

Jenis indeks yang tersedia meliputi inverted indexes, BKD-Tree indexes, dan Bitmap indexes. Kinerja indeks terutama dipengaruhi oleh karakteristik distribusi data, termasuk kardinalitas dan rasio catatan yang dikembalikan oleh kueri rentang terhadap total catatan dalam tabel. Dalam beberapa kasus—misalnya kondisi age > 0 AND age < 100—penggunaan indeks lebih mahal dibandingkan pemindaian. Oleh karena itu, XUANWU mengandalkan CBO untuk secara cerdas memilih antara penggunaan indeks dan pemindaian.

Gambar berikut menunjukkan proses pencarian multiway merge lintas jenis indeks.

XUANWU adaptive indexing

Manajemen indeks terstruktur dan tidak terstruktur terpadu

Manajer indeks pada lapisan penyimpanan XUANWU mengelola indeks terstruktur dan tidak terstruktur secara terpadu. Jenis indeks yang dikelola meliputi BKD indexes untuk nilai numerik, inverted indexes untuk string, indeks JSON dan indeks vektor untuk data tidak terstruktur, serta full-text indexes untuk data teks. Manajer indeks menyediakan ekspresi terpadu ke lapisan komputasi, sehingga logika SQL di lapisan komputasi kompatibel dengan tipe data heterogen dan dipercepat oleh indeks. Akibatnya, AnalyticDB for MySQL mendukung analisis korelasi antara data teks penuh dan tabel terstruktur, serta mampu mengekspresikan logika kompleks dalam SQL. Contoh berikut menunjukkan kueri semacam itu.

image
SELECT A.customer_id,
       B.score
FROM (
        SELECT customer_id
        FROM dw_databank_crowds_all_100
        WHERE MATCH (item_title, item_desc) AGAINST ('red dress') > 0.5
              AND buy_cnt between 1 and 3
              AND style_prefer_tags in ('slim fit','soft fabric','medium thickness')
              AND ds = 201704
     ) A
JOIN (
        SELECT buyer_id,
               MAX(MATCH (comments) AGAINST ('excellent workmanship,very good quality,elegant,looks great when worn,looks classy -low price')) AS score
        FROM dw_databank_profile_info_0
        WHERE MATCH (mail_addr) AGAINST ('Hangzhou,Zhejiang')
              AND MATCH (comments) AGAINST ('good workmanship,very good quality,elegant,looks great when worn,looks classy -low price')
              AND create_time < '2018-04-31 12:00:00'
              AND create_time > '2017-04-31 12:00:00'
        GROUP BY buyer_id
        ORDER BY score DESC
        LIMIT 100000
     ) B
ON A.customer_id = B.buyer_id
ORDER BY B.score DESC
LIMIT 10000

Kueri tersebut melakukan analisis korelasi pada set hasil indeks teks penuh yang dikembalikan oleh subkueri, mengurutkan hasil berdasarkan skor secara menurun, dan mengembalikan 10.000 baris teratas.

Mesin penyimpanan analitik Xuanwu V2 (XUANWU_V2)

AnalyticDB for MySQL melakukan iterasi terhadap mesin penyimpanan analitik Xuanwu awal untuk mengembangkan XUANWU_V2, mesin penyimpanan generasi baru.

Organisasi data yang efisien

XUANWU_V2 mengoptimalkan cara data diorganisasi. Data ditulis ke mesin real-time dalam mode append. Tugas Flush kemudian menuliskan data ke mesin data lengkap yang ramah baca. Tugas Compaction selanjutnya menggabungkan data dalam satu level atau lintas level pada mesin data lengkap. Pendekatan ini menjaga partisi di bawah level L0 tetap terurut dan mengorganisasi data secara fisik dalam ukuran tetap.

Gambar berikut menunjukkan cara data diorganisasi.

image

Organisasi data ini memastikan integrasi tepat waktu mesin real-time ke dalam mesin data lengkap yang ramah baca, sehingga meningkatkan kinerja kueri. Selain itu, organisasi ini secara signifikan mengurangi amplifikasi baca selama compaction dan menurunkan konsumsi CPU serta I/O selama proses tersebut. XUANWU_V2 juga secara adaptif melakukan pemisahan dan penggabungan file partisi yang terlalu besar atau terlalu kecil, sehingga Anda tidak perlu lagi khawatir memilih kunci partisi.

Format penyimpanan yang efisien

XUANWU_V2 membangun di atas blok I/O tingkat kolom asli yang diorganisasi berdasarkan jumlah baris tetap, dan memperkenalkan format file yang mengorganisasi blok I/O berdasarkan ukuran tetap. Pengorganisasian berukuran tetap ini mengoptimalkan manajemen I/O dan memori serta mengatasi masalah ketidakkonsistenan antara penyelarasan baris dan ukuran I/O. Format ini juga meningkatkan efisiensi penggunaan ulang memori serta mengurangi overhead alokasi dan pemulihan memori. Dengan menyelaraskan memori dengan operasi I/O, XUANWU_V2 lebih lanjut mengurangi amplifikasi baca dan menurunkan biaya I/O.

image

Elastisitas skalabilitas horizontal yang lebih baik

XUANWU_V2 menyimpan semua data di OSS, yang secara signifikan mengurangi biaya penyimpanan dan sangat meningkatkan efisiensi skalabilitas horizontal serta migrasi node. XUANWU_V2 menggunakan ESSD (Enterprise SSD) sebagai cache kueri dan mendukung dua bentuk caching: pra-ambil partisi yang ditentukan oleh pernyataan DDL dan caching kueri otomatis. Pendekatan ini secara efektif meningkatkan kinerja kueri.