Upload
oliver-gibson
View
213
Download
0
Embed Size (px)
Citation preview
Scalable SQL
Group 11
Sameera Shah & Fatemah Husain
[10/31/13]
Relevance to the course
1) Relational Databases2) Transaction Processing
2
Motivation
Why SQL?
1) Scale to a large number of users2) Accommodate large data3) Allows addition/removal resources quickly
Approaches to Scaling SQL1) Use of function+ data partitioning
2) Each partition will use relational DBa) Provides local consistencyb) Query processing
3) Mirroring of nodes a) Guarantee node availability
4) Eventual consistency as acceptable global consistencyAdvantages:
a) Provides availability during node failuresb) Ability to work on older data
Disadvantage:c) Trade-off with consistency
3
Scalable Architectures For Scale-OutFunction + Data partitioning
4
Scalable Architecture Application Requirements
5
Consistency
Availability
Partition tolerance
CAP Theorem: You can have at most two of these properties for any shared-data system.
ACID (SQL) VS. BASE (NoSQL)
1) Basically Available
2) Soft state
3) Eventual Consistency
6
1) Atomicity
2) Consistency
3) Isolation
4) Durability
VS.
Summary
7
SQL NoSQL
Definition A database structured to recognize relations among stored items of information
“Not Only SQL”, is an approach to data management and database design that's useful for very large sets of distributed data.
Characteristics
Pre-defined Schema Schema-less
ACID properties BASE Properties
Structured Data Unstructured and Semi Structured data
Database Examples
Commercial: Oracle, MS SQLOpen Source: MySQL, Ingres
Column: HBaseDocument: MongoDB Key-value: DynamoGraph: Virtuoso
References
1) Scalable SQL: How do large-scale sites and applications remain SQL-based? Michael Rys, Communications of the ACM Vol. 54 No. 6, Pages 48-53 10.1145/1953122.1953141
2) Relational DB: http://en.wikipedia.org/wiki/Relational_databaseText Book: Elmasri, Navathe, Fundamentals of Database Systems, 6th, Addison Wesley, ISBN-10: 0-13-608620-9.
3) CAP: http://en.wikipedia.org/wiki/CAP_theorem
4) NoSQL: http://en.wikipedia.org/wiki/NoSQL
8
THANK YOU