[erlang-questions] Conceptual questions on key-value databases for RDBMs users
Thu Nov 4 23:01:30 CET 2010
On Tue, Nov 2, 2010 at 9:14 PM, Silas Silva <> wrote:
> This is a message I sent to the
> discussion group. I thought it might be interesting to send it
> erlang-questions, so here we go...
> Hi all!
> I have used SQL RDBMSs for some time. I've never used any very advanced
> feature, but I know enough of it to make database applications.
> Nowadays, I decided it would be interesting to learn some NoSQL
> databases concepts. So I decided to pick up some Erlang and Mnesia, its
> native key-value database. More than scalability itself, the most
> valuable feature for me is the possibility of replication and
> synchronization between nodes.
> But all pros have cons as companion. The lack of a relationship model
> is difficult for who is used to RDBMSs. So, my question is:
> * Is there any guide, tutorial, book, whatever, that tries to introduce
> NoSQL databases to SQL users?
> * Key-value databases are surprising simple. I know you solve
> relationship by denormalizing data. What data should be normalized?
> What shouldn't? How do you update denormalized data?
I'm no database expert so don't quote me here ...
As far as I am concerned traditional databases like SQL suffer
from the fact that the data stored in an individual column is incredible
simple - I can store an integer/string/... in a column but these are
incredibly simple data structures. I want to store and retrieve incredibly
complicated things - how do I store an XML parse tree in a single cell
of a database? - How do I store a database in a database ...
In a decent K-V database the value of the key can be *anything* - an
entire database for example, a compiler, ... no worries
Then when I analyse my problem I start thinking "I can store and retrieve any
complex object that keys do I need to solve my problem?"
I'm not thinking in terms of joins and normalizing things - the thought process
is different - so far I haven't met any problems that don't map onto key-values
It seems to my that SQL provides you with the ability do to complex
queries on simple things. K-V dbs can do simple queries on complex
> Sorry for such simple and general questions. Things were simple up to
> the moment that I realized that it would be easily solved with a JOIN
> SQL statement. :-)
> Thank you very much!
> Silas Silva
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
More information about the erlang-questions