Czasami trzeba zrobić jakąś analizę danych, gdzie źródło jest plikiem tekstowym, a wyniki różne, w zależności od tego, na co mnie najdzie. W Windows używam do tego rewelacyjnego narzędzia LogParser. Narzędzie to czyta dane i wyświetla je po pewnym przetworzeniu, a przetworzenie to definiowane jest przy pomocy (nieco zubożonego) SQL. Ponieważ udostępnia obiekt COM fajnie wykorzystuje się je w skryptach. Nie zawsze jednak takie operacje wykonuję w Windows. W przypadku Linuksa korzystam z następującego obejścia:
- piszę skrypt w Pythonie, który przetwarza (parsuje) dane według moich potrzeb,
- przetworzone dane wrzucam do SQL,
- operacje wykonuję w SQL,
No dobrze, ale czy do tego potrzebna jest baza danych? Właśnie nie. Jest sobie coś takiego, co nazywa się SQLite, co daje bazę danych bez serwera bazy danych. W połączeniu z pysqlite tworzy to całkiem niezłe narzędzie. Oczywiście SQLite jest zubożony w stosunku do "dużych" baz danych, takich jak MySQL, Postgres o naprawdę dużych (Oracle, MS SQL, DB2) nie wspominając, ale do tych zastosowań jest zupełnie wystarczająca. Po co wybierać się z armatą na wróble...