Database Reference
In-Depth Information
I imagine that this sounds familiar to you. At web scale, engineers have started to wonder wheth-
er this situation isn't similar to Henry Ford's assertion that at a certain point, it's not simply a
faster horse that you want. And they've done some impressive, interesting work.
We must therefore begin here in recognition that the relational model is simply a model. That is,
it's intended to be a useful way of looking at the world, applicable to certain problems. It does
not purport to be exhaustive, closing the case on all other ways of representing data, never again
to be examined, leaving no room for alternatives. If we take the long view of history, Dr. Codd's
model was a rather disruptive one in its time. It was new, with strange new vocabulary and terms
such as “tuples”—familiar words used in a new and different manner. The relational model was
held up to suspicion, and doubtless suffered its vehement detractors. It encountered opposition
even in the form of Dr. Codd's own employer, IBM, which had a very lucrative product set
around IMS and didn't need a young upstart cutting into its pie.
But the relational model now arguably enjoys the best seat in the house within the data world.
SQL is widely supported and well understood. It is taught in introductory university courses.
There are free databases that come installed and ready to use with a $4.95 monthly web host-
ing plan. Often the database we end up using is dictated to us by architectural standards within
our organization. Even absent such standards, it's prudent to learn whatever your organization
already has for a database platform. Our colleagues in development and infrastructure have con-
siderable hard-won knowledge.
If by nothing more than osmosis—or inertia—we have learned over the years that a relational
database is a one-size-fits-all solution.
So perhaps the real question is not, “What's wrong with relational databases?” but rather, “What
problem do you have?”
That is, you want to ensure that your solution matches the problem that you have. There are cer-
tain problems that relational databases solve very well.
If massive, elastic scalability is not an issue for you, the trade-offs in relative complexity of a sys-
tem such as Cassandra may simply not be worth it. No proponent of Cassandra that I know of is
asking anyone to throw out everything they've learned about relational databases, surrender their
years of hard-won knowledge around such systems, and unnecessarily jeopardize their employ-
er's carefully constructed systems in favor of the flavor of the month.
Relational data has served all of us developers and DBAs well. But the explosion of the Web, and
in particular social networks, means a corresponding explosion in the sheer volume of data we
must deal with. When Tim Berners-Lee first worked on the Web in the early 1990s, it was for
the purpose of exchanging scientific documents between PhDs at a physics laboratory. Now, of
course, the Web has become so ubiquitous that it's used by everyone, from those same scientists
to legions of five-year-olds exchanging emoticons about kittens. That means in part that it must
Search WWH ::




Custom Search