Database Terminology in 15 minutes or your money back!
Sean Collins @sc68cal https://github.com/sc68cal
Currently Works With.... 9AM - 5PM (SQL) Oracle 11gR2 5-???? (NoSQL) Redis SimpleDB
Concepts ACID CAP All of these terms describe the promises that a database system will abide by. A contract for your data
ACID Atomicity Consistency Isolation Durability
Atomicity All operations will occur, or none will occur Simple example: INSERT INTO Names (firstname,lastname) VALUES (Sean, Collins)
Consistency All operations will leave the database in a known good state Keys, Constraints, triggers, etc.. Cannot have operations that violate the rules for your data Customer doesn’t exist Primary key that already exists
Isolation Operations cannot interfere with one- another Handle multiple, concurrent operations (One write, many reads) in a defined manner.
Durability Completed operations are bullet-proof Yank out the power cable Crash the database server process When the database server comes back up - database is in a consistent state - with your data intact.
CAP CAP Theorem - Eric Brewer (Conjecture) Seth Gilbert and Nancy Lynch (Theorem) Consistency Availability Partition Tolerance
Consistency All nodes in a distributed system see the same data - at that exact moment Simple example: Update item B on node #1, query node #2 about B - get back the updated data
Availability System will process requests, despite failures in individual nodes Not a guarantee that the operation will succeed Just a guarantee that you will get a response back No guarantee is made for WHEN you will get a response back
Partition Tolerance System will continue to operate, even when arbitrarily many messages between nodes are lost
PICK TWO CAP Theorem asserts that of the three properties, a system can only have two.
Data Types Relational Database Tables Columns Rows
Common NoSQL Datatypes Key/Value Column Store Document etc....
ACID vs. BASE Someone clever... har har “Basic Availability” “Soft State” “Eventually Consistent” Much prefer CAP theorem - exposes the tradeoffs that you have to choose between

Database Throwdown Introduction