This is another Atlanta PyCon2011 lecture that I’d like to highlight. This one was given by Luke Gotszling and talks about Python and CouchDB, a NoSQL database document oriented.
Now some additional information…
What Is CouchDB?
CouchDB is Apache Foundation’s open source document oriented database, written almost entirely in Erlang. It provides incremental replication with bi-directional conflict detection and resolution. CouchDB also provides a RESTful JSON API that can be accessed via HTTP.
The "Couch" term is an acronym for "Cluster Of Unreliable Commodity Hardware", which reflects CouchDB goals: being extremely scalable, high available and reliable.
For those who want to learn more about CouchDB, there is a very good free on-line book (also available in print and e-book) called CouchDB: The Definitive Guide. This book is available in English, French and German.
But What is NoSQL
NoSQL is the term used to refer to a new class of distributed and scalable storage structures, usually referred to as "Non-Relational Databases". This new concept of database, which aims replace the relational model, aims to leave the stiffness of the relational model and feature more flexible models, without losing the performance and scalability. Such exchange aims primarily to make the data structure creation and modification more efficient. There is no model restriction some are considered Wide Column Store/Column Families, Document Store, Key Value/Tuple Store, Eventually Consistent Key Value Store, Graph Databases, Object Databases, Grid & Cloud Databases, XML Databases and Multivalued Databases.
These new technologies have emerged mainly within global enterprises that need to collect, store and analyze large data sets regularly with high transactional throughput and low latency, in which situations traditional relational database systems could not scale to the required level. As previously mentioned, there are dozens of variants of this new model, each with different capabilities and some trade-offs, but all share a common property, the abandonment of relational design as practiced in traditional SGBDs such as Oracle, Sybase, Postgre, MySQL and so on.