[erlang-questions] Conceptual questions on key-value databases for RDBMs users

Ahmed Omar <>
Thu Nov 4 23:11:39 CET 2010


Hi Joe, All
I'm far from being a database expert too, so feel free to correct me ,  but
i believe the assumption of storing simple thing is not a general rule and
should not be associated with SQL. For example, postgresql provides more
complex data types and even user defined ones.

On Thu, Nov 4, 2010 at 11:01 PM, Joe Armstrong <> wrote:

> 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
> queries.
>
> 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
> things.
>
> /Joe
>
>
>
> >
> > 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:
> >
> >
>
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
>
>


-- 
Best Regards,
- Ahmed Omar
http://nl.linkedin.com/in/adiaa
Follow me on twitter
@spawn_think <http://twitter.com/#!/spawn_think>


More information about the erlang-questions mailing list