Senin, 31 Maret 2014

SQLite



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 :
  1. Buka browser Mozila Firefox
  2. Download dan Install SQLite Manager
  3. Jika sudah selesai menginstall, untuk membuka aplikasinya pilih menu Tools>SQLite Manager
  4. Untuk contoh database SQLite nya silahkan download file db_pegawai.sqlite
  5. Untuk membuka databasenya pada SQLite Manager, pilih menu Database>Connect Database
  6. Cari dan pilih file db_pegawai.sqlite yang sudah didownload tadi kemudian klik Open
  7. 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