Table of Contents

What is a Nosql Database?

About

NoSql databases are distributed database that query and store data in only one table.

A NoSQL database may have the following meanings:

Main Characteristics

No Join for sharding

NoSql means no join. There is no query that will join data between two tables.

If a join happens, it's in the code application, not in the database.

This approach easily permits sharding a table by a couple of key and therefore redirecting a simple query to a single node (single computer).

Availability above consistency

In the database ACID properties, NoSql databases prioritize availability (A) above consistency (C).

In an always-on world where downtime is unacceptable, a NoSQL application chooses to sacrifice consistency instead of availability.

They choose AP from CAP.

Developers need then to enforce consistency in their code.

NoSql vs Consistent system

Everyone MUST see the same thing, either old or new, no matter how long it takes.

For large applications, we can’t afford to wait that long, and maybe it doesn’t matter anyway

Database Type

The NoSQL field has actually four different types of databases:

Features

Pro

Cons

I guess what I'm saying is that my decision to use NoSQL, and I'm guessing others' decisions to do so, has less to do with the fact that we can't squeeze a few thousand writes a second out of MySQL and more to do with management and cost overhead. NoSQL solutions allow us to serve absurd amounts of data for a really, really low price.

Major Impact Systems (Rick Cattel)

List

Terminology

1)