FOR IMMEDIATE RELEASE
San Francisco (April 1, 2013) – In a dramatic move calculated to give fresh life to the moribund relational database movement, the latest version of Oracle Corporation’s flagship database has eliminated the famous “join penalty” by making it possible to store rows from multiple relational tables in the same database block. There are two flavors of the feature: …
Dedicated to NoSQL and Big Data expert Gwen Shapira for forcing me to think.
Bring the past for judgment into the thousand-eyed present, and live ever in a new day—American philosopher Ralph Waldo Emerson in his essay on Self-Reliance.
First, a short but fun quiz. The answers are at the end of Page 4 or you can click on the information link provided after each question.
1. Before relational databases, there were network databases. Network databases were codified by the Conference on Data Systems Languages (CODASYL) in 1969. According to the website of a prominent software company: “CODASYL DBMS is a multiuser, CODASYL-compliant database management system for OpenVMS operating systems. CODASYL DBMS is designed for databases of all levels of complexity, ranging from simple hierarchies to sophisticated networks with multilevel relationships. CODASYL DBMS provides a reliable operating platform for application environments where stability, high availability, and throughput are essential.”
CODASYL DBMS was created by Digital Equipment Corporation (DEC) which went out of business in the 1990s. It continues to be supported by:
a) Oracle Corporation
c) Computer Associates
d) Software AG
Click here for the answer.
2. According to the IBM website:
- DBMS “X” manages a large percentage of the world’s corporate data;
- Over 95% of Fortune 1000 companies use DBMS “X;”
- DBMS “X” manages over 15 petabytes of production data;
- $2.5 trillion is transferred through DBMS “X” by one customer every day; and
- DBMS “X” can process 21,000 transactions per second
DBMS “X” is:
a) A pre-relational DBMS that helped put the first man on the moon
b) A relational DBMS
c) An object-oriented DBMS
d) A NoSQL DBMS
Click here for the answer.
3. Indian Railways is the world’s second-largest railway, with 6,853 stations; 63,028 kilometers of track; 37,840 passenger coaches; and 222,147 freight cars. Annually it carries some 4.83 billion passengers and 492 million tons of freight. Of the 11 million passengers who climb aboard one of 8,520 trains each day, about 550,000 have reserved accommodations. Their journeys can start in any part of India and end in any other part, with travel times as long as 48 hours and distances up to several thousand kilometers. The challenge was to provide a reservation system that can support such a huge scale of operations—regardless of whether it’s measured by kilometers, passenger numbers, routing complexity, or simply the sheer scale of India. (Source: HP website.)
What sort of DBMS was used by Indian Railways in 2000 to build a state-of-the-art passenger reservation system on HP OpenVMS AlphaServer systems in 2000?
a) No DBMS was used
b) A pre-relational DBMS
c) A relational DBMS
d) An object-oriented DBMS
e) A NoSQL DBMS
Click here for the answer. Search for the phrase “solution highlights.”
The surprising answers to the above questions should make us stop to think. As relational practitioners, we need to understand why the relational model is sacred. If we cannot explain why the relational model is sacred, we cannot hope to convert the unbelievers, can we?
So stick with me as I attempt to explain. First up is Simplicity and Naturalness.
My take is that application developers have belatedly but correctly concluded that an RDBMS is not the best tool for every application. For example, relational algebra, relational calculus, and SQL are not the best tools for graph problems. As another example, weblogs are non-transactional and don’t benefit from the ACID properties of the RDBMS. Amazon created the Dynamo key-value store for a highly specific use case. From the Dynamo white paper: “Customers should be able to view and add items to their shopping cart even if disks are failing, network routes are flapping, or data centers are being destroyed by tornados. … There are many services on Amazon’s platform that only need primary-key access to a data store. … Simple read and write operations to a data item that is uniquely identified by a key. Data is stored as binary objects (i.e., blobs) identified by unique keys. No operations span multiple data items and there is no need for relational schema. … The operation environment is assumed to be non-hostile and there are no security related requirements such as authentication and authorization.”
What’s your take?
P.S. I wasn’t always of this opinion because, until very recently, I had not studied NoSQL technologies. But my favorite quote is the one on consistency from Emerson’s essay on self-reliance: “The other terror that scares us from self-trust is our consistency; a reverence for our past act or word … bring the past for judgment into the thousand-eyed present, and live ever in a new day. … A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines. … Speak what you think now in hard words, and to-morrow speak what to-morrow thinks in hard words again, though it contradict every thing you said to-day.” (http://www.emersoncentral.com/selfreliance.htm)
However, I don’t give a free pass to the NoSQL camp. I believe that most of the problems that the NoSQL camp is trying to solve, with the sole exception of graph problems, could have been solved within the framework of relational theory. Since the relational camp couldn’t (or wouldn’t) solve the problems, the NoSQL camp came up with their own solutions and threw out the baby (relational theory) along with the bathwater (the perceived deficiencies of relational theory). My topic for the Great Lakes Oracle Conference is therefore “Soul-searching for the relational camp: Why NoSQL and Big Data have momentum.” (https://www.neooug.org/gloc/accepted-presentations.aspx)