NoSQL – Not Only SQL – Column (Family) Database



NoSQL – Not Only SQL – Column (Family) Database

1 1


cis483-NoSQL-Preso


On Github adamfknecht / cis483-NoSQL-Preso

NoSQL

Not Only SQL

Created by Adam Knecht / @adamfknecht

What is NoSQL?

NoSQL is a non-relational DB that allows for horizontal scaling. Distributed system, must understand CAP therom. Used at Google, Facebook, Mozillia Big Data Applications Horizontal Scale - Add Nodes NoSQL was coined by Carlo Strozzi in the year 1998

Classical RDBMS Rules

Atomic: All or Nothing

Consistent: Only Valid Data

Isolated: Transactions Don't Affect Each Other

Durable: Data is Written on Submission

CAP Theorem

Consistency - This means that the data in the database remains consistent after the execution of an operation. For example after an update operation all clients see the same data. Availability - This means that the system is always on (service guarantee availability), no downtime. Partition Tolerance - This means that the system continues to function even the communication among the servers is unreliable, i.e. the servers may be partitioned into multiple groups that cannot communicate with one another. You can only have 2!

BASE

Basically Available

Soft state

Eventual consistency

A BASE system gives up on consistency. Basically Available indicates that the system does guarantee availability, in terms of the CAP theorem. Soft state indicates that the state of the system may change over time, even without input. This is because of the eventual consistency model Eventual consistency indicates that the system will become consistent over time, given that the system doesn't receive input during that time.

NoSQL Pro v. Con

Pros Cons High Scalability No Standardization Distributed Computing Limited Query Capabilities Lower Cost Eventually Consistent Schema Flexibility No Complicated Relationships

Column (Family) Database

Apache HBase, Hypertable, Cassandra

Document Based

MongoDB, CouchDB

Graph

AllegroGraph, DEX, Neo4j

Key-Value Stores

Riak, memcached, BigTable

NoSQL Security?

Security is not the Goal