Macam-Macam Storage Engine Database Mysql

macam-macam storage engine, storage engine mysql,storage engine,database mysql,database,mysql,informasi,tutorial,myisam,innodb,engine database,perbedaan,macam-macam dbmsMysql merupakan database opensource yang banyak diminati oleh pengembang software, dari aplikasi yang berbentu web, aplikasi yang berbentuk desktop. Ada banyak macam storage engine yang ada di database mysql, masing-masing memiliki kelebihan dan kekurangan masing-masing. Karena mysql merupakan database yang opensource jadi tidak sebagus database-database yang berbayar, sebelumnya sudah pernah dibahas tentang Optimasi Database Mysql agar database mysql menjadi lebih optimal kinerjanya.

Storage Engine adalah arsitektur mesin penyimpanan pada mysql yang memungkinkan dalam pembuatan database untuk memilih storage engine yang lebih khusus dalam pembuatan database dan disesuaikan dengan kebutuhan aplikasi tertentu yang lebih spesifik, setiap engine mempunyai kemampuan masing-masing. Berikut macam-macam storage engine database mysql :

 1. MyISAM
Storage Engine secara bawaan sudah ada dalam Mysql, jadi secara default Mysql akan menggunakan storage engine ini. MyISAM menangani tabel yang non-transactional. Tipe tabel ini menyediakan penyimpanan dan retrieval berkecepatan tinggi, dan juga kemampuan pencarian fulltext. MyISAM didukung di semua konfigurasi MySQL.
Kelebihan
? Lebih cepat daripada InnoDB pada keseluruhan, baik penyimpanan data ataupun konsumsi memory RAM sebagai akibat dari strukturnya yang sederhana sehingga jauh lebih sedikit konsumsi sumber daya server.
? Sederhana untuk perancangan sehingga memudahkan bagi pemula.
? Lebih cepat pada proses pembacaan, sangat dianjurkan jika table sering terjadi proses pembacaan.
? Kapasitas yang tertampung bisa lebih besar dibanding engine InnoDB. Sekitar 256TB, sedangkan InnoDB daya tampungnya 64TB.
Kekurangan
? Tidak mendukung integritas data, sehingga untuk proses integritas data dilakukan secara program bukan di databasenya.
? Tidak mendukung transaksi seperti commit, rollback ataupun crash recovery.
? Lebih lambat dibanding InnoDB jika proses yang sering terjadi adalah insert atau update.
Contoh :
mysql> ALTER TABLE mahasiswa (Nama CHAR(40)) ENGINE = MYISAM;

2. InnoDB
Storage engine ini sering dikenal karena mempunyai fitur transaksi, seperti commit, rollback dan crash recovery layaknya oracle. Disamping itu juga mempunyai fitur tabel relasi dan integritas – foreignkey. InnoDB termasuk dalam semua distribusi biner MySQL 5.1. Dalam distribusi sumber, kita dapat mengatur pemakaian salah satu engine dengan melakukan konfigurasi MySQL.
Kelebihan
? Mendukung integritas data secara penuh dengan adanya foreign key.
? Mendukung transaksi seperti commit, rollback ataupun crash recovery.
? Lebih cepat dalam proses menulis intensif (insert, update) tabel.
Kekurangan
? Mengkonsumsi sumber daya sistem lebih besar baik dalam penyimpanan maupun
memory RAM.
? Karena InnoDB mementingkan integritas, maka proses perancangan tentu
membutuhkan usaha yang lebih besar.
? Tidak mendukung pengindeksan teks penuh.
Contoh :
mysql> CREATE TABLE mahasiswa (Nama CHAR(40)) ENGINE = INNODB;

3. Merge
Storage engine ini mengijinkan koleksi dari tabel MyISAM yang serupa untuk dihandle sebagai tabel tunggal. Seperti MyISAM, storage engine Merge menghandle nontransactional table dan juga termasuk dalam defaultnya MySQL. Storage engine ini memungkinkan DBA MySQL atau pengembang untuk secara logis mengelompokkan serangkaian tabel MyISAM yang identik dan referensi mereka sebagai satu obyek. Proses ini baik untuk lingkungan VLDB seperti data warehouse.

