…And Databases Rock
In my last post, I emphasized the central role of business transactions as the legally binding representation and long-term record of all business activity. It was for this reason that databases—first hierarchical and then relational—were adopted as the technological foundation for business computing. In comparison to file-based systems, databases offer higher reliability, better consistency, and easier management and control of this key information asset of the business.
Central to all of this goodness is what IT folks call acid transactions, which always reminds me of Timothy Leary and LSD… But that’s a whole different journey. ACID, in this case, is an acronym for Atomicity, Consistency, Isolation, and Durability— a set of properties that guarantee that database transactions are processed reliably. A business transaction will usually consist of multiple database transactions, tied together by an application like SAP, which ultimately takes responsibility for the reliability of the business transactions themselves. But, take away the database and replace it with a file system (think HDFS in Hadoop, for example) and the job of the application becomes immeasurably more difficult. This is especially true as the world of business becomes ever faster and ever more complex.
But being a database fan doesn’t mean I think today’s relational databases are perfect. In fact, the mainstream databases leave much to be desired in a real time, fully distributed business environment. Their design is firmly based in the computing reality of the 1970s, in a transitional time between centralized mainframes in the first wave of client/server computing, and long before the Web, ubiquitous mobile devices, commodity servers, and the Internet of Things. A new theoretical foundation is required and, fortunately, it already exists, offering distributed peer-to-peer caching, coordination, and scale-out. That’s probably way too much detail for now.
The bottom line is that a database can and should provide rock-solid reliability and consistency for today’s distributed, real-time business transactions. File-based and eventual consistency data stores cannot do this. Neither can the traditional relational databases, which is why NuoDB had to come up with a new tune that truly does rock.