On Feb 9, 2009, at 4:50 PM, Jan Lehnardt wrote:
On 9 Feb 2009, at 16:18, Wout Mertens wrote:
On Feb 9, 2009, at 3:57 PM, Noah Slater wrote:
On Mon, Feb 09, 2009 at 09:51:18AM -0500, Adam Petty wrote:
Could this thread be added to the wiki - with only minor editing
for length
- maybe as "a RDBMS vs couch 'Discussion' ?" or something
similar?"...
We've learnt from the book that such comparisons tend to be harmful.
They lead people into thinking that there is a direct meaningful
comparison.
Fundamentally, CouchDB and RDMS solve different problems.
I dunno, I think it would be interesting to compare the main
benefits of each so that you know what the strong points of each are.
Quoting myself from a few mails ago:
CouchDB solves the[sic] similar problems as an RDBMS, but starting
from a different angle (distributed operation instead of single-node
operation, CAP, yadda yadda).
The differences as a consequence of different CAP-feature priorization
would be interesting, but then, I had hoped that the "Eventual
Consistency"*
chapter had done that.
* http://books.couchdb.org/relax/eventual-consistency
Funny how nobody is really upset about the schema missing versus
RDBMS. It seems like schemas are a lot like static typing in
programming languages - no matter how you look at it, there are a
*lot* of people doing just fine without it.
I remember taking Databases at university and we had to read this book
(forgot which one but it's pretty much the standard) and the schema
and relational concepts are very intertwined. I really liked the
theory where you would make a fully decomposed DB schema and then used
queries to tie everything together. The thing I liked best was
writeable queries, basically if you are careful you can automatically
update the underlying tables except in some edge cases, thanks to a
strict schema. However, as far as I know no current RDBMS implements
this. Maybe there isn't much use for schemas. Non-trivial applications
can't rely on just schemas for data validation.
A thought occurred: If you are consistent in interfacing with your
database using only views, then you have created an ad-hoc schema.
This is probably old news to most of you but it felt nice realizing
it ;-)
So basically I'm saying maybe schema-free should be touted more as a
nice-to-have feature?
Wout.