![]() Logo programu | |
![]() | |
Autor | D. Richard Hipp[1] |
---|---|
Pierwsze wydanie | (dts)[3] | 29 maja 2000
Aktualna wersja stabilna | 3.49.1 (18 lutego 2025) [±] |
Język programowania | C[2] |
Rodzaj | system zarządzania relacyjną bazą danych |
Licencja | domena publiczna[3] |
Strona internetowa |
![]() | |
Rozszerzenia pliku |
.db, .sqlite, .sqlite3 |
---|---|
Typ MIME |
application/vnd.sqlite3[4] |
Data opracowania |
18 czerwca 2004[5] |
Typ |
kompaktowa baza danych |
Otwarty format? |
tak (domena publiczna) |
Strona internetowa |
SQLite – otwartoźródłowy[6] system zarządzania relacyjną bazą danych oraz biblioteka C[2] implementująca taki system, obsługująca SQL[3]. Została stworzona przez Richarda Hippa[1] i jest dostępna na licencji domeny publicznej[3][7]. Projekt został rozpoczęty w roku 2000[3].
Biblioteka implementuje silnik SQL, dając możliwość używania bazy danych bez konieczności uruchamiania osobnego procesu RDBMS. W wielu zastosowaniach, a w szczególności w systemach wbudowanych, takie rozwiązanie jest najpraktyczniejsze.
SQLite posiada również API do innych niż C języków programowania, a mianowicie: ActionScript, Perl, PHP, Ruby, C++, Delphi, Python, Java, Tcl, Visual Basic, platformy .NET i wielu innych; a także interfejs powłokowy. Baza może łączyć się przez ODBC.
Zawartość bazy danych przetrzymywana jest w jednym pliku (do 281 TB[8]). Baza SQLite jest utrzymywana na dysku przy użyciu B-drzew. Osobne drzewo jest używane dla każdej z tabel i każdego z indeksów. Baza udostępnia transakcje ACID oraz implementuje większość standardu SQL 92. Jest często wykorzystywany w większych aplikacjach oraz w systemach obsługi relacyjnych baz danych takich jak Kexi.
Bazy danych zapisywane są jako pliki binarne[9] lub przechowywane w pamięci o dostępie swobodnym[10]. Ich bezpieczeństwo jest oparte na zabezpieczeniach oferowanych przez używany system plików. Istnieje też projekt oferujący szyfrowanie baz danych SQLite na bieżąco o nazwie SQLite Encryption Extension (SEE)[11].
SQLite obsługuje między innymi:
Niektórych z wymienionych cech brakuje nawet w rozbudowanych serwerach baz danych[których?], na przykład w MySQL w wersjach starszych niż 5.0.2 brakuje transakcji, a wydajność SQLite (przy obsłudze jednego użytkownika) w porównaniu z serwerami baz danych MySQL oraz PostgreSQL jest bardzo wysoka[potrzebny przypis].