SQLite – otwartoźródłowy system zarządzania relacyjną bazą danych oraz biblioteka C implementująca taki system, obsługująca SQL. Została stworzona przez i jest dostępna na licencji domeny publicznej. Projekt został rozpoczęty w 2000 roku przez D. Richarda Hippa na zlecenie Marynarki Wojennej Stanów Zjednoczonych do obsługi oprogramowania na niszczycielach rakietowych, gdzie kluczowym wymogiem było działanie bazy danych bez konieczności nadzoru administratora.
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). 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 lub przechowywane w pamięci o dostępie swobodnym. 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 (). Projekt wyróżnia się jednym z najbardziej rygorystycznych procesów testowania wśród oprogramowania open source. Na każdą linię kodu biblioteki przypada prawie 600 linii kodu testów i skryptów testowych, a rdzeń SQLite osiąga 100% pokrycia rozgałęzień kodu (), co przekłada się na wysoką stabilność działania.
SQLite obsługuje między innymi: zapytania zagnieżdżone, widoki, klucze obce, transakcje, wyzwalacze (częściowo), definiowanie własnych funkcji, przechowywanie baz danych w pamięci RAM komputera, co znacznie przyspiesza działanie.
Niektórych z wymienionych cech brakuje nawet w rozbudowanych serwerach baz danych, na przykład w MySQL w wersjach starszych niż 5.0.2 brakuje transakcji, a .
Przypisy
Linki zewnętrzne Oficjalna witryna SQLite
Kategoria:Systemy baz danych