All Products
Search
Document Center

PolarDB:Partisi manual

Last Updated:Mar 28, 2026

Partisi manual di PolarDB for Xscale memberikan kendali eksplisit atas distribusi data ke berbagai node data. Pendekatan ini paling sesuai untuk aplikasi inti yang memerlukan konkurensi dan throughput tinggi, dengan strategi partisi yang dipilih berdasarkan pola baca-tulis workload Anda.

Partisi manual memerlukan pemahaman tentang cara kerja database terdistribusi. Sebelum merancang skema tabel, tentukan apakah workload Anda didominasi oleh operasi baca, tulis, atau kombinasi keduanya—hal ini menentukan jenis tabel yang paling tepat digunakan.

Buat database AUTO

Untuk menggunakan partisi manual, buat database dalam mode AUTO:

CREATE DATABASE autodb1 MODE='auto'

Jenis tabel

PolarDB for Xscale mendukung tiga jenis tabel logis untuk partisi manual. Masing-masing memiliki topologi fisik berbeda dan cocok untuk workload tertentu.

Pilih jenis tabel berdasarkan karakteristik utama workload Anda:

  • Data kecil dengan konkurensi rendah — gunakan tabel non-partisi

  • Banyak dibaca, jarang diperbarui — gunakan tabel broadcast

  • Data besar dengan konkurensi dan throughput tinggi — gunakan tabel partisi

Jenis tabelTopologi fisikPaling cocok untukPerilaku baca dan tulis
Tabel non-partisiSatu tabel fisik pada satu node dataTabel kecil dengan data terbatas dan konkurensi rendahOperasi baca dan tulis ditangani oleh satu node data.
Tabel broadcastSatu replika per node data; replika tetap sinkronTabel konfigurasi dan data lain yang sering dibaca namun jarang diperbaruiPenyeimbangan beban baca: operasi baca didistribusikan ke seluruh node data. Amplifikasi tulis: setiap operasi tulis harus disebarkan ke semua replika untuk menjaga konsistensi.
Tabel partisiBeberapa partisi didistribusikan ke berbagai node data; setiap partisi dipetakan ke satu tabel fisikData besar dengan konkurensi dan throughput tinggiOperasi baca dan tulis diarahkan ke node data target berdasarkan kolom kunci partisi, sehingga beban didistribusikan secara otomatis.
Peringatan

Tabel broadcast mengamplifikasi setiap operasi tulis ke seluruh node data. Gunakan hanya untuk tabel yang jarang berubah. Untuk tabel dengan operasi tulis yang sering, gunakan tabel partisi sebagai gantinya.

Penting

Pilih kolom kunci partisi dengan cermat sebelum membuat tabel partisi. Kunci partisi menentukan node data yang menangani setiap kueri: kueri yang difilter berdasarkan kunci partisi hanya diarahkan ke partisi yang relevan, sehingga jumlah data yang dipindai berkurang secara signifikan dan performa meningkat. Sebagai contoh, jika Anda mempartisi tabel orders berdasarkan customer_id, kueri dengan WHERE customer_id = 42 hanya memindai partisi yang menyimpan data pelanggan tersebut, bukan semua partisi.

Buat tabel

Metode 1: Tentukan jenis tabel secara eksplisit

Buat tabel non-partisi

Sintaks

CREATE TABLE xxx (...)
SINGLE

Contoh

CREATE TABLE sin_tbl(
 id bigint not null auto_increment,
 bid int,
 name varchar(30),
 birthday datetime,
 primary key(id)
)
single ;

Buat tabel broadcast

Sintaks

CREATE TABLE xxx (...)
BROADCAST

Contoh

CREATE TABLE bro_tbl(
 id bigint not null auto_increment,
 bid int,
 name varchar(30),
 birthday datetime,
 primary key(id)
)
broadcast ;

Buat tabel partisi

Untuk sintaks lengkap dan opsi yang tersedia, lihat Buat tabel partisi secara manual (mode AUTO).

Metode 2: Nonaktifkan partisi otomatis secara global

Secara default, PolarDB for Xscale secara otomatis mempartisi tabel baru. Untuk membuat tabel non-partisi tanpa harus menentukan kata kunci SINGLE setiap kali, nonaktifkan perilaku ini dengan variabel global:

SET GLOBAL AUTO_PARTITION=false;

Setelah variabel ini diatur, tabel baru akan dibuat sebagai tabel non-partisi secara default dan kata kunci SINGLE tidak lagi diperlukan.

Referensi