[erlang-questions] Re: Conceptual questions on key-value databases for RDBMs users
Edmond Begumisa
ebegumisa@REDACTED
Tue Nov 9 12:23:33 CET 2010
On Tue, 09 Nov 2010 12:59:11 +1100, Richard O'Keefe <ok@REDACTED>
wrote:
> It is important to understand that SQL is not a good example of a
> relational
> system. A move away from SQL *could* be a move towards relational!
I see what you mean. However, most RDBMSs today (if there is such a thing)
are accessed via SQL interfaces. So there is a tendency to use the terms
SQL and RDBMS (wrongly) interchangeably. I think SQL-RDBMS is the best
description of this class of tabular DB that seems to dominate the sector.
Optional integrity-checks/primary/foreign-keys with an SQL interface on
top.
> One of the core concepts in relational systems is that of
> enforced integrity constraints, via primary keys and foreign keys.
> If you don't have any integrity constraints that you care to tell the
> data base about, you probably don't need a relational system.
I agree. In fact, this has been one of my main issues with SQL-RDBMSs:
many times one is forced to create 1:N, 1:1, N:N relationships (using
integrity constraints, primary keys, foreign keys) or simulate them with
JOINS, to do things that are not really modeling related data from the
eyes of the application (relationship bloat). The concept is stretched too
far.
The nice thing about this increasingly popular other class of database
(Couch/Mnesia/Mongo), is that you have more control over this bloat and
can choose when and how you want relationships. This normally comes at the
cost of not having enforced constraints. In my view, the trade off is
usually worth it.
- Edmond -
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
More information about the erlang-questions
mailing list