Logo programu | |
| Autor | D. Richard Hipp |
|---|---|
| Pierwsze wydanie | 29 maja 2000(dts) |
| Aktualna wersja stabilna | 3.45.3 (15 kwietnia 2024) [±] |
| Język programowania | C |
| Rodzaj | system zarządzania relacyjną bazą danych |
| Licencja | domena publiczna |
| Strona internetowa | |
| Rozszerzenia pliku |
.db, .sqlite, .sqlite3 |
|---|---|
| Typ MIME |
application/vnd.sqlite3 |
| Data opracowania |
18 czerwca 2004 |
| Typ |
kompaktowa baza danych |
| Otwarty format? |
tak (domena publiczna) |
| Strona internetowa | |
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 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ść 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 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 PostgreSQL jest bardzo wysoka.
Przypisy
- 1 2 SQLite Developers. sqlite.org. [dostęp 2021-01-02]. (ang.).
- 1 2 3 4 5 About SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
- 1 2 The SQLite Amalgamation. sqlite.org. [dostęp 2021-02-04]. (ang.).
- ↑ Typ MIME dla baz danych SQLite w organizacji IANA. iana.org. [dostęp 2021-09-27]. (ang.).
- ↑ Database File Format. sqlite.org. [dostęp 2021-09-27]. (ang.).
- ↑ SQLite: SQLite Source Repository. sqlite.org. [dostęp 2021-06-21]. (ang.).
- ↑ Oficjalne repozytorium silnika SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
- ↑ Implementation Limits For SQLite. sqlite.org. [dostęp 2021-01-02]. (ang.).
- ↑ Database File Format. sqlite.org. [dostęp 2021-02-04]. (ang.).
- ↑ In-Memory Databases. sqlite.org. [dostęp 2021-02-04]. (ang.).
- ↑ SQLite Encryption Extension: Documentation. sqlite.org. [dostęp 2021-02-04]. (ang.).