Dhafiq Sagara adalah orang bodoh yang tidak bisa apa-apa, tapi dia selalu berusaha untuk terus menjadi yang lebih baik. Rasa keingin-tahuannya sangat tinggi, selalu berusaha dan terus berusaha, trial dan error adalah prinsip belajarnya.

5 Okt 2010

Partisi Index dan Partisi Tabel Pada Database Oracle

Sebenarnya inti dari partisi itu adalah membagi ruang untuk data-data tertentu. Jika dikaitkan dengan DBMS,Partisi tabel adalah membagi data suatu tabel menjadi beberapa bagian/kriteria. Misal tabel mahasiswa, dipartisi/dibagi berdasarkan NIM. Sehingga dapat diketahui angkatan mahasiswa berdasarkan NIMnya. Dan konsep partisi ini dapat dikembangkan sebagai DSS (Decision Support System) untuk pengambilan keputusan tertentu.

Sedangkan index digunakan untuk mempercepat perncarian data didalam tabel database relasional. Sehingga dengan adanya index partition, memungkinkan untuk meningkatkan performa pencarian data.

Berikut adalah konsep umum partisi tabel:

Dari suatu data yang besar, dipecah-pecah lagi per-bagian berdasarkan kriteria-kriteria tertentu. Pada gambar di atas, dari suatu data dibagi berdasarkan bulan.

Manfaat lain dari partitioning adalah tiap-tiap segment (partisi atau subpartisi) bisa ditaruh di tablespace yang berbeda, sehingga kita mendapat manfaat dari spreading (menyebar) tablespace, yaitu penyebaran I/O dan mengurangi resiko loss data karena tablespace corrupt.

Ada 3 metode utama partisi:
  1. Range partition
    Range partition adalah pembagian suatu tabel ke dalam beberapa bagian berdasarkan range (rentang) nilai tertentu. Range partition ini cocok digunakan pada kolom yang memiliki distribusi nilai yang merata.
  2. List partition
    Konsep pada list partition adalah data dikelompokkan berdasarkan nilai datanya. Cocok untuk kolom yang variasi nilainya tidak banyak. Misal data kota berdasarkan wilayah provinsi. List: Jember, Malang, Surabaya pada partisi Jawa Timur; Bandung, Cirebon pada partisi Jawa Barat. Jadi list partition ini berdasarkan list dari suatu segmen, sehingga data-datanya di list terlebih dahulu.
  3. Hash partition
    Penggunaan hash partition ini jika tidak cocok dengan RANGE ataupun LIST Partition. Penentuan “nilai mana di taruh di partisi mana” itu diatur secara internal oleh Oracle (berdasarkan hash value). Kenapa harus memaksakan memakai partisi sementara tidak cocok dengan RANGE ataupun LIST? Jika ingin mendapat manfaat dari filosofi PARTITIONING yang sebenarnya di mana data disebar ke segment-segment yang berbeda.

Dan 2 metode composite (gabungan):
  1. Composite range-list partition
    Konsep composite range-list partition ini menggabungkan partisi range dan list. Jika pada tabel mahasiswa, NIM dipartisi secara range, sedangkan untuk mendapatkan NIM sekian yang tinggal di wilayah provinsi Jawa Timur itu apa saja, maka menggunakan list. Jadi dipartisi kemudian di list berdasarkan kriteria tertentu.
  2. Composite range-hash partition
    Composite range-hash partition merupakan konsep menggabungkan range partition dan hash partition. Sehingga partisi-partisi yang telah dibuat berdasarkan range/rentang akan dipartisi lagi ke dalam beberapa bagian berdasarkan hash.

Untuk lebih memahami mengenai konsep partisi index dan tabel, berikut saya share mengenai percobaan-percobaan menggunakan Oracel. Silahkan download dan pelajari mengenai Mudafiq-PartisiPadaOracle.pdf

2 komentar:

  1. Saya belum paham tentang partisi table, mau baca ulang...

    BalasHapus
  2. silahkan di download e-book nya. disitu sudah ada penerapannya pake' oracle

    BalasHapus