SQLite
Z Wikipedii
SQLite | |
![]() |
|
Rodzaj | baza danych |
Pierwsze wydanie | 29 maja 2000 |
Aktualna wersja | 3.3.9 - 9 października 2006 |
Producent | D. Richard Hipp |
Licencja | Public domain |
www.sqlite.org |
SQLite - to system zarządzania bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL (ang. Structured Query Language). Została stworzona przez Richarda Hippa i jest dostępna na licencji public domain. 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, co w wielu zastosowaniach jest najpraktyczniejszym rozwiązaniem. SQLite posiada również API do innych niż C języków programowania, a mianowicie do języków: 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 2 TB). Baza SQLite jest utrzymywana na dysku przy użyciu drzew binarnych (ang. B-Tree). Osobne drzewo jest używane dla każdej z tabel i każdego z indeksów. SQLite udostępnia transakcje ACID oraz 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. 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.
SQLite ma kilka ciekawych rozwiązań takich jak:
- Obsługa zapytań zagnieżdżonych
- Obsługa widoków
- Obsługa transakcji
- Obsługa triggerów (niepełna)
- Możliwość definiowania własnych funkcji
- Możliwość obsługi bazy danych przechowywanej w całości w pamięci RAM komputera, co dodatkowo przyśpiesza działanie
Należy zaznaczyć, że niektórych z nich brakuje nawet w tak rozbudowanych serwerach baz danych jak MySQL, a wydajność SQLite w porównaniu z serwerami baz danych MySQL oraz PostgreSQL jest bardzo wysoka.