SQLite
merupakan sebuah sistem manajemen basisdata relasional yang bersifat
ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis
dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang
dikerjakan oleh D. Richard Hipp.
Tidak
seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah
sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai
bagian integral dari sebuah program secara keseluruhan. Sehingga protokol
komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung
melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan
karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih
sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data)
disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa
diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah
transaksi dimulai.
FITUR SQLITE
Pustaka
SQLite mengimplementasikan hampir seluruh elemen-elemen standar yang berlaku
pada SQL-93, termasuk transaksi yang bersifat atomic, konsistensi basisdata,
isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID),
trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan tipe sehingga data
bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer.
Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai
guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman
berbasis script (PHP, Perl), sementara kalangan lain melihat hal tersebut
sebagai sebuah kekurangan.
Beberapa
proses ataupun thread dapat berjalan secara bersamaan dan mengakses basisdata
yang sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data
dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan
jika tidak ada proses tulis lain yang sedang dilakukan; jika tidak, proses
tulis tersebut akan gagal dan mengembalikan kode kesalahan (atau bisa juga
secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang
ditentukan habis). Hanya saja ketika sebuah tabel temporer dibuat, mekanisme
penguncian pada proses multithread akan menyebabkan masalah. Update yang
terkini (versi 3.3.4) dikatakan telah memperbaiki masalah ini.
Sebuah
program yang mandiri dinamakan sqlite disediakan dan bisa digunakan untuk
mengeksekusi kueri dan memanajemen file-file basisdata SQLite. Program tersebut
juga merupakan contoh implementasi penulisan aplikasi yang menggunakan pustaka
SQLite.
Referensi : https://id.wikipedia.org/wiki/SQLite
0 komentar:
Posting Komentar