SQLite
Kompaktowy sytem zarządzania bazą danych obsługujący jezyk SQL. Jest dostępny w postaci małej biblioteki zaimplemntowanej w języku C. Silnik bazy danych w SQLite w przeciwieństwie do większości dostępnych rozwiązań nie potrzebuje być uruchamiany w osobnym procesie - co jest bardzo korzystnym rozwiązaniem szczególnie dla systemów wbudowanych. Biblioteka SQLite staje się integralną częścią aplikacji.
SQLite używa dynamicznej i słabo typizowanej składni SQL. Pozwala na równoległe odczyty. Zapisy do bazy danych odbywają się pojedyńczo. Dostępne są również API w innych językach niż C:
ActionScript
Perl
PHP
Ruby
C++
Delphi
Python
Java
Tcl
Visual Basic
platformy .NET
Dostępny jest też interfejs powłokowy. Baza może łączyć się przez ODBC. Baza SQLite przechowywana jest na dysku (lub w pamięci) w postaci B-drzew. Dla każdej tabeli i każdego indeksu istnieje osobne drzewo. SQLite oparty jest głównie na standardzie SQL:92 - implementuje większość jego funkcjonalności. Baza udostępnia transakcje ACID.
Obsługiwane funkcjonalności:
Niezaimplementowane elementy z standardu SQL:92
RIGHT and FULL OUTER JOIN
Pełne wsparcie dla ALTER TABLE
Pełne wsparcie dla wyzwalaczy(trigger)
Zapisywanie do widoków
GRANT and REVOKE - nie ma potrzeby implementacji dla wbudowanego silnika bazy danych