• Tidak ada hasil yang ditemukan

Ketiga RDBMS yang digunakan dalam penelitian ini mempunyai beberapa fitur-fitur yang berbeda. Dilihat dari data size limits-nya, ketiga RDBMS ini menerapkan batasan-batasan yang berbeda pula. Namun setelah penulis mencari referensi-referensi yang ada, hanya MySQL dan Oracle XE saja yang melansir data size limits mereka. Tabel 2.4 di bawah ini menunjukkan perbandingan data size limits ketigaRDBMS tersebut.

Tabel 2.4 Tabel perbandingan data size limits MySQL, LucidDB, dan Oracle XE (www.enotes.com).

MySQL LucidDB Oracle XE

Max Blob / Clob Size 4 GB Unlimited Max CHAR Size 64 KB (text) 4000 B Max Column Name Size 64 30 Max Columns per Row 4096 (InnoDB is

limited to 1,000 columns)

1000

Max DATE Value 9999 9999

Max DB Size Unlimited Unlimited Max NUMBER Size 64 bits 126 bits Max Row Size 64 KB (InnoDB is

limited to 8,000 bytes)

8 KB

Max Table Size MyISAM storage limits: 256TB; Innodb storage limits: 64TB

4 GB

2.9.2 Indexes Information

2.9.2.1 MySQL Indexes Information

Indexes digunakan untuk menemukan rows di column tertentu dengan cepat. Sebagian besar MySQL indexes (primary key, unique, index, dan fulltext) disimpan dalam B-tree. Pengecualian bila indexes pada jenis data spasial menggunakan R-tree, dan tabel memory yang juga mendukung hash indexes (http://dev.mysql.com).

2.9.2.2 LucidDB Indexes Information

Indexes dibuat pada column store tables yang disebut bitmap indexes. Bitmap indexes seperti halnya btree indexes kecuali yang tidak menyimpan daftar rids yang sama dengan setiap key value di leaf pages, daftar rids digantikan dengan compressed bitmaps yang mewakili rids tersebut. Bitmap terdiri dari serangkaian byte, di mana setiap bit dalam byte yang sesuai dilepaskan. Jika bit telah ditetapkan, maka menunjukkan bahwa key value yang sama dilepaskan. Compression didapat dengan menghapus bytes yang tidak mengandung bits (http://pub.eigenbase.org).

Untuk menentukan di mana bitmap dimulai, inputan atau entry yang bisa dijadikan bytes, dibulatkan ke bawah yang terdekat dengan 8-byte. Inputan atau entry yang dijadikan bytes sebenarnya adalah bagian dari kunci indeks. Inputan atau entry yang dijadikan bytes ditambahkan ke akhir yang ditentukan pengguna kunci indeks. Sejak adanya batasan size pada entry bitmap, dimungkinkan untuk memiliki beberapa inputan multiple bitmap yang sesuai dengan key value jika ada sejumlah baris yang berisi key value. Dengan mempunyai kemampuan “melepaskan” yang merupakan bagian dari index key, hal tersebut dapat membedakan inputan-inputan yang ada dan memungkinkan

inputan-inputan tersebut untuk disimpan dalam tahap “melepaskan” (http://pub.eigenbase.org).

2.9.2.3 Oracle XE Indexes Information

Berdasarkan Oracle Database Data Warehousing Guide (http://docs.oracle.com), bitmap indexes disimpan dengan cara yang telah ditetapkan, terkompresi tanpa perlu campur tangan user. B-tree indexes, bagaimanapun, dapat disimpan secara khusus dengan cara dikompres untuk memungkinkan penghematan kapasitas yang besar, menyimpan beberapa key di setiap index block, yang mana juga mengarah ke penurunan I / O dan performa yang lebih baik.

Tujuan dari kompresi adalah mengkompresi indeks B-tree, yang mengurangi penyimpanan secara overhead dari pengulangan value. Dalam kasus indeks yang non-unique, semua index columns dapat disimpan dalam format yang terkompresi, sedangkan dalam kasus indeks yang unique, setidaknya satu index column harus disimpan secara terkompresi.

Umumnya, inti dari indeks adalah grouping piece dan unique piece. Jika inti tersebut tidak didefinisikan sebagai unique piece, Oracle menyediakan form rowid yang dapat ditambahkan ke grouping piece. Kunci kompresi adalah metode yang memutus bagian grouping piece dan menyimpannya sehingga dapat digunakan bersama beberapa unique pieces. Cardinality dari kolom yang dipilih akan dikompresi untuk menentukan rasio kompresi yang dapat dicapai. Jadi, misalnya, jika indeks yang unique yang terdiri dari lima kolom memberikan keunikan dari dua kolom terakhir, maka hal tersebut yang paling optimal untuk memilih tiga kolom terdepan untuk disimpan secara kompresi. Jika memilih untuk mengkompres empat kolom, pengulangan akan hilang, dan rasio kompresi akan lebih buruk.

Meskipun tujuan dari kompresi adalah mengurangi kebutuhan penyimpanan indeks, hal tersebut juga dapat menimbulkan beberapa overhead pada penyimpanan tambahan, karena setiap entri awal memiliki overhead bernilai empat byte yang terkait dengan itu.

2.9.2.4 Perbandingan Indexes Information

Berikut adalah perbandingan mengenai indexes information yang ditunjukkan pada tabel 2.5 di bawah ini :

Tabel 2.5 Tabel Indexes Information antara MySQL, LucidDB, dan Oracle XE (www.enotes.com)

MySQL LucidDB OracleXE

R-/R+ tree MyISAM tables only No Yes Hash MEMORY, Cluster

(NDB), InnoDB, tables only No  Cluster Tables Expression No No  Yes  Partial No  No  Yes  Reverse No  No  Yes 

Bitmap No  Yes  Yes 

GiST No  No  No

GIN No  No  No

Full-text MyISAM tables only No  Yes

Penjelasan dari fitur-fitur indexes information dapat dilihat di bawah ini : 1. Hash : digunakan untuk mengindex dan mengambil suatu nilai pada

sebuah database, sehingga akan berlangsung lebih cepat jika dibanding dengan data yang asli (sebelum diindex). Atau dengan kata lain, perubahan string dari suatu karakter ke dalam suatu nilai dengan panjang yang tetap atau key yang merepresentasikan string aslinya.

2. Bitmap : fitur ini mendukung penggunaan data warehousing yaitu dengan cara mengurutkan data pada tabel dan didefinisikan dengan angka-angka yang merepresentasikan nilai-nilai yang berbeda pada data. Umumnya, indeks data lebih efisien ketika data tidak menyertakan nilai yang sama secara berulang. Namun, bitmap lebih baik digunakan ketika nilai-nilainya berulang.

3. Full-text : pencatatan atau penyimpanan data di dalam tabel database di mana data disimpan dalam bentuk terstruktur biasanya atau struktur data lainnya sehingga memudahkan database dalam melakukan penelusuran data. Tetapi pada MySQL hanya dapat digunakan di tabel MyISAM. 4. Spatial : spatial indexing adalah pembuatan indeks untuk objek-objek

spasial. Contoh objek spasial adalah persegi, dan objek dua dimensi lain. Objek tiga dimensi termasuk objek spasial. Secara umum, yang dimaksud objek spasial adalah objek yang menempati ruang.

5. Reverse : membalikkan byte di setiap kolom yang diindeks dengan tetap menjaga urutan kolom yang sama sebagai indeks normal.

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Dokumen terkait