La stragrande maggioranza delle applicazioni hanno la necessità di memorizzare informazioni in modo persistente. Fatta esclusione per i file di configurazione, per i quali si fa spesso riferimento a qualche formato particolare, o file di testo di tipo
plain, il problema viene risolto con l'utilizzo di un database.
Esistono sul mercato diversi DBMS, ognuno con precise caratteristiche e, in genere, tutti molto validi: a MySQL a PostgreSQL, da SQLite ai database NoSQL. Il vantaggio di ricorrere alla programmazione ad oggetti ha promosso la costruzione di librerie dette
ORM, in grado di mappare in una gerarchia di oggetti le relazioni e le tabelle di un database a schema relazionale.
Recentemente abbiamo parlato di
Cayenne, un prodotto della famiglia
Apache molto interessante. Un prodotto ancora diverso, ma sul quale vale la pena di soffermarsi con attenzione, è
ZODB ed è
destinato ai programmatori Python.
ZODB è un
database ad oggetti, capace di adattarsi alla struttura del proprio codice e allo schema dei dati che in Python si devono trattare.
ZODB permette così di scrivere un codice molto pulito, facilmente mantenibile e, in definitiva, molto stabile e robusto.
La
persistenza dei dati viene garantita grazie a
Pickle, un
modulo Python, che gestisce ottimamente la serializzazione degli oggetti. Tramite
Pickle ZODB permette di conservare e recuperare i dati in modo veloce e facile. Sopra
Pickle,
ZODB realizza il
supporto ACID per le transazioni, cioè tutte le caratteristiche di consistenza e operazioni atomiche necessarie per realizzare un buon database. E ancora è sempre
ZODB che gestisce il
meccanismo di caching, praticamente indispensabile se si pensa di usare il proprio applicativo in relazione a un grosso volume di dati.
ZODB permette di poter scegliere lo storage preferito. Per ogni informazione e per iniziare a studiare
ZODB si può fare riferimento alla
guida del prodotto o ai vari
tutorial a disposizione sul sito ufficiale.