Hacker News new | past | comments | ask | show | jobs | submit login

I've used every major relational database on the market, and views & stored-procedures being requirements are blanket generalizations that are arguable at best. Both of them are enterprise tools for working around stupid schemas and bad code.

Arguing that DBAs 'require' the complex features in the other relational database is like saying that Macs 'require' more complex interfaces so IT people can work with them.

Backwards, and wrong.




views & stored-procedures being requirements are blanket generalizations that are arguable at best.

I hate to break it to you, but for any complex data representation you will have to make abstractions to work with it efficiently and consistently.

Both of them are enterprise tools for working around stupid schemas and bad code.

There are more complex systems out there than your blog. It doesn't have to even be near enterprisey before having solid schemas and relations are indispensable for working reliable and efficiently with your data.

Arguing that DBAs 'require' the complex features in the other relational database is like saying that Macs 'require' more complex interfaces so IT people can work with them.

I've heard worse analogies and will let this one slide. However your argument, in its essence, basically boils down to "lets just ditch databases, all their optimization features and just use unrelational, standalone files as records". You promote simplicity over rigidness and predictability, which is required for any processing and optimization.

If you for a second believe this naivé approach to data-access is going to give you better results in any non-trivial case, I'll challenge you to prove it. As for any trivial case: Performance doesn't matter, you might as well use XML.


It doesn't have to even be near enterprisey before having solid schemas and relations are indispensable...

Amen! Some operations necessary on our site would be so slow as to make it unusable were it not for stored procedures and multiple indices per table. It would also be incredibly slow were it not for a well-configured PostgreSQL install. And all we do is aggregate ticket listings.

I've seen people fight with barebones MySQL installs over even more data than I deal with and it's simply depressing. Sometimes "stupid schemas and bad code" have nothing to do with it; you just need to process a lot of damn data. And for that, if using an RDMS, you need one that is mature, rock solid, and has a sufficient feature stack.

End PostgreSQL advertisement.


Not all projects need complex data representations. I would suggest that few projects need a complex data representation rather they need an appropriate one. As to views, transactions, and stored procedures consider a large open messaging system like Twitter. While a traditional database could help with the users profiles and settings giving that up for a significant increase in speed might be a great trade off for them. Or they could mix several database systems using the best tool for the job.

The idea that all databases need all features is a mistake, once one free open source project has everything and the kitchen sink it's time to start solving other problems.


Not all data is relational and not all data fits into records.


examples?


Trees, Pictures, Classes, Anything that varies on a per instance basis and can't be easily shoved into a fixed schema. There are plenty of things relational database suck at, are you implying otherwise?


Not exactly "one-file-per-record", but Haystack is a nontrivial example of a FS based datastore. http://www.facebook.com/note.php?note_id=76191543919




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: