SQLite adalah sebuah open source database yang telah ada cukup lama, cukup stabil, dan sangat terkenal pada perangkat kecil, termasuk Android. SQLite cocok digunakan sebagai database dalam Android, maupun Berbagai program yang membutuhkan kemudahan serta tidak membutuhkan resource besar. SQLite menggunakan konsep Zero Configuration dan embedded database, yaitu sebuah konsep dimana developer tidak perlu menginstall ataupun melakukan setup database kedalam sebuah server database sehingga tidak membutuhkan resource yang besar dan proses pembuatan database pun menjadi instan. Selain itu dengan menggunakan konsep embedded maka database pada SQLite digunakan sebagai library dan di compile bersamaan dengan program. SQLIte saat ini banyak digunakan di dalam aplikasi dan program termasuk dalam beberapa high profile project. SQLite juga merupakan mesin database SQL embedded yang berbeda dengan kebanyakan database SQL lainnya. seperti yang dijelaskan sebelum nya SQLite tidak memiliki proses server yang terpisah sehinggaSQLite membaca dan menulis secara langsung ke disk.
Struktur SQLite berbeda dengan struktur database lain seperti MySQL, Oracle dan sebagainya yang mengusung konsep Relational Database Management System (RDBMS). Struktur SQLite yang mengusung konsep Embedded Relational Database Management System (ERDBMS) dan Server Less Architecture sehingga struktur database terpasang bukan pada server host melainkan pada client host seperti gambar dibawah ini :
Selain dengan konsep dan arsitektur yang baik itu SQLite sudah memiliki interface API untuk bahasa pemrograman umum seperti C++, PHP, Perl, Phyton, dan Tcl. Beberapa contoh tipe data yang ada dalam SQLite diantaranya :
Sejarah SQLite
D. Richard Hipp merancang SQLite pada tahun 2000 saat bekerja untuk General Dynamics pada kontrak dengan Angkatan Laut Amerika Serikat . Hipp adalah perancang perangkat lunak yang digunakan di kapal rudal perusak, yang awalnya didasarkan pada HP-UX dengan IBM Informix database back-end. Tujuan desain dari SQLite adalah untuk memungkinkan program untuk dioperasikan tanpa menginstal sistem database manajemen atau administrasi . Pada bulan Agustus 2000, versi 1.0 dirilis, SQLite berdasarkan gdbm (GNU Database Manager). SQLite 2,0 gdbm diganti dengan custom B-Tree implementation dan menambahkan dukungan untuk transaksi. Untuk pengembangan SQLite 3.0, sebagian didanai oleh America Online yang menambahkan internasionalisasi , mengetik nyata , dan perbaikan besar lainnya.
Fitur dalam SQLite
Struktur SQLite berbeda dengan struktur database lain seperti MySQL, Oracle dan sebagainya yang mengusung konsep Relational Database Management System (RDBMS). Struktur SQLite yang mengusung konsep Embedded Relational Database Management System (ERDBMS) dan Server Less Architecture sehingga struktur database terpasang bukan pada server host melainkan pada client host seperti gambar dibawah ini :
Selain dengan konsep dan arsitektur yang baik itu SQLite sudah memiliki interface API untuk bahasa pemrograman umum seperti C++, PHP, Perl, Phyton, dan Tcl. Beberapa contoh tipe data yang ada dalam SQLite diantaranya :
- Numeric ( integer , float , double),
- Text ( Char , varchar , text )
- DateTime
- BLOB
Sejarah SQLite
D. Richard Hipp merancang SQLite pada tahun 2000 saat bekerja untuk General Dynamics pada kontrak dengan Angkatan Laut Amerika Serikat . Hipp adalah perancang perangkat lunak yang digunakan di kapal rudal perusak, yang awalnya didasarkan pada HP-UX dengan IBM Informix database back-end. Tujuan desain dari SQLite adalah untuk memungkinkan program untuk dioperasikan tanpa menginstal sistem database manajemen atau administrasi . Pada bulan Agustus 2000, versi 1.0 dirilis, SQLite berdasarkan gdbm (GNU Database Manager). SQLite 2,0 gdbm diganti dengan custom B-Tree implementation dan menambahkan dukungan untuk transaksi. Untuk pengembangan SQLite 3.0, sebagian didanai oleh America Online yang menambahkan internasionalisasi , mengetik nyata , dan perbaikan besar lainnya.
Fitur dalam SQLite
- Serverless : SQLite tidak memerlukan proses pada server atau sistem untuk menjalankannya, melainkan hanya sebuah file yang diakses oleh library SQLite
- Zero Configuration : Tidak ada proses setup sehingga proses pemmbuatan database menjadi instan semudah membuat file biasa
- Cross Platform : database bisa digunakan dalam berbagai Platform Pendukung
- Self-Contained : sebuah library mengandung keseluruhan dari sistem database, yang langsung terintegrasi pada sebuah aplikasi program
- Small Runtime Footprint : untuk membangun database SQLite hanya membutuhkan kurang dari satu mb library dan hanya membutuhkan beberapa mb memory dan dapat diperkecil lagi
- Transactional : SQLite transaction mengizinkan penyimpanan melalui beberapa proses thread
- Full Feature : SQLite mensupport hampir sebagai besar standar SQL92 ( SQL2 )
- Highly Reliable : Tim pengembang SQLite mengembangkan melalui kode program yang sangat serius serta telah melewati proses testing
Kelebihan SQLite
- Performanya lebih efisien dan cepat dibanding database lain
- Sedikit penggunaan memory, hanya membutuhkan single library untuk mengkases database
- Dapat berjalan di banyak platform yang berbeda
- Sudah memenuhi standar ACID (Atomicity, Consistency, Isolation, dan, Durability)
- SQL Support mendukung ANSI 92 SQL Standar
- License public domain, free untuk redistributed
Kekurangan SQLite
- Tidak adanya CHECK constraint
- Tidak mendukung Variabel subquery
- Tidak adanya Foreign Key Constraint
- Tidak adanya fasilitas Alter Table sehingga apabila ingin mengubah struktur table harus menghapus semua table kemudian build ulang
- Grant dan Revoke serta hak akses tergantung dari Operating system yang digunakan
- Tidak tersedia Right dan Full Outer Join hanya tersedia left outer join
- Tidak dapat melakukan Penulisan pada View
- Untuk modifikasi view hanya menggunakan trigger
Selain itu beberapa Program besar juga sudah mendukung SQLite dan menyertakan SQLite di dalam struktur mereka diantaranya :
- Mozilla Firefox, Mozilla Thunderbird (bookmarks, cookies, contacts etc.) .
- Skype
- Adobe Photoshop Lightroom, Adobe AIR, Adobe Reader
- Ruby on Rails'
- Opera
- Service Management Facility pada Solaris dan OpenSolaris
- HTML5 menerapkan SQLite sebagai WebSimpleDB API
- Apple's iOS (SMS/MMS, Calendar, Call history, Contacts storage)
- Symbian
- Nokia's Maemo
- Google's Android
- Google's Chrome browser
- RIM's BlackBerry
- Linux Foundation's MeeGo
- Palm's webOS
0 komentar Blogger 0 Facebook
Posting Komentar