Don’t tell my bosses over at MarkLogic, but I hate databases. I’m a front-end programmer through and through. User centered design, human computer interfaces … that sort of thing. I cringe at the concept of relational algebra and cry at the first mention of changing the physical data model. You might think it surprising that someone with such an aversion to traditional databases would end up working as a consultant for an enterprise database company, but look at it another way: the parts of databases that I dislike, the parts that are just not cool, … those are the parts that revolutionary new databases are leaving out.
The last decade’s innovations in database design allow programmers to build dynamic applications that can scale to huge volumes of complex and unwieldy “unstructured” data without having to mess around with relational databases or becoming DBAs. Whether you call it NoSQL, the right tool for the job, or the “keep things simple” method, I’m interested as long as it is has:
- high performance
- high availability
- fault tolerance
- and the ability to deal with real world data