4. Memory
Storage engine ini menyimpan semua data dalam RAM untuk akses yang sangat cepat dalam lingkungan yang memerlukan pencarian referensi yang cepat dan data seperti lainnya. Storage engine Memory menyediakan tabel memory di dalam (in-memory) dan menghandle non-transactional tabel. Storage engine ini sebelumnya dikenal dengan nama Heap engine.
Contoh :
mysql> CREATE TABLE mahasiswa (Nama CHAR(40)) ENGINE = MEMORY;

5. Archive
Storage engine ini menyediakan solusi untuk menyimpan dan mengambil sejarah informasi dalam jumlah yang besar, arsip, atau informasi audit keamanan. Storage engine Archive digunakan untuk menyimpan sejumlah data yang besar tanpa mengindex dengan footprint yang sangat kecil.
Contoh :
SELECT a, b, blob_col FROM archive_table;
SELECT a, b FROM archive_table;

6. Federated
Storage engine Federated hanya bekerja dengan MySQL dan menggunakan MySQL C Client API pada saat ini. Storage engine ini menyimpan data di database yang jauh. Query tabel Federated lokal secara otomatis menarik data dari remote tabel jadi bisa melakukan query join untuk database yang berbeda. Tidak ada data yang disimpan pada tabel lokal. Storage engine Federated menawarkan kemampuan untuk menghubungkan server terpisah MySQL untuk membuat satu database logis dari banyak server fisik. Hal ini sangat baik untuk lingkungan terdistribusi atau data mart.

7. NDBCLUSTER
Storage engine ini digunakan oleh cluster MySQL untuk mengimplementasikan tabel yang dibagi melalui banyak komputer. Jenis ini tersedia di distribusi biner MySQL-Max 5.1. Engine ini baru didukung pada sistem operasi Linux, Solaris, dan Mac OS X. Pada release yang akan datang, akan diusahakan didukung oleh Windows. Storage engine NDBCLUSTER sangat cocok untuk aplikasi yang membutuhkan uptime dan ketersediaan (availability) dengan tingkat tinggi.

8. CSV
Storage engine ini menyimpan data dalam file text menggunakan format nilai pemisah koma. Kita dapat menggunakan storage engine CSV untuk proses pertukaran data antara perangkat lunak dan aplikasi yang dapat mengimpor dan mengekspor ke dalam format CSV.
Contoh :
mysql > CREATE TABLE Mhs (NIM INT NOT NULL PRIMARY KEY,
-> Nama CHAR(50) NOT NULL)
-> ENGINE = CSV;

9. Example
Storage engine ini tidak melakukan apapun. Kita dapat membuat tabel dengan storage engine Example, tapi tidak ada data yang dapat disimpan atau diretrieval pada storage engine ini. Kegunaan storage engine example adalah menyajikan contoh dalam source code MySQL yang mengilustrasikan bagaimana memulai penulisan engine penyimpanan yang baru. Ini merupakan minat utama untuk para developer.
Contoh :
mysql > CREATE TABLE Mhs (nim INT) ENGINE = EXAMPLE;

10.Blackhole
Storage engine ini menerima tetapi tidak menyimpan data dan retrievals selalu mengembalikan set kosong. Fungsi tersebut dapat digunakan dalam desain database terdistribusi di mana data secara otomatis direplikasi, tetapi tidak disimpan secara lokal. Storage engine Blackhole bertindak sebagai “lubang hitam”  yang menerima data tetapi
membuang dan tidak menyimpannya.
Contoh :
mysql > CREATE TABLE Mhs (nim INT) ENGINE = BLACKHOLE;

sumber gambar : www.tech-coffee.net

 

Artikel Lain

Leave a Comment