Why
NoSQL?
Your
database
options
in
the
new
non-relational
world
2015
IBM
Cloudant
Table
of
Contents
New
types
of
apps
are
generating
new
types
of
data
..............................................................
3
A
brief
history
on
NoSQL
.........................................................................................................
3
NoSQLs
roots
in
open
source
...........................................................................................................
3
Types
of
NoSQL
databases
......................................................................................................
4
Key-value
stores
...............................................................................................................................
4
Graph
stores
.....................................................................................................................................
4
Column
stores
..................................................................................................................................
4
Document
stores
..............................................................................................................................
4
Why
Consider
NoSQL?
............................................................................................................
5
Flexibility
..........................................................................................................................................
5
Scalability
.........................................................................................................................................
5
Availability
.......................................................................................................................................
5
Lower
operational
cost
.....................................................................................................................
5
Specialized
capabilities
.....................................................................................................................
5
Summary
................................................................................................................................
6
Getting
started
with
IBM
Cloudant
.........................................................................................
6
For
more
information
.............................................................................................................
6
2015
IBM
Cloudant
New
types
of
apps
are
generating
new
types
of
data
The
continual
increase
in
Web,
mobile,
and
IoT
applications,
alongside
emerging
trends
shifting
online
consumer
behavior
and
new
classes
of
data
are
causing
developers
to
reevaluate
how
their
data
is
stored
and
managed.
Todays
needs
require
a
database
that
is
capable
of
providing
a
scalable,
flexible
solution
to
efficiently
and
safely
manage
the
massive
flow
of
data
to
and
from
a
global
user
base.
Developers
and
IT
alike
are
finding
it
difficult,
and
sometimes
even
impossible,
to
quickly
incorporate
all
of
this
data
into
the
relational
model
while
dynamically
scaling
to
maintain
the
performance
levels
users
demand.
This
is
causing
many
to
look
at
NoSQL
databases
for
the
flexibility
they
offer,
and
is
a
big
reason
why
the
global
NoSQL
1
market
is
forecast
to
nearly
double
and
reach
$3.4
Billion
in
2020 .
A
brief
history
on
NoSQL
NoSQL,
aka
Not
only
SQL,
aka
Non-relational
was
specifically
introduced
to
handle
the
rise
in
data
types,
data
access,
and
data
availability
needs
brought
on
the
dot-com
boom.
Going
back
20
years
or
so,
when
application
architects
and
developers
needed
a
data
store
for
their
applications,
they
were
choosing
among
various
relational
databases.
In
fact,
relational
databases
have
been
the
defacto
choice
since
the
1970s,
as
they
have
been
the
sole
options
available
for
both
developers
(taught
in
Computer
Science
programs
everywhere)
and
infrastructure
teams
(well-understood
tooling
and
predictable
operational
characteristics).
Some
of
the
most
popular
are
Oracle,
MySQL,
SQL
Server,
and
DB2.
However,
when
Internet
applications
and
companies
started
exploding
during
the
late
90s
to
early
2000s,
applications
went
from
serving
thousands
of
internal
employees
within
companies
to
having
millions
of
users
on
the
public
Internet.
For
these
applications,
performance
and
availability
were
paramount.
The
new
problem
of
high
availability
at
large
scale
drove
companies
like
Google,
Facebook,
and
Amazon
to
create
new
technologies.
Thankfully,
they
documented
their
efforts,
released
white
papers,
and
open
sourced
their
technology
for
the
Internet
community
to
continue
building
upon.
By
the
late
2000s,
several
new
non-relational
database
technologies
had
emerged,
and
NoSQL
was
the
name
that
stuck
to
describe
them
all.
NoSQLs
roots
in
open
source
Many
NoSQL
databases
have
roots
in
the
open
source
community.
This
heritage
has
been
fundamental
for
their
ever-increasing
popularity
and
usage.
You
will
often
see
companies
who
provide
a
commercial
version
of
a
database
with
services
and
support
for
the
technology,
while
at
the
same
time
participating
in
the
communities
of
their
open
source
counterparts.
Examples
of
these
relationships
include
Datastax
for
Apache
Cassandra,
IBM
Cloudant
for
Apache
CouchDB,
and
even
MongoDB
with
an
open
source
version
of
their
MongoDB
software.
http://www.marketresearchmedia.com/?p=568
2015
IBM
Cloudant
Types
of
NoSQL
databases
NoSQL
is
simply
the
term
used
to
describe
a
family
of
databases
that
are
all
non-relational.
While
the
technologies,
data
types,
and
use
cases
vary
wildly
among
them,
it
is
generally
agreed
that
there
are
four
types
of
NoSQL
databases:
Key-value
stores
These
databases
pair
keys
to
values,
like
a
hash
table
in
computer
programming.
A
good
analogy
for
a
key-value
store
is
a
file
system.
The
path
acts
as
the
key
and
the
contents
act
as
the
file.
There
are
often
no
"fields"
to
update;
rather,
the
entire
value
other
than
the
key
must
be
updated
if
changes
are
to
be
made.
This
simplicity
scales
well;
however,
it
can
limit
the
complexity
of
queries
and
other
advanced
features
available
in
key-value
stores.
Examples
of
pure
key-value
stores
include:
MemcacheD,
REDIS,
and
Riak
Graph
stores
Graph
data
stores
excel
at
dealing
with
interconnected
data.
Graph
databases
consist
of
connections
(called
edges
in
graph
DB
terms)
between
nodes.
Both
nodes
and
their
edges
can
store
additional
properties,
such
as
key-value
pairs.
The
strength
of
a
graph
database
is
in
traversing
the
connections
between
nodes.
Graph
databases,
however,
generally
require
all
data
to
fit
on
one
machine,
limiting
their
scalability.
Examples
of
graph
stores
include:
Neo4j
and
Sesame
Column
stores
Relational
databases
store
all
of
the
data
in
particular
tables
row
together
on-disk,
which
makes
retrieval
of
a
particular
row
fast.
Column-family
databases
generally
serialize
all
the
values
of
a
particular
column
together
on-
disk,
which
makes
retrieval
of
a
large
amount
of
a
specific
attribute
fast.
This
approach
lends
itself
well
to
aggregate
queries
and
analytics
scenarios
where
you
might
run
range
queries
over
a
specific
field.
Examples
of
column
stores
include:
Hbase,
Cassandra
Document
stores
Document
databases
store
records
as
documents,
where
a
document
can
generally
be
thought
of
as
a
grouping
of
key-value
pairs.
Keys
are
always
strings
and
values
can
be
stored
as
strings,
numerics,
booleans,
arrays,
and
other
nested,
key-value
pairs.
Values
can
be
nested
to
arbitrary
depths.
Popular
syntax
for
document
DBs
include
XML
and
JavaScript
Object
Notation
(JSON).
Examples
of
document
stores
include:
MongoDB,
CouchDB,
Cloudant,
and
MarkLogic
2015
IBM
Cloudant
Why
Consider
NoSQL?
The
various
NoSQL
databases
available
today
differ
quite
a
bit,
but
there
are
common
threads
uniting
them:
flexibility,
scalability,
availability,
lower
costs,
and
special
capabilities.
Flexibility
Schema
flexibility
and
intuitive
data
structures
are
key
features
that
attract
developers
working
in
agile
development
cycles,
and
most
NoSQL
databases
accommodate
these
qualities.
Schema
updates
and
their
associated
downtime
are
generally
not
required,
as
in
a
relational
database.
NoSQLs
flexibility
is
popular
for
supporting
agile
development
practices
by
eliminating
the
complexity
of
database
schema
changes
to
support
changing
codebases.
Scalability
Scale
refers
to
both
the
size
of
the
data
as
well
as
the
concurrent
users
acting
on
that
data.
NoSQL
databases
are
typically
more
specialized
to
various
use
cases
involving
scale
and
can
be
much
simpler
to
develop
related
application
functions
than
relational
databases.
Many
NoSQL
databases
are
built
to
scale
horizontally
and
spread
their
data
across
(shard)
a
cluster
of
servers
more
easily
than
their
relational
counterparts.
Relational
database
performance
suffers
when
queries
execute
JOINs
across
shards,
whereas
a
NoSQL
database
can
avoid
JOINs
altogether
and
remain
highly
performant.
Availability
Downtime
results
in
lost
revenue,
lost
customers,
and
frustrated
users.
Thankfully,
some
NoSQL
databases
offer
new
or
different
replication
architectures
that
can
make
different
types
of
NoSQL
databases
more
highly
available
for
writes
in
addition
to
reads.
This
means
that
if
one
or
more
database
servers,
or
"nodes
goes
down,
the
other
nodes
in
the
system
are
able
to
continue
operations
without
data
loss.
Lower
operational
cost
The
open
source
roots
of
NoSQL
make
its
entry
point
an
obvious
incentive,
and
it
is
common
to
hear
of
NoSQL
adopters
cutting
significant
costs
versus
their
existing
databases
while
still
receiving
the
same
or
better
performance
and
functionality.
Historically,
large
relational
databases
have
run
on
expensive
machines
and
mainframes.
The
distributed
nature
of
NoSQL
databases
means
that
they
can
be
deployed
and
operated
on
clusters
of
servers
in
cloud
architectures.
Specialized
capabilities
Not
all
NoSQL
databases
are
created
equal.
To
offer
incentives
and
added
integration
to
their
users,
many
NoSQL
providers
include
various
specialized
capabilities.
Examples
include
specific
indexing
and
querying
capabilities
for
geospatial
data
or
integrated
full-text
indexing
for
search,
automatic
data
replication
and
synchronization
features,
and
application-friendly
RESTful
web
APIs.
2015
IBM
Cloudant
Summary
The
database
you
pick
for
your
next
application
matters
now
more
than
ever.
Thankfully,
you
dont
have
to
pick
just
one.
Todays
applications
are
expected
to
run
non-stop
and
must
efficiently
manage
the
continuously
growing
amounts
of
multi-structured
data
in
order
to
do
so.
This
has
caused
NoSQL
to
grow
from
a
buzzword
to
a
serious
consideration
for
every
database,
from
small
shops
to
the
enterprise.
While
NoSQL
databases
share
some
common
qualities,
such
as
being
non-relational
and
generally
easy
to
scale,
there
are
many
unique
differentiators
to
consider
when
deciding
upon
the
correct
NoSQL
solution
for
your
unique
data
needs.
The
right
NoSQL
database
can
act
a
viable
alternative
to
relational
databases
or
can
be
utilized
in
a
complementary
fashion
along
with
existing
systems.
The
requirement
for
efficient
data
delivery
is
our
future,
and
you
should
consider
NoSQL
technology
when
planning
any
application
development
project
that
involves
scale,
different
varieties
of
data,
or
large
amounts
of
potential
users.
Getting
started
with
IBM
Cloudant
IBM
Cloudant
is
available
as
a
fully
managed
NoSQL
database
as
a
service
(DBaaS)
for
fast,
turnkey
provisioning,
and
worry-free
data
management.
It
is
also
available
as
Cloudant
Local,
which
puts
the
power
of
the
Cloudant
platform
in
the
privacy
of
your
data
centers.
You
can
even
connect
Cloudant
Local
and
Cloudant
Managed
DBaaS
databases
together
to
form
hybrid
cloud
databases
for
the
greatest
balance
of
cloud
cost,
reach,
performance,
and
compliance
control.
Simply
sign
up
for
a
no
charge
account
and
get
started
at
https://cloudant.com.
For
more
information
For
more
information,
please
contact
your
IBM
representative
or
IBM
Business
Partner,
or
visit:
cloudant.com
or
ibm.com/cloudant
The
Apache
Software
Foundation,
"Apache
Cassandra",
"CouchDB",
and
"Apache
CouchDB"
are
trademarks
or
registered
trademarks
of
The
Apache
Software
Foundation.
All
other
brands
and
trademarks
are
the
property
of
their
respective
owners.
2015
IBM
Cloudant