SQLite to 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 Richarda Hippa i jest dostępna na licencji domeny publicznej. Projekt został rozpoczęty w roku 2000.

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ść standarduSQL 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 SQLite Encryption Extension (SEE).

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 wydajność SQLite (przy obsłudze jednego użytkownika) w porównaniu z serwerami baz danych MySQL oraz PostgreSQLjest bardzo wysoka.

Źródło : wikipedia.pl

Obserwuj i polub:
Pin Share