# Not only SQL – Data Persistence
{%= image_tag "/images/conan_doyle.jpg", :alt => "[Sir Arthur Conan Doyle]" %}Na początek dwa cytaty. [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.** [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.” ## Notatki do wykładów 1. {%= link_to "Co już było…", "/summary" %} 1. {%= link_to "Wprowadzenie do języka Ruby", "/ruby-intro" %} 1. {%= link_to "Serializacja danych", "/serializacja-danych" %} 1. {%= link_to "Redis datastore", "/redis" %} 1. {%= link_to "ORM na przykładzie ActiveRecord", "/ar" %} 1. {%= link_to "Datamapper dla SQL i noSQL", "/datamapper" %} 1. {%= link_to "MongoDB", "/mongodb" %} [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."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.