全部产品
Search
文档中心

PolarDB:Praktik terbaik

更新时间:Jul 02, 2025

Skenario umum

Anda mungkin perlu terhubung ke database terdistribusi dalam berbagai skenario. Berdasarkan penggunaan database dan tabel, karakteristik SQL, serta persyaratan performa dan throughput aplikasi lama dan baru, PolarDB-X 2.0 membagi skenario penggunaan menjadi empat jenis aplikasi umum. Tabel berikut menjelaskan tipe-tipe aplikasi tersebut.

Tipe Aplikasi

Contoh

Deskripsi

Karakteristik SQL

Aplikasi dengan sejumlah besar bisnis yang sudah ada

Sistem bisnis yang digunakan oleh perusahaan medis atau rumah sakit selama lebih dari sepuluh tahun

  • Sejumlah besar database dan tabel digunakan oleh bisnis yang sudah ada.

  • Jumlah database lebih besar dari atau sama dengan 10, atau jumlah tabel lebih besar dari atau sama dengan 100.

  • Berbagai jenis kueri SQL diperlukan.

  • Sumber daya database mandiri terbatas, dan waktu respons (RT) kueri bisnis menjadi lebih lambat.

  • Database digunakan oleh sejumlah besar aplikasi lama, serta sejumlah besar database atau tabel untuk bisnis yang sudah ada.

  • Sejumlah besar pernyataan SQL lama dan kompleks ada dan tidak dapat dimodifikasi.

Aplikasi dengan bisnis yang sudah ada dan baru

Sistem manajemen pesanan penjual yang telah menjalankan bisnis selama bertahun-tahun dan ingin mengembangkan fitur baru

  • Sejumlah relatif besar database dan tabel digunakan untuk bisnis yang sudah ada.

  • Jumlah database lebih besar dari atau sama dengan 2, atau jumlah tabel lebih besar dari atau sama dengan 10.

  • Tabel besar harus digunakan untuk bisnis baru, dan sumber daya database mandiri tidak mencukupi karena pertumbuhan data yang cepat.

  • Sejumlah relatif besar database dan tabel digunakan untuk bisnis.

  • Sejumlah besar pernyataan SQL digunakan untuk bisnis yang sudah ada, dan sebagian besar pernyataan tersebut tidak dapat dimodifikasi.

  • Beberapa tabel besar dan pernyataan SQL yang digunakan untuk bisnis baru dapat dimodifikasi dan dioptimalkan.

Aplikasi bisnis baru yang dikembangkan berdasarkan database MySQL mandiri

Sistem bisnis yang akan diluncurkan yang dikembangkan oleh perusahaan fotografi

  • Jumlah database dan tabel serta skala bisnis kecil.

  • Jumlah database kurang dari 2, atau jumlah tabel kurang dari 10.

  • Skalabilitas diperlukan karena sejumlah besar data tambahan diharapkan akan dihasilkan.

  • Pada tahap awal bisnis, peluncuran sistem segera diperlukan. Pada tahap selanjutnya, iterasi dan optimasi sistem yang cepat diperlukan.

  • Database dan pernyataan SQL yang digunakan untuk bisnis baru dapat dimodifikasi dan dioptimalkan.

Aplikasi bisnis dengan performa dan throughput tinggi

Sistem transaksi inti perusahaan e-commerce besar

  • Jumlah database dan tabel kecil, tetapi ukuran data besar dan konkurensi tinggi.

  • Aplikasi sangat sensitif terhadap RT kueri SQL.

  • Throughput dan performa keseluruhan bisnis sangat penting.

  • Hanya beberapa jenis kueri SQL tetap yang dilakukan.

  • Konkurensi tinggi dan performa stabil diperlukan untuk kueri SQL.

Pengguna dari tipe aplikasi yang disebutkan di atas menghadapi tantangan yang berbeda dalam skenario yang berbeda. Saat pengguna mentransformasi aplikasi untuk terhubung ke database terdistribusi, mereka memiliki persyaratan yang berbeda.

Untuk membantu pengguna dari tipe aplikasi yang disebutkan di atas menggunakan database terdistribusi secara efisien guna menyelesaikan masalah bisnis, mode kerja yang berbeda disediakan untuk fitur distribusi transparan PolarDB-X. Pertama kali pengguna terhubung ke database PolarDB-X, pengguna dapat memilih mode kerja yang memenuhi persyaratan bisnis mereka.

