Minggu, 23 November 2008

Review Database McKoi SQL ( Java Database)

Ini adalah artikel share / review tentang penggunaan database open source berbasis Java yang bernama McKoi. Penulis review ini adalah Samuel Franklyn.

Pertama kali saya mengetahui ada database Java adalah pada saat saya
menggunakan JBoss. Dalam JBoss ada database Java yang bisa diakses lewat
JDBC API yang nama Hypersonic SQL. Hypersonic SQL ini sekarang namanya
HSQL dan bisa didownload dari http://hsqldb.sourceforge.net/

Saya pelajari database ini ternyata featurenya kurang banyak serta
database ini baru menyimpan data ke file waktu JBoss di shutdown.
Database ini menyimpan dan mengolah semua data dalam database di dalam
memori. Jadi kalau data anda ratusan MB maka database ini juga akan
memakai ratusan MB memori. Kesimpulan saya database ini tidak bisa
dipakai untuk aplikasi bisnis yang serius.

Database Java kedua yang saya ketahui adalah database Cloudscape yang
diikut sertakan dalam J2EE SDK dari Sun. Sayangnya database ini database
komersial. Jadi saya malas mempelajarinya.

McKoi adalah database Java ketiga yang saya kenal. Barulah pada McKoi
saya menemukan database Java yang memuaskan. Featurenya memang tidak
terlalu banyak tapi sudah cukup untuk bisa dibilang RDBMS.
Feature Database McKoi:
- Berbasis file jadi hemat memori
- Besar penggunaan memori bisa dikonfigurasi bisa juga dinamik
- Menggunakan automatic index artinya setiap field diindex.
Ini menghilangkan keperluan untuk tuning dengan konsekuensi insert
yang lebih lambat untuk tabel dengan banyak field. Tapi feature ini
bisa dikonfigurasi
- Relational integrity: Primary Key, Foreign Key, dll.
- Fasilitas transaksi
- Fasilitas field auto-number
- Bisa hot-backup artinya dibackup selagi databasenya masih berjalan
- Bisa digunakan dalam mode embedded atau client/server

Salah satu manfaat terbesar McKoi adalah kalau digunakan sebagai
database yang embedded. Dengan cara ini aplikasi kita bisa diberikan
kepada pemakai dalam bentuk file WAR atau JAR dan langsung bisa
dijalankan. Jadi tidak ada lagi langkah pasang database, ciptakan tabel,
isi tabel dengan nilai awal dan konfigurasi data source. Tentu saja
penggunaan McKoi secara embedded untuk tujuan komersial memerlukan
lisensi komersial soalnya McKoi lisensinya GPL. Tapi kalau kita pakai
McKoi dalam aplikasi GPL maka kita tidak perlu beli lisensi.

McKoi kalau menurut pendapatku bisa dipakai dengan mulus untuk data
tingkat ratusan MB sampai GB. Aku sudah benchmark sederhana performance
select nya cepat sekali cuma kalah cepat sedikit dari MySQL. Hanya saja
performance insert jauh lebih lambat dari MySQL. Tapi ini karena semua
field di index oleh McKoi dan seluruh insert diproteksi pakai transaksi.
Sedangkan di MySQL aku tidak pakai tabel tipe InnoDb yang terlindung
transaksi melainkan cuma tabel MyISAM. Jadi performance insert McKoi dan
MySQL tidak bisa dibandingkan.

Sebenarnya kalau memorynya terlalu low juga McKoi tidak jalan. Raja
efisiensi database dalam pemakaian resource adalah MySQL. Kalau
clientnya memorynya low ya paling bagus pakai MySQL.

Keunggulan McKoi dibanding MySQL adalah jalan dimanapun ada JVM yang
cocok. Jadi misalnya kita pakai Digital Alpha. Nah di platform ini kita
musti kompilasi sendiri MySQL soalnya rasanya tidak ada binarynya di
situs MySQL. Kalau pakai McKoi langsung saja WAR kita yang sudah berisi
mckoidb.jar di taruh dalam Tomcat dan dijalankan. Langsung jalan deh
aplikasi kita. Simple sekali. Jadi keunggulan McKoi adalah keunggulan
Java juga yaitu WORA (Write Once Run Anywhere) dan embedded. Karena
embedded tidak ada perlu langkah setup database.

Situs McKoi SQL
http://mckoi.com/database/

Tidak ada komentar: