SQLite
| ||
Logo programu | ||
Autor | D. Richard Hipp[1] | |
Pierwsze wydanie | (dts)[2] | 29 maja 2000|
Aktualna wersja stabilna | 3.36.0 (18 czerwca 2021) [±] | |
---|---|---|
Język programowania | C[3] | |
Rodzaj | system zarządzania relacyjną bazą danych | |
Licencja | domena publiczna[2] | |
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[3] implementująca taki system, obsługująca SQL[2]. Została stworzona przez Richarda Hippa[1] i jest dostępna na licencji domeny publicznej[2][7]. 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[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:
- 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 PostgreSQL jest bardzo wysoka.
Przypisy
- ↑ a b SQLite Developers (ang.). sqlite.org. [dostęp 2021-01-02].
- ↑ a b c d e About SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
- ↑ a b The SQLite Amalgamation (ang.). sqlite.org. [dostęp 2021-02-04].
- ↑ Typ MIME dla baz danych SQLite w organizacji IANA (ang.). iana.org. [dostęp 2021-09-27].
- ↑ Database File Format (ang.). sqlite.org. [dostęp 2021-09-27].
- ↑ SQLite: SQLite Source Repository (ang.). sqlite.org. [dostęp 2021-06-21].
- ↑ Oficjalne repozytorium silnika SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
- ↑ Implementation Limits For SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
- ↑ Database File Format (ang.). sqlite.org. [dostęp 2021-02-04].
- ↑ In-Memory Databases (ang.). sqlite.org. [dostęp 2021-02-04].
- ↑ SQLite Encryption Extension: Documentation (ang.). sqlite.org. [dostęp 2021-02-04].
Linki zewnętrzne
Media użyte na tej stronie
SQLite Logo, SVG version
Autor: JackPotte, Licencja: CC BY-SA 3.0
SQLite manager in French