SQLite Database
SQLITE database adalah database
engine yang bersifat embedded. Maksudnya embedded di sini adalah database
terdiri dari satu file dan tidak perlu diinstal sebagai sebuah server. Berbeda
dengan mysql, postgresql, atau oracle, dimana database-databse ini adalah
database yang harus diinstal sebagai sebuah server.
Tentunya ada kelebihan dan kekurangan dari suatu database yang bersifat embedded yang hanya berbentuk sebuah file. Salah satu kelebihan dari database embedded adalah kita bisa membawa data tersebut ke mana saja. berbeda dengan database server yang harus disimpan di dalam komputer server dan apabila mau kita bawa harus kita backup terlebih dahulu. Oleh karenanya database embedded sangat cocok untuk digunakan di dalam mengembangkan aplikasi desktop yang tidak harus konek dengan server.
Walaupun begitu, database embedded bukannya tidak bisa digunakan untuk aplikasi server. Penulis pernah mengembangkan website dengan menggunakan PHP dan menggunakan SQLITE sebagai databasenya. Hasilnya cukup memuaskan karena kinerja dan kecepatan dari website lebih baik apabila menggunakan SQLITE yang ringan.
Akan tetapi walaupun sudah terbukti bahwa SQLITE itu adalah database yang ringan dan cepat, perlu dipertimbangkan untuk tidak menggunakan SQLITE untuk mengembangkan aplikasi dengan struktur database yang rumit. Berdasarkan hasil kajian yang pernah penulis baca, operasi join yang melibatkan banyak tabel, SQLITE menunjukkan kinerja yang kurang baik. Tetapi apabila datanya sederhana, maka SQLITE merupakan pilihan tepat untuk menggunakannya.
Fitur
SQLite bersifat open-source, sehingga lebih mudah
bagi para pengembang aplikasi untuk menggunakan database ini tanpa harus risau
memikirkan masalah paten dan biaya. Dan SQLite memiliki fitur-fitur yang memang
diidamkan untuk sebuah database ideal.
- no-depedency, SQLite library didesain untuk mandiri dan memerlukan bantuan yang minimal dari library lain sehingga bisa mudah diaplikasikan pada aneka platform
- serverless dan zero-configuration, SQLite tidak memerlukan proses server yang tersendiri untuk mengakses data. Keseluruhan operasi di SQLite adalah berdasarkan konsep baca dan tulis langsung ke file di storage atau memory.
- SQL compliance, SQLite mendukung 90% standard SQL syntax. Hal ini akan mempermudah kurva belajar para pengembang aplikasi yang sudah terbiasa dengan SQL Programming
- dukungan banyak platform, SQLite memiliki kompatibilitas yang tinggi untuk diaplikasikan pada banyak platform dan beraneka jenis bahasa pemrograman.
Kelebihan dan Kekurangan
Nah, kalau begitu apa sih manfaat yang bisa kita
ambil apabila menggunakan embedded database seperti SQLite ini ?
Yang pertama, karena hanya menggunakan operasi
read/write tanpa adanya perantara proses server tesendiri, tentunya akan
membuat performance yang ditawarkan oleh SQLite menjadi jauh lebih baik apabila
dibandingkan dengan database yang lain.
Kedua, dengan sifat serverless dan zero
confirguration, akan lebih memudahkan pengembang untuk melakukan migrasi dari
satu environment ke environment yang lain. Cukup dengan copy paste file-file
yang diperlukan maka aplikasi dan database kita akan termigrasi dengan mudah.
Weleh, kalau SQLite ini begitu ideal, kenapa kita
ndak pindah saja segera ke SQLite ?? daripada harus pusing-pusing mikirin
masalah instalasi server, koneksi sana sini, upgrade dan lain-lain, plus performance
yang lebih maksimal. Tunggu dulu, karena ternyata SQLite juga punya downside
lho …
Kekurangan pertama, ada beberapa syntaq SQL
standard yang ndak disupport oleh SQLite. Perintah right outer join misalnya,
ndak disupport oleh SQLite (paling ndak sampai saat post ini ditulis). Jadi ya
kita harus pinter-pinter saja menggunakan query.
Security, karena berdasar operasi baca/tulis,
maka security yang dimiliki oleh SQLite ya hanya read dan write yang
didasarkan pada security file system environment yang digunakan. Jangan mikir
untuk menggunakan konsep schema, grant ini grant itu dengan menggunakan SQLite.
Semua security harus dimanage oleh business logic layer aplikasi.
Reliability, untuk ukuran data yang kecil,
reliability/ketahanan database SQLite mungkin lebih baik daripada database
konvensional. Tapi untuk data besar hal ini akan sulit. Kenapa ? Karena SQLite
menggunakan operasi read/write secara langsung ke file. Sehingga ketika operasi
write terjadi, seluruh file akan di-lock dan menyebabkan operasi yang
lain tidak bisa berjalan. Meskipun proses locking ini terjadi hanya dalam
hitungan mili bahkan mungkin micro second. Tapi kalau frekuensi pengaksesan
data cukup tinggi bisa jadi akan menyebabkan turunya performansi aplikasi.
Dalam beberapa kasus hal ini bisa diakali dengan memecah data menjadi beberapa
file yang lebih kecil.
SQLite Manager
SQLite manager adalah sebuah ekstensi atau add-ons dari browser
mozila firefox yang digunakan untuk mengelola database SQLite dengan
tampilan berbasis web.Untuk dapat menggunakan aplikasi SQLite Manager ini caranya adalah sebagai berikut :
- Buka browser Mozila Firefox
- Download dan Install SQLite Manager
- Jika sudah selesai menginstall, untuk membuka aplikasinya pilih menu Tools>SQLite Manager
- Untuk contoh database SQLite nya silahkan download file db_pegawai.sqlite
- Untuk membuka databasenya pada SQLite Manager, pilih menu Database>Connect Database
- Cari dan pilih file db_pegawai.sqlite yang sudah didownload tadi kemudian klik Open
- Maka akan tampil isi database dari file db_pegawai.sqlite tersebut
Untuk membuat database dan mengelola database SQLite silahkan anda coba dan eksplorasi sendiri. jika anda pernah menggunakan phpmyadmin anda akan lebih cepat terbiasa menggunakan SQLite manager ini.
Tidak ada komentar:
Posting Komentar