10 things you Need to Know About NoSQL Databases


For about two decades, the relational database (RDBMS) model was the only game in town for database management. Over the past few years, another game has emerged: NoSQL, a non-relational distributed database model. Read on to learn the top 5 benefits and the top 5 disadvantages.

While far from new — the NoSQL concept
has been around for 10 years or so — NoSQL has been attracting a lot of
attention in recent years, primarily due to big-name production
implementations. Amazon’s Dynamo and Google’s BigTable are among the best known
implementations.

While NoSQL offers a number of benefits,
it is not without inevitable downsides.

Here are Five Benefits of NoSQL

It’s Open Source – Mostly a Good Thing

Open source products provide developers
with some great benefits, notably their no-cost status. Other benefits:
open-source software tends to be more reliable, secure, and faster to deploy
than proprietary alternatives.

 Popular NoSQL DBs are Cassandra,
CouchDB, Hbase, MongoDB, and Redis.

Elastic Scaling

 NoSQL replaces the old ‘scale up’
mantra of database managers with a new one: ‘scale out.’ Instead of adding
bigger servers to handle more data load, a NoSQL database allows a company to
distribute the load across multiple hosts as the load increases.

Different NoSQL DBs for Different Projects

MongoDB and Redis are good choices for
storing frequently-written, rarely read statistical data, such as a web hit
counter.

Hadoop, a freeform, distributed DB does
a good job of storing Big Data such as weather stats or business analytics
work.

Memcache, a transient DB, excels at
storing web sessions, locks, and short-term stats) .

Cassandra and Riak (automatically
clustered, redundant stores) perform well in environments with high
availability apps, when maximum uptime is vital.

NoSQL’s Impressive Implementations

Companies such as Amazon, the BBC,
Facebook and Google rely on NoSQL DBs.

NoSQL Flies High in the Cloud

NoSQL and the cloud are a natural fit.
Today’s servers are inexpensive and can easily be scaled up on demand using a
service such as Amazon EC2. Like all cloud technology, EC2 is based on
virtualization. The weak link of virtualization is I/O performance, with memory
and CPU being the strong links.

NoSQL databases mostly use memory over
disk as the primary write location – thereby preventing inconsistent I/O
performance. And since NoSQL datastores typically
leverage horizontal scalability via partitioning, they are able to take
advantage of the cloud’s elastic provisioning.

Here are Five Downsides of NoSQL

Open Source can Mean Spotty Support for Enterprises

While major RMBMS vendors such as Oracle, IBM and Sybase deliver good to
outstanding support for their mid-size and enterprise customers, smaller,
typically start-up open source vendors cannot be expected to deliver comparable
support – except to a handful of blue-chip customers.

The average open-source vendor lacks the global reach, support services, and
credibility of an Oracle or IBM.

Not Mature Enough for Enterprises

Despite their implementations at some major companies, NOSQL databases still
face a major credibility problem with many enterprises. Critics point to
NoSQL’s lack of maturity and possible instability issues, while citing the
maturity, rich functionality and stability of long-established RDBMSes.

Business Intelligence Limitations

There’s a question mark or two around the BI capabilities of NoSQL
databases. Can these databases provide the sort of rigorous data-mining that
corporations are used to with RDBMSes? How much programming expertise is needed
to do ad-hoc query and analysis?

The answers are not exactly positive. NoSQL databases do not have many hooks
to commonly used BI tools, while the simplest ad-hoc query and analysis involves
pretty heavy programming expertise. Nevertheless, solutions are available.
Quest Software, for example, has created Toad for cloud databases, which
delivers ad-hoc query capabilities to some NoSQL databases.

Lack of Expertise

The very newness of NoSQL means there are not a lot of developers and
administrators who know the technology – making it difficult for companies to
find people with appropriate expertise. In contrast, the RDBMS world has
thousands of very qualified people.

Compatibility Issues

Unlike relational databases, NoSQL
databases share little in the way of standards.  Each NoSQL database has
its own API, unique query interfaces, and peculiarities.  This lack of
standards means it’s impossible to simply switch from one vendor to another, if
you become unhappy with the service.

Related Articles

The Rise of NoSQL Databases
Five Reasons to Keep NoSQL on Your Radar
Does NoSQL Spell the End of Relational Databases?

Latest Articles