# Utrwalanie danych via NoSQL
{%= image_tag "/images/conan_doyle.jpg", :alt => "[Sir Arthur Conan Doyle]" %}

I never guess. It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.

— Sir Arthur Conan Doyle

NoSQL można rozszyfrować jako ***Not only SQL***. Termin ten po raz pierwszy się pojawił na początku roku 2009 ([wikipedia](http://en.wikipedia.org/wiki/NoSQL)). Na początek dwa cytaty. [K. Haines][key-value stores part 1]: „Applications, whether web apps, simple dynamic websites or command line apps, frequently need some sort of persistent data store. As a result, databases have become ubiquitous on modern systems, and because of this chicken and egg relationship, programmers will often habitually reach for a relational database when the project only calls for a way to persist data.” [L. Carlson, L. Richardson][ruby receptury]: Wszyscy chcą pozostawić po sobie coś trwałego. […] Każdy program, który piszemy, pozostawia jakiś ślad swojego działania (w najprostszym przypadku są to dane wyświetlane na standardowym urządzeniu wyjściowym). Większość bardziej rozbudowanych programów idzie o krok dalej: zapisują one – w pliku o określonej strukturze – dane stanowiące rezultat jednego uruchomienia, by przy następnym uruchomieniu rozpocząć działanie w stanie, w którym zakończyła się poprzednia sesja. **Istnieje wiele sposobów takiego *utrwalania danych*, zarówno bardzo prostych, jak i wielce skomplikowanych.** ## Notatki do wykładów 1. {%= link_to "Info", "/summary" %} 1. {%= link_to "CouchDB – Zaczynamy", "/couchdb" %} 1. {%= link_to "CouchDB – CRUD", "/couchdb-crud" %} 1. {%= link_to "CouchDB – Futon", "/couchdb-futon" %} 1. {%= link_to "CouchDB – Widoki", "/couchdb-views" %} 1. {%= link_to "CouchDB – CouchApp", "/couchdb-couchapp" %} 1. {%= link_to "CouchDB – Ruby", "/couchdb-ruby" %} 1. {%= link_to "Datamapper dla SQL i noSQL", "/datamapper" %} 1. {%= link_to "MongoDB", "/mongodb" %} ### Laboratorium * {%= link_to "Blogi", "/blogi" %} ## Linki Podstawowe: * [HTML5](http://html5.org/) – najważniejsze linki * [HTML5 Draft](http://www.whatwg.org/specs/web-apps/current-work/multipage/) * [CSS3.info](http://www.css3.info/) * [CSS3 Cheat Sheet](http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/) * [jQuery](http://jquery.com/), [JS Bin](http://jsbin.com/) CouchDB: * [CouchDB Wiki][couchdb wiki]. * [Reference](http://wiki.apache.org/couchdb/Reference) – API, Views, Configuration, Security * [Basics](http://wiki.apache.org/couchdb/Basics) – C, Ruby, Javascript… * [HowTo Guides](http://wiki.apache.org/couchdb/How-To_Guides) * Podręcznik [CouchDB: The Definitive Guide][couchdb] MongoDB: * Marek Kołodziejczyk. [Rails + MongoDB resources](http://code-fu.pl/2010/01/17/rails-mongodb-resources.html) [couchdb]: http://books.couchdb.org/relax/ "CouchDB: The Definitive Guide" [couchdb wiki]: http://wiki.apache.org/couchdb/ "Couchdb Wiki" [key-value stores part 1]: http://www.engineyard.com/blog/2009/key-value-stores-in-ruby/ "Kirk Haines, Key-Value Stores in Ruby: Part 1" [ruby receptury]: http://helion.pl/ksiazki/rubyre.htm "Ruby Receptury, Bazy danych i trwałość obiektów."