Database Reference
In-Depth Information
You may have heard the term “polyglot programming,” which is largely credited to Neal Ford.
The idea with polyglot programming is that different programming languages are good at dif-
ferent things, and that you can combine programming languages in a single solution in order
to realize the maximum benefit. Dean Wampler of http://polyglotprogramming.com offers the
overwhelming success of Emacs as an example of how polyglot programming can be helpful:
Emacs uses C for its kernel, which made it fast, and a scripting dialect of Lisp called Emacs Lisp
(ELisp), which made it easy to extend. Polyglot programming as a concept has been enabled by a
variety of advances in the last few years, including the ability of the Java Virtual Machine to run
a variety of languages. We more frequently hear of large web applications that have parts that
are implemented in Scala, Ruby, and PHP. For example, the most recent iteration of the eBay
architecture is mostly Java, but the search engine is in C++.
I submit that we may see a similar trend in persistence. The NoSQL conversation has challenged
the status quo—that RDBMS is the right tool for every job because it's the tool we have. Some
proponents of NoSQL suggest that RDBMS will be replaced with one or more of these solu-
tions. I rather think it's more likely that we'll see polyglotpersistence, or the use of a variety of
data stores performing different tasks within an application. In this vision, relational databases
will live side by side with nonrelational databases, and they will operate together within modular,
service-oriented applications, each optimized to perform the tasks they do best.
Summary
In the previous sections, we took a whirlwind tour of a variety of nonrelational databases in order
to properly contextualize Cassandra in light of the overall NoSQL movement. The purpose was
to shed some light on how the industry has been thinking about data over the last few years and
to compare and contrast some of these systems in order to understand their broader theoretical
underpinnings.
We also took a tour of the many so-called NoSQL offerings in order to understand the alternat-
ives to relational databases that have sprung up in recent years. These databases, in their variety
of forms, are different ways of trying to respond to the growing need for handling data at massive
“web scale.” Another purpose of this tour was to illustrate that NoSQL databases exist for a reas-
on, though some pundits and industry experts may object. They are being used by many large
companies with strenuous data requirements and cannot be dismissed as newfangled “art pro-
jects.” They are strongly rooted in important ideas surrounding data scalability from some of the
best minds in the industry, sometimes going back decades. And, though it's true that they have
(very public) problems at times, that's also the case with relational databases.
So my purpose in this topic has not been to convince you to throw away all your relational data-
bases and replace them with the new flavor of the month. It's been to help you understand the ad-
vantages and disadvantages of alternatives to relational databases, and to understand Cassandra
Search WWH ::




Custom Search