SQLite

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-fitur 
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.

Integrasi dengan bahasa lain 

 SpatiaLite
 Comparison of relational database management systems
 List of relational database management systems
 Flat file database
 SQL Server Compact
 H2 (DBMS)
 Berkeley DB

Lihat pula 
 Daftar sistem manajemen database relasional
 Perbandingan sistem manajemen database relasional

Referensi

Pranala luar 
 Website SQLite
 pysqlite - A Python Wrapper.
 DBD::SQLite  - A Perl module on CPAN.
 Sqlite-ruby  - A Ruby Interface.
 SQLiteManager - A PHP4 multilingual web based tool to manage SQLite database
 SQLite Developer - SQLite visual database manager
 SQLiteBrowser - SQLite visual database browser
 SQLite ODBC Driver
 Visual SQLite - SQLite GUI interface for Windows
 SQLiteSpy  - Very fast Unicode SQLite GUI with grid editing for Win32.
 SQLite.NET 2.0  - An ADO.NET 2.0 provider for SQLite
 Using SQLite Database with OpenOffice.org (via ODBC or sqlite-sdbc-driver)
 A tutorial to SQLite3 
 DISQLite3  - High-performance, embedded SQLite port and object-wrapper for Delphi.
 Aducom  - Delphi SQLite component
 Zeos - Delphi SQLite component

Sistem manajemen basis data