AnalyticDB for MySQL adalah layanan gudang data real-time yang dikembangkan secara internal oleh Alibaba Cloud. AnalyticDB for MySQL dapat memproses data dalam skala petabyte dan telah diuji coba dalam bisnis inti berskala ultra-besar.
Ikhtisar
Sejak dirilis pertama kali di Alibaba Group pada tahun 2012, AnalyticDB for MySQL telah melalui hampir 100 iterasi versi dan mendukung analisis real-time untuk berbagai sektor bisnis milik Alibaba Group, seperti e-commerce, periklanan, logistik, hiburan, pariwisata, dan pengendalian risiko. Pada tahun 2014, AnalyticDB for MySQL secara resmi dirilis untuk publik. AnalyticDB for MySQL menyediakan layanan untuk perusahaan besar dan menengah tradisional, sektor layanan publik, serta perusahaan Internet di lebih dari selusin industri.
AnalyticDB for MySQL adalah layanan gudang data cloud-native yang mengintegrasikan kemampuan basis data dan big data.
Arsitektur teknis
AnalyticDB for MySQL mengadopsi arsitektur cloud-native yang memisahkan komputasi dari penyimpanan serta data panas dari data dingin. AnalyticDB for MySQL mendukung operasi penulisan data real-time dengan throughput tinggi, konsistensi data yang kuat, konkurensi query tinggi, dan pemrosesan batch berkapasitas tinggi.
AnalyticDB for MySQL menggabungkan keunggulan arsitektur terdistribusi, komputasi elastis, dan komputasi awan untuk meningkatkan skalabilitas, kemudahan penggunaan, keandalan, dan keamanan secara signifikan. Hal ini membantu memenuhi persyaratan gudang data dalam berbagai skenario. AnalyticDB for MySQL mendukung akses konkuren dalam skala lebih besar, memberikan performa baca-tulis lebih cepat, dan menerapkan manajemen cerdas untuk beban kerja query hybrid. AnalyticDB for MySQL membantu memanfaatkan sumber daya secara lebih rinci dan dengan biaya lebih rendah, sehingga Anda dapat fokus lebih banyak pada pengembangan bisnis dan nilai data.
Dalam hal penyebaran perangkat keras, AnalyticDB for MySQL mendukung chip Intel dan AMD serta set instruksi x86.
Enterprise Edition dan Basic Edition
Enterprise Edition mendukung failover dalam hitungan detik, penyebaran lintas zona, deteksi otomatis kesalahan, penghapusan, serta rekreasi replika. Edisi ini juga mendukung penyimpanan data tiga replika, pencadangan penuh dan inkremental, memberikan keandalan data yang dibutuhkan di industri keuangan. Selain itu, Enterprise Edition menyediakan alat untuk migrasi, sinkronisasi, manajemen, integrasi, dan perlindungan data, memungkinkan Anda fokus lebih pada pengembangan bisnis.
Basic Edition beroperasi dalam mode single-replika serta menawarkan fitur serupa dengan Enterprise Edition. Dengan arsitektur penyimpanan single-replika, Basic Edition tidak mendukung ketersediaan tinggi dan cocok untuk skenario bisnis yang membutuhkan penyimpanan data panas berbiaya rendah tanpa persyaratan ketersediaan tinggi.
Gambar berikut menunjukkan arsitektur Enterprise Edition dan Basic Edition.
Lapisan Akses
Lapisan akses terdiri dari node koordinator yang dapat diskalakan secara linier, digunakan untuk akses lapisan protokol, penguraian dan optimasi SQL, sharding data real-time yang ditulis, serta penjadwalan data dan query.
Lapisan akses menggunakan unit penagihan terpadu, metadata dan izin, bahasa pengembangan, serta tautan transmisi untuk meningkatkan efisiensi pengembangan.
Compute Layer
Mesin komputasi internal menyediakan dua mode komputasi: Pemrosesan Paralel Masif (MPP) dan Paralel Sinkron Bulk (BSP). Mode MPP menggunakan komputasi aliran, yang kurang cocok untuk skenario pemrosesan batch berbiaya rendah dan kapasitas tinggi. Mode BSP membagi tugas dalam DAG dan menghitung data untuk setiap tugas, sehingga memungkinkan pemrosesan sejumlah besar data dengan sumber daya terbatas serta penyimpanan data di disk. Jika mode MPP gagal memproses data dalam periode waktu tertentu, mesin komputasi akan beralih secara otomatis ke mode BSP untuk melanjutkan pemrosesan.
Mesin komputasi open source Spark didukung untuk memenuhi kebutuhan dalam skenario pemrosesan batch yang kompleks dan pembelajaran mesin. Lapisan komputasi Spark dan lapisan penyimpanan dipisahkan namun tetap terhubung, memungkinkan Anda menggunakan sumber daya lapisan komputasi untuk memproses data pada lapisan penyimpanan. Dengan konfigurasi ini, Anda dapat dengan mudah membuat dan mengonfigurasi grup sumber daya Spark. Selain itu, Anda dapat memanfaatkan percepatan perangkat keras GPU dan FPGA untuk mencapai kinerja biaya yang lebih optimal.
Mesin penyimpanan internal menyediakan arsitektur terdistribusi dengan fitur konsistensi kuat dan ketersediaan tinggi berbasis penyimpanan bersama. Mesin ini menggunakan sharding data dan Multi-Raft untuk mendukung penulisan real-time paralel, penyimpanan bertingkat data panas dan dingin guna mengurangi biaya, serta penyimpanan hibrid baris-kolom dan pengindeksan cerdas untuk memaksimalkan performa.
Lapisan Penyimpanan
Satu salinan data lengkap dapat digunakan untuk pemrosesan batch dan analisis real-time.
Dalam skenario pemrosesan batch, data disimpan di media penyimpanan berbiaya rendah untuk mengurangi biaya. Sementara itu, dalam skenario analisis real-time, data disimpan di media penyimpanan cepat guna meningkatkan performa. Untuk memenuhi kebutuhan pemrosesan batch, AnalyticDB for MySQL menyimpan satu salinan data lengkap pada media penyimpanan berbiaya rendah dengan kapasitas tinggi, sehingga mengurangi biaya penyimpanan dan I/O serta memastikan throughput yang tinggi. Untuk mendukung persyaratan analisis real-time dalam waktu kurang dari 100 milidetik, AnalyticDB for MySQL menyimpan data real-time di SSD, memastikan ketepatan waktu untuk query data baris, pengindeksan penuh, dan percepatan cache.
AnalyticDB for MySQL menyediakan lapisan API penyimpanan terpadu dan format Arrow untuk memastikan data dapat diakses secara publik. Tidak ada data pengguna yang terkunci. Anda dapat menggunakan mesin komputasi open source seperti Spark dan Presto untuk mengakses data yang disimpan di AnalyticDB for MySQL. Selain itu, Anda juga dapat mengakses data dalam ekosistem danau data, termasuk Iceberg, Hudi, Delta Lake, dan Paimon.
Edisi Historis
Data Warehouse Edition
Data Warehouse Edition cocok untuk analisis data real-time berperforma tinggi.
Gambar berikut menunjukkan arsitektur Data Warehouse Edition.
Lapisan Akses
Lapisan akses terdiri dari node koordinator yang dapat diskalakan secara linier. Lapisan ini digunakan untuk akses lapisan protokol, penguraian dan optimasi SQL, sharding real-time data yang ditulis, penjadwalan data, dan penjadwalan query.
Mesin Komputasi
Mesin komputasi mengintegrasikan kemampuan MPP terdistribusi dan grafik asiklik terarah (DAG). Mesin komputasi memanfaatkan pengoptimal cerdas untuk mendukung query SQL kompleks dan konkurensi tinggi. Infrastruktur cloud-native memungkinkan node komputasi diskalakan dalam hitungan detik, sehingga sumber daya digunakan secara efisien.
Mesin Penyimpanan
Mesin penyimpanan mendukung operasi penulisan data real-time dengan konsistensi kuat dan ketersediaan tinggi berbasis protokol konsensus Raft. Mesin penyimpanan menggunakan sharding data dan Multi-Raft untuk mendukung pemrosesan paralel, penyimpanan bertingkat data panas dan dingin untuk mengurangi biaya, serta penyimpanan hibrid baris-kolom dan pengindeksan cerdas untuk memberikan performa maksimal.
Data Warehouse Edition menggunakan arsitektur tiga lapisan untuk mendukung failover dalam hitungan detik dan menerapkan penyebaran lintas zona, deteksi otomatis kesalahan, serta penghapusan dan rekreasi replika. Data Warehouse Edition mendukung penyimpanan data tiga replika dan pencadangan penuh serta inkremental, yang memberikan keandalan data yang dibutuhkan dalam industri keuangan. Data Warehouse Edition juga menyediakan alat untuk migrasi, sinkronisasi, manajemen, integrasi, dan perlindungan data, sehingga Anda dapat fokus lebih banyak pada pengembangan bisnis.
Data Lakehouse Edition
Dibandingkan dengan Data Warehouse Edition, Data Lakehouse Edition dapat menerapkan pemrosesan batch berbiaya rendah dan analisis data real-time berperforma tinggi. Data Lakehouse Edition secara signifikan meningkatkan kemampuan pemrosesan data dalam pengumpulan, penyimpanan, komputasi, manajemen, dan aplikasi.
Gambar berikut menunjukkan arsitektur Data Lakehouse Edition.
Sumber Data
AnalyticDB Pipeline Service (APS) disediakan untuk menerapkan akses berbiaya rendah ke sumber data, seperti basis data, log, dan platform big data.
Lapisan Akses
Lapisan akses memanfaatkan unit penagihan terpadu, metadata dan izin, bahasa pengembangan, serta tautan transmisi untuk meningkatkan efisiensi pengembangan.
Lapisan Penyimpanan dan lapisan komputasi
Data Lakehouse Edition menyediakan dua mesin internal: mesin komputasi XIHE dan mesin penyimpanan XUANWU. Data Lakehouse Edition juga mendukung mesin komputasi open source Spark dan mesin penyimpanan Hudi. Data Lakehouse Edition cocok untuk berbagai skenario analisis data dan mendukung akses antara mesin internal dan open source untuk menerapkan manajemen data terpusat.
Lapisan Penyimpanan: Satu salinan data lengkap dapat digunakan baik untuk pemrosesan batch maupun analisis real-time.
Dalam skenario pemrosesan batch, data perlu disimpan di media penyimpanan berbiaya rendah untuk mengurangi biaya. Dalam skenario analisis real-time, data perlu disimpan di media penyimpanan cepat untuk meningkatkan performa. Untuk memenuhi persyaratan pemrosesan batch, AnalyticDB for MySQL menyimpan satu salinan data lengkap di media penyimpanan berbiaya rendah dan kapasitas tinggi. Ini mengurangi biaya penyimpanan data dan I/O serta memastikan throughput tinggi. Untuk memenuhi persyaratan analisis real-time dalam 100 milidetik, AnalyticDB for MySQL menyimpan data real-time di unit I/O elastis individu (EIU). Ini membantu memenuhi persyaratan ketepatan waktu untuk query data baris, pengindeksan penuh, dan percepatan cache.
Lapisan Komputasi: AnalyticDB for MySQL secara otomatis memilih mode komputasi yang sesuai untuk mesin komputasi XIHE. Mesin komputasi open source Spark cocok untuk berbagai skenario.
Mesin komputasi XIHE dan Spark membentuk fondasi lapisan komputasi AnalyticDB for MySQL. Kombinasi kedua mesin komputasi tersebut memberikan solusi gudang data end-to-end, memastikan analisis data real-time berperforma tinggi dan memenuhi persyaratan untuk pemrosesan batch dan analisis kompleks.
Mesin komputasi XIHE menyediakan dua mode komputasi: MPP dan BSP. Mode MPP menggunakan komputasi aliran, yang tidak cocok untuk skenario pemrosesan batch berbiaya rendah dan kapasitas tinggi. Mode BSP membagi tugas dalam DAG dan menghitung data untuk setiap tugas. Dengan cara ini, sejumlah besar data dapat diproses menggunakan sumber daya terbatas, dan data dapat disimpan di disk. Jika mode MPP gagal memproses data dalam periode waktu tertentu, mesin komputasi XIHE dapat beralih secara otomatis ke mode BSP untuk memproses data.
Mesin komputasi open source Spark juga didukung untuk memenuhi kebutuhan dalam skenario pemrosesan batch yang lebih kompleks dan pembelajaran mesin. Lapisan komputasi dan lapisan penyimpanan dipisahkan tetapi saling terhubung. Anda dapat menggunakan sumber daya lapisan komputasi untuk memproses data lapisan penyimpanan. Ini memungkinkan Anda dengan mudah membuat dan mengonfigurasi grup sumber daya Spark.