Przejdź do zawartości

SQLite

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Velta (dyskusja | edycje) o 22:17, 4 lut 2021. Może się ona znacząco różnić od aktualnej wersji.
SQLite
Logo SQLite
Logo programu
ilustracja
Autor D. Richard Hipp[1]
Pierwsze wydanie 2000-05-29 29 maja 2000(dts)[2]
Aktualna wersja stabilna 3.33.0 – 14 sierpnia 2020; ponad 4 lata temu
Rodzaj system zarządzania bazą danych
Licencja public domain[2]
Strona internetowa

SQLitesystem zarządzania relacyjną bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL[2]. Została stworzona przez Richarda Hippa[1] i jest dostępna na licencji public domain[2][3]. Projekt został rozpoczęty w roku 2000[2].

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[4]). 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. SQLite udostępnia transakcje ACID oraz implementuje większość standardu SQL 92. SQLite 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[5] lub przechowywane w pamięci o dostępie swobodnym[6]. 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)[7].

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

Przypisy

  1. a b SQLite Developers. sqlite.org. [dostęp 2021-01-02]. (ang.).
  2. a b c d e About SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  3. Oficjalne repozytorium silnika SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  4. Implementation Limits For SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
  5. Database File Format. sqlite.org. [dostęp 2021-02-04]. (ang.).
  6. In-Memory Databases. sqlite.org. [dostęp 2021-02-04]. (ang.).
  7. SQLite Encryption Extension: Documentation. sqlite.org. [dostęp 2021-02-04]. (ang.).

Linki zewnętrzne