"DBMS Doesn't Scale" and Other Stupidities

Sep 20, 2006 22:10

I continue to bump into a large number of people who wouldn't consider an RDBMS for managing their persistent data. The reasons are numerous, from the unfortunate, "I don't know how to use RDBMS" to the ridiculous ones like, "I've heard from many people that RDBMS is too slow for large data sizes". It is fun discussing with such people on how exactly a filesystem based solution for tens of GBs worth of data should be implemented and support use cases that require more than querying the value for a given key.

The reason apparently is the impression that these people carry over from their college days. RDBMS is rarely considered a cool thing because SQL is such a "lame" language. It doesn't look like a P/L at all! I guess if someone implements a relational algebra interpreter using Unicode for all the greek symbols etc., it'll suddenly become the funk thing to try out. How about,

πLName,Address(ϭDName='Research'(Department)⨝DNumber=DNoEmployee)

instead of,

SELECT Employee.LName, Employee.Address
FROM Department, Employee
WHERE Department.DName = 'Research' AND Department.DNumber = Employee.DNo
Cool, eh? Yeah, whatever.

I also feel that the opportunities for interacting with a DBMS are limited because other than the final year project, most assignments don't require a DBMS back-end and serialising application state to a file handles most of the persistence requirements. It took me over two years in NCST to come to terms with data modeling and schema design, and I'm still learning how to do funky things with RDBMS back-ends that need to store tens of GBs of data.

The thing is, RDBMS isn't all about SQL. It's not even 50% about SQL. Heck, SQL is just one aspect of RDBMS - it gives you a syntax to save/retrieve data. The real deal is that an RDBMS one of those things that help you Get Things Done™, period. That's the reason why it's been around for so many years and has become an indispensable part of many applications. Filesystem based solutions typically work well only if you want to do simple store-and-retrieve operations. Anything beyond that, and your development and operational maintenance costs skyrocket. As far as scaling is concerned, well, we've got the world's largest relational database and it contains over 100TB of data. Beat that!

RDBMS are friends. Learn to respect them. More importantly, learn how to use them.

PS: Relational Algebra example taken from this document.

dbms, technology, rdbms, sql

Previous post Next post
Up