Topik ini menjelaskan manfaat, arsitektur, dan skenario dari PolarDB X-Engine Edition.
Tantangan dan kebutuhan untuk pengarsipan data historis
Tantangan
Dalam banyak kasus, data baru lebih sering dibaca atau diperbarui dibandingkan data historis. Data historis seperti pesan atau pesanan yang dihasilkan satu tahun lalu jarang diakses. Seiring berkembangnya bisnis Anda, volume data yang tidak sering atau bahkan tidak pernah diakses terus bertambah dalam sistem database Anda. Hal ini dapat menyebabkan masalah berikut:
Data historis dan data baru disimpan dalam sistem database yang sama, sehingga ruang disk mungkin tidak mencukupi.
Volume data yang besar berbagi memori, ruang cache, dan sumber daya disk IOPS dari sistem database, yang dapat menurunkan kinerja database.
Operasi pencadangan volume data yang besar memerlukan waktu lama dan bisa gagal. Bahkan jika operasi berhasil, penyimpanan file cadangan tetap menjadi tantangan.
Masalah-masalah ini dapat diselesaikan dengan mengarsipkan data historis. Data historis dapat disimpan sebagai file menggunakan layanan penyimpanan biaya rendah seperti Object Storage Service (OSS) atau Database Backup (DBS). Dalam skenario bisnis nyata, data historis tidak sepenuhnya statis. Data historis yang dihasilkan beberapa bulan atau tahun lalu mungkin masih dapat di-query atau diperbarui secara real-time atau sesekali. Contohnya, data historis seperti pesanan historis di Taobao atau Tmall, pesan historis di DingTalk, dan pesanan logistik historis di Cainiao dapat di-query dalam Alibaba Group.
Kebutuhan
Untuk menyelesaikan masalah terkait pembacaan dan pembaruan data historis, X-Engine Edition dapat digunakan sebagai database terpisah untuk hanya menyimpan data yang telah diarsipkan. X-Engine Edition harus memenuhi persyaratan berikut:
Menyediakan kapasitas penyimpanan besar untuk menyimpan data online yang terus dihasilkan, sehingga Anda tidak perlu khawatir tentang kapasitas penyimpanan.
X-Engine Edition harus menyediakan antarmuka yang sama dengan database online Anda. Misalnya, database arsip harus mendukung protokol MySQL dengan cara yang sama seperti database online. Ini memastikan bahwa aplikasi Anda dapat mengakses database online dan X-Engine Edition tanpa memerlukan modifikasi kode.
Hemat biaya. Contohnya, Anda dapat menekan data untuk mengurangi ruang disk yang digunakan dan menggunakan media penyimpanan biaya rendah untuk menyimpan volume data yang besar.
Menyediakan kemampuan baca dan tulis yang memenuhi persyaratan pembacaan dan penulisan frekuensi rendah.
MySQL gagal memberikan solusi yang memenuhi semua persyaratan sebelumnya, meskipun MySQL adalah sistem database open source yang paling banyak digunakan di dunia. Mesin seperti TokuDB dan MyRocks menyediakan rasio kompresi tinggi. Namun, volume data yang dapat disimpan menggunakan salah satu mesin ini dibatasi oleh kapasitas disk setiap mesin fisik.
Solusi: PolarDB X-Engine Edition
Untuk mengatasi tantangan tersebut dan memenuhi kebutuhan penyimpanan data arsip, PolarDB X-Engine Edition menyediakan fitur yang dikembangkan berdasarkan inovasi teknologi dan terobosan berikut:
X-Engine Edition dikembangkan oleh Alibaba Cloud berdasarkan arsitektur log-structured merge-tree (LSM tree). X-Engine Edition menyediakan kemampuan kompresi data yang kuat yang memungkinkan Anda menggunakan database arsip dengan biaya rendah. X-Engine Edition menggunakan LSM tree dan algoritma kompresi data Zstandard (ZSTD) untuk meningkatkan rasio kompresi data. Dibandingkan dengan InnoDB, X-Engine Edition dapat mengurangi penggunaan penyimpanan hingga 70%. Untuk informasi lebih lanjut tentang X-Engine Edition, lihat Pengenalan X-Engine. X-Engine Edition memiliki batasan, terutama dalam hal kompatibilitas dengan MySQL. Untuk informasi lebih lanjut, lihat Catatan Penggunaan.
PolarDB mendukung ekspansi online kapasitas penyimpanan berdasarkan penyimpanan terdistribusi bersama. PolarDB menghubungkan sumber daya komputasi dan penyimpanan melalui jaringan berkecepatan tinggi dan mentransmisikan data menggunakan protokol remote direct memory access (RDMA). Ini menghilangkan hambatan kinerja I/O. X-Engine Edition yang terintegrasi dalam PolarDB memberikan manfaat ini.
X-Engine Edition diintegrasikan dalam PolarDB menggunakan inovasi teknologi berikut. Ini memungkinkan PolarDB beroperasi dalam arsitektur dual-engine.
Aliran log write-ahead logging (WAL) dari X-Engine Edition digabungkan dengan aliran redo log dari InnoDB. Dengan cara ini, aliran log yang sama dan saluran transmisi digunakan untuk mendukung InnoDB dan X-Engine Edition. Logika manajemen dan logika interaksi dengan penyimpanan bersama tetap tidak berubah. Arsitektur ini dapat digunakan kembali oleh mesin lain yang diperkenalkan nanti.
Modul I/O dari X-Engine Edition disesuaikan dengan Polar File System (PFS) dari PolarDB InnoDB. Ini memastikan bahwa InnoDB dan X-Engine Edition menggunakan penyimpanan terdistribusi yang sama. Pencadangan dipercepat berdasarkan penyimpanan terdistribusi yang mendasarinya.
Arsitektur node komputasi X-Engine Edition
Sebuah kluster X-Engine Edition terdiri dari satu node utama dan beberapa node hanya-baca. Node utama memproses permintaan baca dan tulis. Kluster mendukung spesifikasi dedicated dan tujuan umum.
Arsitektur multi-node dari X-Engine Edition memastikan ketersediaan tinggi kluster PolarDB. Ketika node utama dalam kluster gagal, kluster dapat secara otomatis failover ke node hanya-baca. Kemudian, node hanya-baca berfungsi sebagai node utama baru. Ini memastikan bahwa ketersediaan layanan minimal 99,99%. Gambar berikut menunjukkan arsitektur multi-node dari X-Engine Edition.
Manfaat
X-Engine Edition menyediakan kapasitas penyimpanan besar. Berdasarkan kapasitas penyimpanan 200 TB dan kemampuan kompresi, X-Engine Edition dapat menyimpan lebih dari 500 TB data mentah. X-Engine Edition menggunakan arsitektur serverless sehingga kapasitas penyimpanan dapat meningkat secara otomatis seiring bertambahnya volume data. Dengan cara ini, Anda tidak perlu menentukan kapasitas penyimpanan saat membeli kluster PolarDB. Anda hanya dikenakan biaya untuk kapasitas penyimpanan aktual yang Anda gunakan.
PolarDB X-Engine Edition mendukung protokol MySQL resmi. Dibandingkan dengan solusi lain yang mencadangkan data historis ke layanan NoSQL seperti HBase, X-Engine Edition memungkinkan aplikasi mengakses database online dan X-Engine Edition tanpa perlu memodifikasi kode.
X-Engine Edition menggunakan kemampuan pencadangan yang disediakan oleh penyimpanan terdistribusi mendasar dari PolarDB untuk mencadangkan volume data yang besar dalam waktu singkat. File cadangan dapat diunggah ke dan disimpan secara permanen di layanan penyimpanan biaya rendah, seperti OSS.
Arsitektur multi-node dari X-Engine Edition menyediakan kemampuan kompresi data yang kuat untuk mengurangi biaya penyimpanan dan memastikan ketersediaan tinggi kluster. Ketika node utama dalam kluster gagal, kluster dapat secara otomatis failover ke node hanya-baca. Kemudian, node hanya-baca berfungsi sebagai node utama baru. Ini memastikan bahwa ketersediaan layanan minimal 99,99%.
Hasil pengujian sysbench menunjukkan bahwa mode penyimpanan dual-engine ini hanya menyebabkan penurunan kinerja sebesar 20% dibandingkan dengan mode single-engine. Jika kluster Anda memiliki jumlah data yang besar, seperti ratusan GB atau TB, Anda dapat mengaktifkan X-Engine Edition untuk sedikit mengurangi kinerja kluster demi penghematan biaya yang signifikan.
Skenario
PolarDB X-Engine Edition menyediakan kapasitas penyimpanan besar dan dapat digunakan untuk menyimpan data historis dari beberapa layanan. Ini memastikan penyimpanan dan manajemen terpusat untuk semua data historis. X-Engine Edition cocok untuk skenario berikut:
PolarDB X-Engine Edition digunakan untuk menyimpan data dingin dari database yang dikelola sendiri secara offline. Database yang dikelola sendiri dapat berupa MySQL, TiDB, PostgreSQL, SQL Server, atau database relasional lainnya.
PolarDB X-Engine Edition digunakan untuk menyimpan data arsip untuk ApsaraDB RDS for MySQL atau PolarDB for MySQL. Anda dapat memigrasikan data historis yang tidak sering diakses ke PolarDB for MySQL X-Engine Edition. Dengan cara ini, ruang penyimpanan database online dapat dilepaskan untuk mengurangi biaya dan meningkatkan kinerja.
PolarDB X-Engine Edition digunakan sebagai layanan database relasional yang menyediakan kapasitas penyimpanan besar. Ini berlaku untuk skenario di mana volume data besar perlu ditulis tetapi data diakses dengan frekuensi rendah, seperti log pemantauan.
Anda dapat menggunakan Data Transmission Service (DTS) untuk terus memigrasikan data dari database online ke PolarDB X-Engine Edition secara real-time. Anda juga dapat menggunakan Data Management (DMS) untuk mengimpor data online secara berkala ke PolarDB X-Engine Edition. Untuk informasi lebih lanjut tentang DTS dan DMS, lihat Apa itu Data Transmission Service? dan Apa itu DMS?

Versi yang didukung
Versi kernel kluster Anda memenuhi salah satu persyaratan berikut:
MySQL 8.0.1 dengan versi revisi 8.0.1.1.31 atau lebih baru;
MySQL 8.0.2 dengan versi revisi 8.0.2.2.12 atau lebih baru.
Spesifikasi node dan harga
X-Engine Edition mendukung spesifikasi General-purpose dan Dedicated. Untuk informasi lebih lanjut, lihat Spesifikasi Node Komputasi PolarDB untuk MySQL Edisi Perusahaan.
Untuk informasi lebih lanjut tentang harga X-Engine Edition, lihat Harga Bayar Sesuai Pemakaian Node Komputasi.