Databases Reference
In-Depth Information
I am a member of the fi rst group. Writing a topic on the subject is testimony enough to prove
that I like the technology. Both the groups of NoSQL lovers and haters have a range of believers:
from moderates to extremists. I am a moderate. Given that, I intend to present NoSQL to you as a
powerful tool, great for some jobs but with its set of shortcomings, I would like you to learn NoSQL
with an open, unprejudiced mind. Once you have mastered the technology and its underlying
ideas, you will be ready to make your own judgment on the usefulness of NoSQL and leverage the
technology appropriately for your specifi c application or use case.
This fi rst chapter is an introduction to the subject of NoSQL. It's a gentle step toward understanding
what NoSQL is, what its characteristics are, what constitutes its typical use cases, and where it fi ts
in the application stack.
DEFINITION AND INTRODUCTION
NoSQL is literally a combination of two words: No and SQL. The implication is that NoSQL
is a technology or product that counters SQL. The creators and early adopters of the buzzword
NoSQL probably wanted to say No RDBMS or No relational but were infatuated by the nicer
sounding NoSQL and stuck to it. In due course, some have proposed NonRel as an alternative to
NoSQL. A few others have tried to salvage the original term by proposing that NoSQL is actually
an acronym that expands to “Not Only SQL.” Whatever the literal meaning, NoSQL is used
today as an umbrella term for all databases and data stores that don't follow the popular and well-
established RDBMS principles and often relate to large data sets accessed and manipulated on a
Web scale. This means NoSQL is not a single product or even a single technology. It represents
a class of products and a collection of diverse, and sometimes related, concepts about data
storage and manipulation.
Context and a Bit of History
Before I start with details on the NoSQL types and the concepts involved, it's important to set
the context in which NoSQL emerged. Non-relational databases are not new. In fact, the fi rst
non-relational stores go back in time to when the fi rst set of computing machines were invented.
Non-relational databases thrived through the advent of mainframes and have existed in specialized
and specifi c domains — for example, hierarchical directories for storing authentication and
authorization credentials — through the years. However, the non-relational stores that have
appeared in the world of NoSQL are a new incarnation, which were born in the world of massively
scalable Internet applications. These non-relational NoSQL stores, for the most part, were conceived
in the world of distributed and parallel computing.
Starting out with Inktomi, which could be thought of as the fi rst true search engine, and
culminating with Google, it is clear that the widely adopted relational database management
system (RDBMS) has its own set of problems when applied to massive amounts of data. The
problems relate to effi cient processing, effective parallelization, scalability, and costs. You learn
about each of these problems and the possible solutions to the problems in the discussions later in
this chapter and the rest of this topic.
Search WWH ::




Custom Search