SQLite – co to za silnik bazodanowy i kiedy go używać?

SQLite to najbardziej popularny obecnie silnik bazodanowy. Jednak nie jest on oparty na architekturze klient-serwer i nie umożliwia administrowania bazami, jak ma to miejsce w innych popularnych systemach bazodanowych, co odróżnia go od takich znanych silników relacyjnych baz danych jak Oracle, SQL Server, PostgreSQL, MySQL itp. Jest to baza relacyjna bezserwerowa.

SQLite to raczej silnik bazodanowy oparty na pliku jako lepsza alternatywa dla zapisu danych do plików na dysku. Gdzie jest implementowany? W smartfonach, komputerach desktopowych, laptopach, telewizorach, dronach itp. Stanowi często część aplikacji działającej na różnych urządzeniach (jest wbudowaną bazą w Android, Firefox i innych). Swą popularność zawdzięcza m.in. temu, że jest darmowy, bo wydany na zasadach public domain (domeny publicznej) umożliwiającej korzystanie z dzieła bez ograniczeń w dowolnym celu.

Jest to lekkie oprogramowanie(zajmuje bardzo mało miejsca, max 400KB) i szybkie w działaniu.
Baza danych w SQLite stanowi jeden plik niezależny od typu systemu operacyjnego, działa m.in. pod Windows, Linux, Mac OS, Android. Jest to baza samowystarczalna, pozbawiona zewnętrznych zależności. To powoduje, że jest przenośna na różne platformy poprzez zwykłe skopiowane pliku z bazą danych.

Polecany jest do używania jako baza danych:

  • dla IoT(The Internet Of Things): w telefonach, odtwarzaczach MP3, elektronicznych gadżetach i innych małych urządzeniach,
  • jako magazyn danych dla niezbyt dużych stron internetowych, aplikacji webowych,
  • jako format do wymiany danych w aplikacjach zamiast XML, JSON, czy plików tekstowych
  • jako cache dla projektów typu enterprise
  • do analizy danych

Wielkość jednej bazy danych SQLite, a więc pliku bazodanowego jest ograniczona do 140 terabajtów.

Kiedy używać SQLite, a kiedy silnik bazodanowy oparty na architekturze klient-serwer?
W dokumentacji SQLite można znaleźć poradę jak dobrać prawidłowo rodzaj silnika bazodanowego. Mówi ona o tym, że jeżeli dane są oddzielone od aplikacji i znajdują się w innym miejscu sieciowym lub zapisy do danych będą odbywać się współbieżnie lub masz do czynienia z Big Data, wybierz silnik bazodanowy klient-serwer , w przeciwnym przypadku raczej lepszym wyborem będzie SQLite.

Aby rozpocząć pracę z SQLite nie musisz nic konfigurować i instalować. Wystarczy, że ściągniesz ze strony domowej projektu(zakładka download na stronie: https://www.sqlite.org ) plik z silnikiem bazy danych, jest dostępnych wiele wersji pod różne systemy operacyjne( z lub bez dodatkowych narzędzi). Ja wybrałam dla Windows plik: sqlite-tools-win32-x86-3260000.zip zawierający dodatkowe narzędzia.

Następnie należy rozpakować plik zip. A oto jego zawartość:

Od tego momentu możemy już korzystać z SQLite. Najważniejszym narzędziem i podstawowym programem jest sqlite3 , za pomocą którego tworzymy bazę lub się łączymy z gotową bazą i wykonujemy zapytania do niej.