Mode kerja yang direkomendasikan di setiap skenario

Tabel berikut menjelaskan mode kerja yang disediakan oleh fitur distribusi transparan PolarDB-X dan efek bisnisnya.

Tipe Aplikasi

Objektif Optimalisasi

Masalah Utama

Mode Kerja yang Direkomendasikan

Efek Bisnis

Aplikasi dengan sejumlah besar bisnis yang sudah ada

  • Batasan sumber daya yang disebabkan oleh database mandiri perlu diatasi, terutama batasan pada CPU dan I/O.

  • RT kueri SQL perlu dioptimalkan.

  • Ratusan atau bahkan ribuan database dan tabel digunakan untuk bisnis yang sudah ada, dan operasi JOIN antara database dan tabel kompleks.

  • Kueri SQL asli yang dilakukan pada bisnis kompleks dan tidak dapat dimodifikasi. Kompatibilitas tinggi dengan pernyataan SQL database terdistribusi diperlukan.

Sharding tabel non-partisi

  • Database, tabel, dan pernyataan SQL bisnis baru kompatibel dengan yang sudah ada hingga tingkat maksimum. Performa kueri hampir tidak berubah.

  • Sejumlah besar tabel non-partisi didistribusikan ke node data (DNs) yang berbeda. Ini membantu mengatasi batasan sumber daya yang disebabkan oleh database mandiri, menerapkan load balancing, dan meningkatkan performa.

Aplikasi dengan bisnis yang sudah ada dan baru

  • Batasan sumber daya yang disebabkan oleh database mandiri perlu diatasi, terutama batasan pada CPU, I/O, dan disk.

  • Performa kueri SQL bisnis perlu tetap tidak berubah.

  • Ruang disk tabel besar perlu ditingkatkan skalanya.

  • Sejumlah besar database dan tabel digunakan untuk bisnis yang sudah ada, dan operasi JOIN antara database dan tabel kompleks.

  • Kueri SQL yang dilakukan pada bisnis yang sudah ada kompleks, dan sebagian besar kueri tidak dapat dimodifikasi.

  • Jumlah data dalam database dan tabel tertentu, terutama tabel besar, untuk bisnis baru meningkat dengan cepat.

Sharding tabel non-partisi + partisi manual

Catatan

Setelah Anda mengatur mode kerja ke sharding tabel non-partisi, jalankan pernyataan ALTER TABLE <table_name> PARTITION BY KEY(<column_name>) locality=''; untuk melakukan partisi manual. Untuk informasi lebih lanjut, lihat Lokalitas.

  • Database, tabel, dan pernyataan SQL bisnis baru kompatibel dengan yang sudah ada hingga tingkat maksimum. Performa kueri hampir tidak berubah.

  • Sejumlah besar tabel non-partisi didistribusikan ke DNs yang berbeda. Ini membantu mengatasi batasan sumber daya yang disebabkan oleh database mandiri, menerapkan load balancing, dan meningkatkan performa.

  • Anda dapat melakukan partisi manual pada tabel besar. Ini memastikan performa baca dan tulis sambil menyelesaikan masalah skalabilitas disk.

Aplikasi bisnis baru yang dikembangkan berdasarkan database MySQL mandiri

  • Skalabilitas diperlukan.

  • Persyaratan performa bisnis tidak tinggi.

  • Biaya transformasi perlu dikurangi, dan bisnis perlu segera diluncurkan.

Partisi otomatis

  • Semua tabel dipartisi secara otomatis. Ini membantu mengatasi batasan sumber daya yang disebabkan oleh database mandiri.

  • Secara default, semua indeks adalah indeks global. Ini memastikan performa dasar kueri berbasis kolom non-primary key.

Aplikasi bisnis dengan performa dan throughput tinggi

  • Skalabilitas linier diperlukan.

  • Performa tinggi diperlukan.

  • Skalabilitas linier dan konkurensi dengan puluhan ribu atau bahkan ratusan ribu permintaan per detik (QPS) diperlukan.

  • Kueri SQL perlu cepat dan stabil karena bisnis sensitif terhadap performa.

Partisi manual

  • Anda dapat secara manual memilih solusi partisi optimal untuk semua tabel berdasarkan skenario bisnis Anda.

  • Anda dapat memodifikasi pernyataan SQL untuk kueri bisnis untuk memenuhi persyaratan skalabilitas linier.