While exploring deep into some dusty old library stacks, I dug up Nostradamus' long lost NoSQL codex. What are the chances? Strangely, it also gave the plot to the next Dan Brown novel, but I left that out for reasons of sanity. About NoSQL, here is what Nosty (his friends call him Nosty) predicted are the signs you may need a NoSQL database...
- You noticed a lot of your database fields are really serialized complex objects in disguise. Why bother with a RDBMS at all then? Storing serialized objects in a relational database is like being on the pill while trying to get pregnant, a bit counter productive. Just use a schemaless database from the start.
- Using a standard query language has become too confining. You just want to be free. SQL is so easy, so convenient, and so standard, it's really not a challenge anymore. You need to be different. Then NoSQL is for you. Each has their own completely different query mechanism.
- Your toolbox only contains a hammer. Hammers while wonderfully versatile, can not make a nice latte. One size doesn't fit all. Right tool for the right job and all that jazz.
- You really feel like protesting something, but all the really cool causes are full up. Protesting the many centuries of relational database hegemony is a first rate cause you can be proud of. Think of all the stirring chants: "Let My Schema Go!" or "Give Me Primary Key Access or Give Me Indexes!" or "Don't Join On Me!"
- You stepped in a giant pile of impedance mismatch and need to wash off your shoes. Maybe whatever product you are trying to build would be better represented by a graph? Or a document model? Or a super model? Stop viewing the world from table colored glasses.
- Maintaining a completely separate object caching system on top of an already beefy table storage system, has started to seem a little silly. It's a massive duplication of effort, resources, and the consistency problems are brutal.
- The Four Horseman contract you to build a fast and infinitely scalable website to help crowd source their new startup: EndOfTheWorld.me.
Only time will tell if Nostradamus is as accurate with his NoSQL predictions as he has been with everything else.