Conceptual questions on key-value databases for RDBMs users

Steve Davis <>
Sun Nov 7 16:06:03 CET 2010


On Nov 7, 6:09 am, Rudolph van Graan <> wrote:
> Invariance is a first order concept in any RDBMS system and essential for many types of systems. However, in my experience, you can achieve application-level invariance in other ways. But it requires substantially more work to approximate first order invariance using KV-stores.  It is sometimes simpler to have your data properly normalised I think.

"not an expert" caveat applies to me also...

It appears to me that this discussion is another expression of the
'strong vs weak/dynamic vs static type' discussion.

Some observations/connections that seem relevant to me:
- The underlying nature of SQL DBs is revealed by the fact that
queries by anything except the primary key usually need additional
work (sequences/indexes) to be respectably efficient.
- C.J.Date uses the term tuple to refer to a "row in a table" (cf also
Mnesia).
- Date also notes that "objects" can always be mapped directly on to a
relational model.
- Mnesia is interesting in that it encourages a table to be confined
to a single record type, and allows indexing of record tuple members
(cf column indexing in SQL databases).
- The process of normalization suggests very strong typing of the
data.

...it makes me suspect that an imperative and strongly-typed language
paradigm has been a very strong motivator in the evolution of SQL
databases; and perhaps the popularity of NoSQL/NotSQL is an expression/
outcome of the rise of recent trends in programming language uptake.

/s


More information about the erlang-questions mailing list