Questa mattina ho trovato un po’ di tempo per informarmi meglio sull’interessante CouchDB (Cluster of Unreliable Commodity Hardware). Sul sito di riferimento del progetto sono disponibili i build per Windows e Mac OS X, e i sorgenti (compilabili su GNU/Linux e altri Unix flavours).
Sono partito proprio da couchdb.org (e couchdbwiki.com), e lì mi sono fermato — in estasi 🙂
nota bene: Il software è attualmente in alpha stage, quindi ben lungi dall’essere pronto per un utilizzo in ambienti di produzione (… use it when it is ready!).
Questo nuovo DBMS, sviluppato in Erlang e JavaScript, in soldoni può essere descritto come un database management server documentale distribuito non-relazionale. L’interfaccia verso l’esterno è basata su API RESTful* che utilizzano JSON come formato per lo scambio dei dati.
Al posto delle delle classiche tuple derivanti da strutture definite a priori (mediante schemi relazionali) in CouchDB è possibile salvare documenti con un numero arbitrario di campi arbitrari.
In aggiunta a questa natura schema-free CouchDB possiede uno spazio di indirizzamento flat — caratterizzato da id univoci a 128bit. Per definire (meta)strutture sui dati semi-strutturati, ovvero per l’aggregazione e il querying/reporting di documenti, si possono usare le viste dinamiche.
E’ ACID compliant (requisito fondamentale), è dotato di un security model built-in e di un sitema per la replicazione incrementale con risoluzione dei conflitti bidirezionale.
E’ senza ombra di dubbio molto promettente.
estensioni memetiche: Document Oriented Development