PolarDB mendukung tabel partisi yang sepenuhnya kompatibel dengan sintaksis dan fitur MySQL native. Selain itu, tabel partisi PolarDB menawarkan performa lebih tinggi dibandingkan MySQL native, mendukung lebih banyak jenis partisi beserta kombinasinya, serta memberikan kenyamanan, kemudahan penggunaan, dan efisiensi.
Pemartisian membagi sebuah tabel logis besar menjadi beberapa tabel fisik kecil berdasarkan aturan partisi. Tabel logis tersebut disebut tabel partisi, sedangkan tabel fisik kecilnya disebut partisi. Setiap partisi secara independen mengorganisasi dan mengelola data serta indeks pada mesin penyimpanan. Aturan partisi utama mencakup RANGE, LIST, dan HASH. Anda harus menentukan kunci partisi untuk mendistribusikan data ke partisi-partisi berbeda sesuai aturan tersebut. PolarDB juga memungkinkan Anda untuk membuat partisi hibrida guna menggunakan mesin penyimpanan berbeda untuk masing-masing partisi. Gambar berikut menunjukkan tabel Orders yang memiliki subpartisi.
Manfaat
Beragam jenis partisi dan kombinasinya
Mendukung partisi RANGE, LIST, HASH, serta LIST DEFAULT HASH dan berbagai kombinasinya, sehingga memberikan metode tata kelola data yang fleksibel.
Mendukung partisi INTERVAL RANGE, yang menyederhanakan pemeliharaan partisi otomatis.
Mendukung pemartisian hibrida dengan menggunakan INNODB dan OSS untuk mengurangi biaya dan meningkatkan efisiensi.
Mendukung indeks parsial dan indeks secondary global guna memenuhi berbagai kebutuhan indeks tabel dalam transaksi dan beban kueri HTAP berbasis partisi.
Performa yang ditingkatkan
Pemangkasan partisi: Saat melakukan kueri data, pengoptimal secara otomatis memfilter partisi berdasarkan kondisi kueri dan metadata partisi untuk mengurangi pemindaian data. PolarDB juga mendukung pemangkasan partisi dinamis guna meningkatkan efisiensi kueri.
Join berbasis partisi: Saat melakukan join antar partisi, sistem memecah tabel partisi menjadi join partisi-partisi berdasarkan kondisi partisi dan memfilter join yang tidak memenuhi kondisi, sehingga meminimalkan jumlah operasi join dan meningkatkan efisiensi kueri.
Pengumpulan dan manajemen statistik: Pengumpulan dan manajemen statistik berbasis partisi bersifat akurat dan fleksibel, memungkinkan pemilihan rencana kueri yang lebih optimal.
Kueri paralel secara signifikan meningkatkan performa solusi tabel besar berbasis partisi.
Manajemen data yang diperkuat
Anda dapat membuat, menghapus, dan membangun ulang indeks untuk partisi.
Anda dapat melakukan backup dan memulihkan data untuk partisi.
Biaya lebih rendah
Partisi dapat disimpan berdasarkan data importance, data storage performance, data storage reliability, dan data storage form.
Optimasi fitur
Dibandingkan dengan MySQL native, PolarDB menyediakan optimasi seperti yang ditunjukkan dalam tabel berikut.
Kategori | Optimasi | Referensi | |
Partisi diperluas | Semua jenis subpartisi | Subpartisi partisi HASH dan KEY | |
Subpartisi RANGE dan LIST | |||
Pemangkasan subpartisi | |||
Beberapa operasi DDL pada subpartisi | |||
Partisi LIST DEFAULT HASH | Partisi LIST DEFAULT HASH | ||
Subpartisi partisi LIST DEFAULT HASH | |||
Subpartisi LIST DEFAULT | |||
Pernyataan REORGANIZE PARTITION untuk memisahkan partisi LIST dari partisi DEFAULT HASH | |||
Pernyataan REORGANIZE PARTITION untuk menggabungkan partisi LIST ke dalam partisi DEFAULT HASH | |||
Pernyataan REORGANIZE PARTITION untuk mengubah jumlah partisi DEFAULT | |||
Pemangkasan partisi LIST DEFAULT HASH | |||
Pernyataan ADD PARTITION untuk menambahkan partisi LIST DEFAULT HASH | |||
Partisi INTERVAL-RANGE | Partisi INTERVAL-RANGE | ||
Subpartisi hash untuk partisi INTERVAL-RANGE | |||
Partisi yang kunci primary dan unique-nya mungkin tidak unik di antara partisi (UNIQUE CHECK IGNORE) |
| ||
| |||
Indeks partisi | Indeks parsial | Indeks parsial pada partisi | |
Indeks parsial pada subpartisi | |||
Operasi ADD, DROP, dan REBUILD indeks pada partisi dan subpartisi. | |||
Pemangkasan indeks parsial | |||
Statistik pada indeks parsial | |||
Indeks parsial pada tabel partisi hibrida | |||
Indeks parsial pada partisi LIST DEFAULT HASH | |||
Indeks partisi global | Membuat dan menghapus indeks secondary global | ||
Indeks secondary global untuk operasi DML dan sebagian besar operasi DDL pada tabel | |||
Indeks secondary global untuk operasi DDL | |||
Indeks secondary global unik | |||
Optimasi kueri | Pengoptimal kueri | Join berbasis partisi parsial | N/A |
Pemangkasan dinamis partisi | |||
Pemangkasan indeks partisi | |||
HyperLogLog | |||
Pemindaian paralel partisi dalam tabel partisi | |||
Pemilihan pengoptimal indeks global dan pemindaian paralel | |||
Kombinasi pemartisian dan MPP | |||
MDL berbasis partisi | ADD PARTITION dan DROP PARTITION mendukung MDL berbasis partisi | ||
EXCHANGE PARTITION mendukung MDL berbasis partisi | |||
REBUILD PARTITION dan REORGANIZE PARTITION mendukung MDL berbasis partisi | |||
Subpartisi mendukung MDL berbasis subpartisi | |||
Operasi DDL | Operasi DDL untuk tabel umum dan tabel partisi | Operasi DDL untuk beralih dari tabel umum ke tabel partisi | |
Partisi hibrida | Jenis mesin penyimpanan yang berbeda didukung | ||