Admin SAP HANA - Partisi Tabel

Menggunakan Partisi, Anda dapat membagi tabel penyimpanan kolom menjadi tabel yang lebih kecil dalam beberapa sistem host. Anda bahkan dapat membagi tabel menjadi bagian-bagian kecil yang lebih mudah dikelola menggunakan partisi. Partisi dapat dilakukan dengan menggunakan pernyataan DML SQL.

Ketika sebuah tabel dipartisi, itu berisi kumpulan baris yang berbeda untuk setiap bagian dan Partisi dapat dilakukan berdasarkan algoritme yang berbeda - Partisi Hash, Partisi Tingkat Tunggal atau multilevel.

Berikut adalah keuntungan menggunakan Partisi Tabel -

Pemangkasan Partisi

Anda dapat menentukan apakah kueri dapat dianalisis di partisi tertentu. Dengan menggunakan metode ini, Anda dapat mengurangi beban pada sistem dan karenanya meningkatkan waktu respons.

Example- Saat Anda mempartisi tabel berdasarkan tahun, kueri dijalankan untuk menganalisis data untuk tahun tertentu. Anda dapat menggunakan partisi tertentu dan dengan demikian kinerja kueri ditingkatkan.

Penyeimbang beban

Anda dapat membagi partisi individual pada beberapa host dan karenanya kueri tidak diproses oleh satu server, menghasilkan load balancing yang lebih baik pada semua partisi tabel hosting server.

Batasan Ukuran

Dalam tabel penyimpanan kolom, jumlah baris maksimum yang dapat dimasukkan adalah sekitar 2 miliar. Anda dapat mengatasi ini dengan mendistribusikan baris tabel kolom pada beberapa partisi dan karenanya batas ukuran ditingkatkan menjadi 2 miliar untuk setiap partisi.

Operasi Penggabungan Delta yang Lebih Baik

Selama penggabungan delta, jika data hanya diubah untuk beberapa partisi, Anda perlu menggabungkan lebih sedikit partisi dalam penggabungan delta.

Pemrosesan Kueri Paralel

Dengan menggunakan partisi, Anda dapat menjalankan beberapa kueri secara paralel dan karenanya meningkatkan waktu respons.

Sekarang mari kita bahas jenis-jenis partisi.

Partisi Tingkat Tunggal

Ada berbagai jenis partisi tingkat tunggal yang tersedia di sistem SAP HANA -

  • Partisi Hash
  • Partisi Round Robin
  • Rentang Partisi

Dalam partisi Hash, baris didistribusikan secara merata untuk melakukan penyeimbangan beban. Anda tidak memerlukan informasi mendetail tentang konten tabel dalam tipe Partisi ini.

Dibandingkan dengan Hash Partitioning, dalam Round Robin Partitioning, baris didistribusikan secara merata ke setiap partisi dan baris baru ditetapkan secara merata ke setiap partisi.

Untuk membuat 4 partisi tabel menggunakan Round Robin, Anda dapat menggunakan kueri SQL berikut ini. Tidak ada kunci utama yang harus ditentukan.

CREATE COLUMN TABLE TABLENAME (a INT, b INT, c INT) 
PARTITION BY ROUNDROBIN PARTITIONS 4

Perintah ini akan membuat 4 partisi tabel.

CREATE COLUMN TABLE Table_Name (a INT, b INT, c INT, PRIMARY KEY (a,b)) 
PARTITION BY HASH (a, b) PARTITIONS 4

Ini akan membuat 4 partisi pada kolom a dan b, dan Anda perlu menentukan setidaknya satu kolom.

Rentang Partisi

Dalam partisi Range, Anda membuat partisi khusus untuk nilai-nilai tertentu dan Anda harus memiliki pengetahuan mendalam tentang isi tabel untuk kolom partisi.

Example - Membuat satu partisi untuk setiap bulan kalender.

CREATE COLUMN TABLE TABLE_NAME (a INT, b INT, c INT, PRIMARY KEY (a,b)) 
PARTITION BY RANGE (a) 
(PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20, 
PARTITION VALUE = 50, PARTITION  OTHERS)

Ini akan membuat 4 partisi, satu untuk berbagai partisi 1 sampai 10, 2 nd dari 10 sampai 20, 3 rd untuk nilai 50, dan 4 th untuk semua nilai-nilai lain.

Partisi Multilevel

Dalam pemartisian bertingkat, Anda dapat mengatasi batasan pemartisian tingkat tunggal HASH dan RANGE untuk menggunakan kolom kunci sebagai kolom pemartisi. Dengan menggunakan partisi bertingkat, Anda dapat mempartisi kolom yang bukan kunci utama. Jenis partisi bertingkat yang paling umum adalahHASH-Range Partitioning.

Dalam partisi multitingkat Hash-Range, Anda menerapkan partisi Hash pada tingkat pertama untuk mengimplementasikan penyeimbangan beban dan partisi Range pada tingkat kedua untuk mengimplementasikan partisi berbasis waktu.

CREATE COLUMN TABLE Table_name (a INT, b INT, c INT, PRIMARY KEY (a,b))
PARTITION BY HASH (a, b) PARTITIONS 4,
RANGE (c) (PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20)

Alih-alih menggunakan partisi Hash di tingkat pertama, Anda juga dapat menggunakan partisi Round Robin yang dikenal sebagai Round Robin-Range multilevel partitioning.

CREATE COLUMN TABLE Table_name (a INT, b INT, c INT) 
PARTITION BY ROUNDROBIN PARTITIONS 4,
RANGE (c) (PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20)