http://www.perlmonks.org?node_id=940708


in reply to From database views to abstract SQL to NOSQL

I think of NoSQL as a gigantic Scripting.Dictionary from the Olden Days of Visual Basic. Except I can't find out what keys are there. And there's some kind of magic going on under the hood that may-or-may-not get all my nodes synced up with one another.

NoSQL and RDBMS are as different as Apples and Footballs. Two different problem domains - and both solve their intended appointments well, when used correctly.

Every few years there's a new database gimmick. Ten years ago it was "XML Databases" and "Object Databases" - but the salespeople I spoke with trying to sell them to my company was trying to convince me that they would replace traditional RDBMS like MS SQL Server, Oracle and the like. A decade later and now we've got NoSQL "databases" which are great for caching, but not really great for replacing your RDBMS.

I say, "Use Only as Directed" and you'll be fine.

About distilling your SQL::Abstract 'statements' into keys and caching the results from the RDBMS in a NoSQL database, keyed by some kind of hash of those SQL::Abstract statements - that's a great plan. So long as your data doesn't change much, otherwise you'll be playing whack-a-mole with cache invalidation.