NoSQL and the Power of Good Choices
Mike Loukides recently wrote a piece for O’Reilly where he agreed with my take on Oracle’s recent NoSQL announcement. But he also touched on something else that is an important dynamic for these discussions, and that is “choice.”
He argues that the rest of the stack has gone through periods that provided a variety of architectural choices, whereas the backend database really didn’t provide the same range of options because while there were different vendors, the basic technology offering was the same. I agree with that, and I think it’s a material part of the discussion for CIO’s and Architects as they consider NoSQL implementations.
A variety of good choices allows you to change the way you think. Let me give you just two examples of what I mean…
Cost/Resourcing. Many CIO’s are being pressured to leverage cloud technologies, but when it came to the database piece, it was a non-starter. They are just not equipped to deal with horizontal scaling on commodity hardware, so the CIO could never even consider that piece of the stack as a viable candidate. NoSQL databases remove that barrier (and, in fact, many embrace it), which opens up a whole new realm of architectural possibilities.
New Solutions to New Problems. Many of us have started to limit our thinking when it comes to solving business problems because we have become too comfortable with the limits of the technology we know. If you have been in the relational world for a long time, and I asked you to think about writing an application to find a restaurant, you’d start thinking about that app based on what you know you can do technically. And, if you are like me, you may even start to see the data model in your head. And that is a bad thing. The reason it’s bad is because it has limited my thinking. If I started with that paradigm, I would never imagine this: “Find me a restaurant that specializes in seafood, is kid friendly, takes reservations, close to a subway station, with a reservation time available within 20 minutes of subway arrival time from my current location, and I’d like it to have high ratings on Yelp and Google rankings based on customer feedback, and I’d like to be within 3 miles of a movie theater so I can catch a show after I eat. BTW, do this for tens of thousands of users at a time, and there is a good chance that on a regular basis I will need to change the attributes I’m tracking in ways I don’t even know yet.”
That is not hyperbole. That’s the way people are going to need to approach business problems in this modern era, and that’s why NoSQL is there as choice to make such things not only possible, but eminently doable.
There are many other examples that I’m sure I’ll address in the future. The point is, these new technologies open us to a world of solutions never before thought possible. It’s going to take some time to adjust to that.
We have been conditioned to start our thinking with “You can’t do…” but the world of choices in front of us now allow us to begin with “What if I could…”