No SQL
No SQL
NoSQL
W2013
CSCI 2141
+
OLTP vs. OLAP
We can divide IT systems into transactional (OLTP) and
analytical (OLAP). In general we can assume that OLTP
systems provide source data to data warehouses, whereas
OLAP systems help to analyze it
.
+
Challenges of Scale Differ
+
BIG DATA!
6 25 December 2017
7 25 December 2017
+
SQL Characteristics
Transactions
8 25 December 2017
+
SQL Physical Layer Abstraction
9 25 December 2017
+
Data Manipulation Language (DML)
Data Aggregation
Compound statements
10 25 December 2017
+
Data Definition Language
11 25 December 2017
+
Transactions – ACID Properties
12 25 December 2017
+
NewSQL: more OLTP throughput,
real-time analytics
) SQL as the primary mechanism for application interaction
From www.nosql-database.org:
Next Generation Databases mostly addressing some
of the points: being non-relational, distributed, open-
source and horizontal scalable. The original intention
has been modern web-scale databases. The
movement began early 2009 and is growing rapidly.
Often more characteristics apply as: schema-free,
easy replication support, simple API, eventually
consistent / BASE (not ACID), a huge data amount,
and more.
14 25 December 2017
+
NoSQL Products/Projects
http://www.nosql-database.org/
lists 122 NoSQL Databases
Cassandra
CouchDB
MongoDB
StupidDB
Etc.
15 25 December 2017
+
NoSQL Products/Projects
http://www.nosql-database.org/
lists 122 NoSQL Databases
Cassandra
CouchDB
MongoDB
StupidDB
Etc.
16 25 December 2017
+ 17
NoSQL Distinguishing Characteristics
Large data volumes Asynchronous
Google’s “big data” Inserts & Updates
Scalable replication Schema-less
and distribution
Potentially thousands ACID transaction
of machines properties are not
Potentially distributed
around the world needed – BASE
Queries need to CAP Theorem
return answers
quickly Open source
development
Mostly query, few
updates
25 December 2017
+
BASE Transactions
Characteristics
Weak consistency – stale data OK
Availability first
Best effort
Approximate answers OK
Aggressive (optimistic)
Simpler and faster
18 25 December 2017
+
Brewer’s CAP Theorem
Consistency
Availability
Partition tolerance
19 25 December 2017
+
+
NoSQL Database Types
21 25 December 2017
+
Other Non-SQL Databases
XML Databases
Graph Databases
Codasyl Databases
Etc…
22 25 December 2017
+
Storing and Modifying Data
Syntax varies
HTML
Java Script
Etc.
Optimistic Concurrency
25 25 December 2017
+
Retrieving Data
Syntax Varies
No set-based query language
Procedural program languages such as Java, C, etc.
26 25 December 2017
+
Open Source
27 25 December 2017
+
NoSQL Summary
28 25 December 2017
+
Summary
SQL Databases
Predefined Schema
Standard definition and interface language
Tight consistency
Well defined semantics
NoSQL Database
No predefined Schema
Per-product definition and interface language
Getting an answer quickly is more important than
getting a correct answer
29 25 December 2017
+
Web References
30 25 December 2017
+
Web References
31 25 December 2017
+
Web References
32 25 December 2017