Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum dla Sierpień 9th, 2011

SQLite

Autor: Piotr Karpiuk o 9. sierpnia 2011

SQLite to zapoczątkowana w 2000 r. przez Richarda Hippa i dostępna na licencji public domain niewielka biblioteka zawierająca interpreter języka SQL obsługujący dane relacyjne zawarte w pliku o strukturze niezależnej od systemu operacyjnego. Z racji użytego języka do implementacji (ANSI C) biblioteka jest przenośna (Windows, Linux, Mac OS X) a z racji niewielkich rozmiarów (ok. 300KB) i niewielkich wymagań (np. stos 4KB, sterta 100KB) jest używana powszechnie w urządzeniach przenośnych (Android, iOS, Symbian). Bardzo łatwo łączyć ją z kodem własnej aplikacji w C, a także posiada wiązania do innych języków, m.in. Common Lisp, C#, Haskell, Java, Lua, Objective-C, OCaml, Perl, REBOL, Ruby, Scheme, Smalltalk, Tcl, Visual Basic, JavaScript. SQLite jest wbudowany w języki programowania PHP i Python.

W efekcie, SQLite to najpowszechniej używany silnik baz danych, wykorzystują go takie firmy jak Adobe (AIR, Acrobat Reader, Lightroom), Apple, Mozilla, Google, Skype, Sun (np. zarządzanie usługami w Solarisie), Dropbox, Nokia. Powszechna praktyka osadzania biblioteki w przeglądarkach doprowadziła do powstania specyfikacji WebSimpleDB API w HTML5, co w praktyce oznacza dostęp z JavaScriptu w przeglądarce do SQLowej bazy danych po stronie klienta.

Biblioteka zawiera klienta wiersza poleceń: sqlite3 a niezależne projekty oferują wiele klientów GUI, m.in. SQLite Manager jako rozszerzenie do Firefoksa.

Przydatne łącza
Składnia SQL
    Pragmy
    Funkcje SQL
    Funkcje daty i czasu
    Funkcje agregujące
Shell
Tutorial

Zastosowania

  • Format pliku alternatwyny np. dla XML. Zamiast zapisywać dane w XMLu lub innym wymyślonym przez siebie formacie, a potem pisać parsery które ładują go do struktur danych aplikacji, można użyć przenośnego pliku danych SQLite. Dostęp do niego jest deklaratywny (SQL) a modyfikacje transakcyjne. Twórcy zachęcają: „Think of SQLite not as a replacement for Oracle but as a replacement for fopen().
  • Baza danych w urządzeniach przenośnych.
  • Alternatywa dla RDBMS takich jak MySQL, PostgreSQL czy Oracle. Jest o tyle ciekawa, że projekt na początku może korzystać z SQLite, aby wraz ze wzrostem wymagań można było łatwo przerzucić się na poważniejszy RDBMS. Ale nawet w dużych systemach SQLite przydaje się dla celów demonstracyjnych lub testowych.

Czytaj więcej »

Napisany w Bazy danych | Brak komentarzy »