[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