Orca adalah key-value database persisten yang kompatibel dengan Redis, dibangun di atas PolarDB for MySQL. Dengan mengaktifkan fitur Orca, kluster PolarDB for MySQL Anda dapat mengelola data relasional dan struktur data bergaya Redis dalam satu platform terpadu. Aplikasi dapat tetap menggunakan klien Redis yang sudah dikenal beserta metode aksesnya, sehingga mengurangi kompleksitas operasional dan total biaya kepemilikan dalam mengelola middleware terpisah. Arsitektur ini juga memberikan latensi lebih rendah untuk beban kerja yang menggunakan protokol Redis. Selain itu, Orca mendukung nilai individual hingga 4 GB, menjadikannya cocok untuk kasus penggunaan yang melibatkan objek besar.
Cara kerja
Key-value database tradisional, seperti proyek open-source Pika dan Kvrocks, umumnya dirancang untuk skalabilitas tinggi. Namun, penerapannya sering memperumit koordinasi node dan manajemen operasional. Untuk mengatasi tantangan ini, PolarDB for MySQL memperkenalkan fitur Orca. Setelah Anda membeli kluster PolarDB for MySQL, Anda juga dapat menggunakannya sebagai key-value database persisten (kompatibel Redis). Data MySQL dan data key-value (protokol Redis) disimpan secara terpisah.
Dibangun di atas arsitektur PolarDB for MySQL, Orca mengintegrasikan kerangka kerja untuk penguraian dan pemrosesan permintaan protokol Redis. Semua permintaan terkait Orca terhubung ke port khusus. Gambar berikut mengilustrasikan arsitektur teknis Orca dalam PolarDB for MySQL:
Keunggulan utama
-
Biaya rendah
-
Orca menghilangkan kebutuhan akan sumber daya komputasi terpisah. Fitur ini memanfaatkan distributed storage berkinerja tinggi untuk memenuhi kebutuhan kapasitas besar.
-
-
Kemudahan penggunaan
-
Berdasarkan arsitektur PolarDB for MySQL, Orca menggunakan physical replication untuk mengaktifkan read/write splitting. Fitur ini juga mendukung elastic scaling Serverless horizontal dan vertikal serta menyertakan fitur compute hot standby, yang secara signifikan mengurangi beban operasional.
-
Orca kompatibel dengan bentuk produk PolarDB for MySQL tingkat lanjut, seperti Global Database Network (GDN). Dengan menggunakan Orca bersama GDN, Anda dapat menerapkan bisnis Anda di beberapa wilayah. GDN menyediakan sinkronisasi data cross-region berlatensi rendah, read/write splitting cross-region, dan routing baca lokal, sehingga memastikan akses aplikasi ke Orca memiliki latensi kurang dari 2 detik di setiap wilayah.
-
-
Persistensi data dan konsistensi kuat
-
Dibangun di atas storage engine InnoDB dari PolarDB for MySQL, Orca menggunakan PolarStore, layanan distributed storage, untuk mencegah kehilangan data.
-
Orca mencapai konsistensi baca kuat pada node primary dan read-only nodes dengan menggunakan teknologi SCC dari PolarDB for MySQL.
-
-
Kinerja tinggi
-
Berdasarkan engine InnoDB berkinerja tinggi, Orca menggunakan fitur seperti struktur indeks Blink-tree berkinerja tinggi dan prefetch logis untuk memberikan peningkatan kinerja signifikan dalam skenario baca/tulis berkonkurensi tinggi.
-
Kasus penggunaan
Orca menyediakan kompatibilitas protokol Redis di atas PolarDB for MySQL, melengkapi kasus penggunaan Redis yang sudah ada. Anda dapat menggunakan Orca sebagai key-value database persisten. Dengan kapasitas penyimpanan besar hingga 500 TB yang disediakan oleh distributed storage PolarStore, Anda dapat mengatasi tantangan biaya dan volume data sekaligus mempertahankan kemudahan penggunaan Redis.
-
Database inti untuk server game: Penerapan game tipikal memiliki arsitektur sederhana. Aplikasi utama diterapkan pada instans ECS, dan semua data bisnis disimpan di Orca. Sebagai database persisten, Orca menyediakan pemulihan bencana multi-AZ secara default, backup cepat, pemulihan pada titik waktu, tulis berkinerja tinggi, serta kemampuan untuk diskalakan dengan read-only nodes guna memenuhi permintaan tulis game yang terus berkembang.
-
Leaderboard game: Dalam aplikasi game, pembaruan leaderboard secara real-time dan akses cepat ke status pemain sangat penting. Orca dapat menyimpan skor dan peringkat pemain. Anda dapat dengan mudah mengimplementasikan leaderboard dengan menggunakan struktur data sorted set dari protokol Redis.
-
Layanan rekomendasi iklan: Dalam banyak skenario periklanan online, sistem iklan harus menyimpan sejumlah besar data dan menangani permintaan berkonkurensi tinggi. Orca menyediakan latensi rendah yang stabil dan biaya penyimpanan rendah, menjadikannya solusi efektif untuk kebutuhan pengiriman iklan.
-
Mesin eksekusi skrip Lua: Klien sering perlu menggabungkan beberapa perintah Redis menjadi satu operasi atomik untuk memastikan konsistensi data. Contoh umum termasuk pengurangan inventaris, distributed locks, dan rate limiting. Orca kompatibel dengan perintah EVAL/EVALSHA dari protokol Redis dan mendukung eksekusi skrip Lua di sisi server. Hal ini memungkinkan Anda mengenkapsulasi beberapa operasi menjadi satu transaksi atomik, mengurangi round-trip jaringan, dan memastikan atomicity. Dengan mengaktifkan Orca, Anda memperoleh kemampuan skrip Lua tanpa perlu middleware tambahan.
-
Antrian pesan ringan: Beberapa skenario bisnis memerlukan message queue yang andal untuk pemrosesan tugas asinkron, notifikasi event, atau penguraian keterkaitan layanan. Orca kompatibel dengan struktur data List dari protokol Redis dan secara alami mendukung model produsen-konsumen melalui perintah seperti LPUSH/BRPOP. Anda dapat memenuhi kebutuhan message queue ringan hanya dengan membeli kluster PolarDB for MySQL dan mengaktifkan Orca. Hal ini menghilangkan kebutuhan untuk menerapkan dan memelihara middleware pesan terpisah, sehingga mengurangi kompleksitas arsitektur dan biaya operasional. Di saat yang sama, data persistence dan ketersediaan tinggi dari PolarDB for MySQL memastikan ketahanan data pesan Anda.
-
Kemampuan protokol Redis pada stack data terpadu: Jika Anda ingin menggunakan PolarDB for MySQL sebagai platform data terpadu Anda tetapi juga memerlukan struktur data bergaya Redis, Orca dapat menyediakan layanan data kompatibel Redis di atas kluster PolarDB for MySQL yang sudah ada. Hal ini memungkinkan Anda mengelola data relasional dan struktur seperti hash, set, antrian, serta leaderboard dengan pendekatan manajemen terpadu dan persistensi.
-
Penyimpanan untuk objek nilai besar: Dalam skenario seperti profil pengguna, fitur rekomendasi, penyimpanan dokumen, atau manajemen status tugas AI, nilai untuk satu kunci tunggal bisa sangat besar. Berdasarkan optimasi kinerja BLOB dari PolarDB for MySQL, Orca mendukung nilai tunggal hingga 4 GB. Hal ini memungkinkan Anda menyimpan objek besar secara persisten, terus menggunakan model akses key-value yang sederhana, serta mengurangi kompleksitas pemisahan, pemindahan, dan pengelolaan objek besar.
-
Pengembangan lokal dan pengujian integrasi: Dalam pengembangan lokal, debugging bersama, dan skenario CI/CD, aplikasi sering kali perlu menggunakan antarmuka protokol Redis yang sama seperti di lingkungan produksi tetapi tanpa overhead penerapan dan pemeliharaan layanan Redis terpisah. Karena Orca kompatibel dengan Redis, fitur ini dapat digunakan sebagai penyimpan key-value persisten untuk validasi fungsional, reproduksi masalah, dan pengujian regresi. Hal ini menyederhanakan lingkungan dan meningkatkan efisiensi pengembangan.
Persyaratan
Kluster PolarDB for MySQL Anda harus memenuhi persyaratan berikut:
-
Arsitektur CPU: X86
-
Versi mesin:
-
MySQL 8.0.1, dengan versi mesin minor 8.0.1.1.53 atau lebih baru.
-
MySQL 8.0.2, dengan versi mesin minor 8.0.2.2.24 atau lebih baru.
-
Penagihan
Fitur Orca tidak dikenai biaya. Anda tidak dikenai biaya untuk compute nodes. Anda hanya dikenai biaya untuk storage space yang dikonsumsi oleh data Orca. Untuk informasi selengkapnya, lihat Aturan penagihan compute node dan Aturan penagihan storage space.
Batasan
-
Fitur Orca tidak mendukung password-free access. Anda harus membuat akun Orca.
-
Setelah Anda mengaktifkan fitur Orca, Orca menggunakan kembali sumber daya CPU dan memori dari seluruh kluster PolarDB for MySQL. Oleh karena itu, workload Orca meningkatkan beban pada kluster. Peningkatan aktual pada overhead CPU dan memori tergantung pada workload bisnis Anda.
-
Setelah Anda mengaktifkan fitur Orca, kluster PolarDB for MySQL secara otomatis membuat database Orca default bernama
__orca_in_polardb_m_. Anda tidak dapat melakukan operasi apa pun pada database ini atau membuat database lain dengan nama yang sama.
Kompatibilitas
Orca kompatibel dengan beberapa perintah Redis 7.0 dan versi sebelumnya, serta mendukung protokol RESP2 dan RESP3. Saat ini, Orca mendukung hingga 16 database Redis (DB 0 hingga DB 15). Perintah lintas database, seperti MOVE, tidak didukung. Untuk informasi selengkapnya, lihat Kompatibilitas protokol Redis.
Penggunaan
-
Aktifkan Orca:
-
Aktifkan Orca pada halaman pembelian kluster.
-
Aktifkan Orca di bagian pada halaman detail kluster.
-
-
Buat akun Orca: Buat akun Orca di bagian pada halaman detail kluster. Untuk informasi selengkapnya, lihat Buat akun Orca.
-
Kelola endpoint dan port Orca: Lihat endpoint dan port Orca di bagian pada halaman detail kluster. Untuk informasi selengkapnya, lihat Kelola endpoint Orca.
-
Hubungkan ke Orca (protokol Redis): Anda dapat menggunakan klien Redis atau aplikasi untuk terhubung ke dan menggunakan Orca.
CatatanAnda dapat menggunakan Data Management Service (DMS) untuk terhubung ke dan mengelola data Orca.
-
Lihat metrik Orca: Pada halaman detail kluster, buka bagian untuk melihat metrik Orca sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Lihat metrik Orca.
-
(Opsional) Migrasi data: Anda dapat menggunakan Data Transmission Service (DTS) untuk migrasi data Orca.