A Comparison of SQL and NoSQL Databases

Slides:



Advertisements
Similar presentations
NoSQL Databases: MongoDB vs Cassandra
Advertisements

NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
CS346: Advanced Databases
NoSQL Database.
A Comparison of SQL and NoSQL Databases
NoSQL W2013 CSCI 2141.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Databases with Scalable capabilities Presented by Mike Trischetta.
Database Technical Session By: Prof. Adarsh Patel.
Modern Databases NoSQL and NewSQL Willem Visser RW334.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
NoSQL Databases NoSQL Concepts SoftUni Team Technical Trainers Software University
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Exam and Lecture Overview.
Lecture 8: Databases and Data Infrastructure CS 6071 Big Data Engineering, Architecture, and Security Fall 2015, Dr. Rozier.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
NoSQL Or Peles. What is NoSQL A collection of various technologies meant to work around RDBMS limitations (mostly performance) Not much of a definition...
NOSQL DATABASE Not Only SQL DATABASE
CPT-S Advanced Databases 11 Yinghui Wu EME 49.
Context Aware RBAC Model For Wearable Devices And NoSQL Databases Amit Bansal Siddharth Pathak Vijendra Rana Vishal Shah Guided By: Dr. Csilla Farkas Associate.
Group members: Phạm Hoàng Long Nguyễn Huy Hùng Lê Minh Hiếu Phan Thị Thanh Thảo Nguyễn Đức Trí 1 BIG DATA & NoSQL Topic 1:
Look Mom! – NoSQL Charles Nurse | DotNetNuke Corp.
1 Ahmed K. Ezzat, Tradeoffs Between SQL and NoSQL Data Mining and Big Data.
Abstract MarkLogic Database – Only Enterprise NoSQL DB Aashi Rastogi, Sanket V. Patel Department of Computer Science University of Bridgeport, Bridgeport,
Amirhossein Saberi May CASSANDRA NAME A daughter of the Trojan king Priam, who was given the gift of prophecy by Apollo. When she cheated him, however,
Neo4j: GRAPH DATABASE 27 March, 2017
CSCI5570 Large Scale Data Processing Systems
CS 405G: Introduction to Database Systems
NO SQL for SQL DBA Dilip Nayak & Dan Hess.
NoSQL: Graph Databases
and Big Data Storage Systems
Cloud Computing and Architecuture
CSE 775 – Distributed Objects Bekir Turkkan & Habib Kaya
NoSQL Know Your Enemy Shelly Noll SRT Solutions, Ann Arbor, MI
CS122B: Projects in Databases and Web Applications Winter 2017
A free and open-source distributed NoSQL database
Introduction In the computing system (web and business applications), there are enormous data that comes out every day from the web. A large section of.
Trade-offs in Cloud Databases
MongoDB Er. Shiva K. Shrestha ME Computer, NCIT
NoSQL Database and Application
Modern Databases NoSQL and NewSQL
NOSQL.
CMPE 280 Web UI Design and Development October 17 Class Meeting
Introduction to NewSQL
NOSQL databases and Big Data Storage Systems
A Comparison of SQL and NoSQL Databases
NoSQL CPSC 4670/5670.
NoSQL Systems Overview (as of November 2011).
MongoDB Introduction, Installation & Execution
Massively Parallel Cloud Data Storage Systems
1 Demand of your DB is changing Presented By: Ashwani Kumar
NOSQL and CAP Theorem.
NoSQL Databases An Overview
File Systems and Databases
A Comparison of SQL and NoSQL Databases
Overview of big data tools
NoSQL W2013 CSCI 2141.
Database Systems Summary and Overview
H-store: A high-performance, distributed main memory transaction processing system Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alex.
NoSQL Sampath Jayarathna Cal Poly Pomona
Transaction Properties: ACID vs. BASE
Database Management Systems
Introduction to Data Science
Introduction to NoSQL Database Systems
CMPE 280 Web UI Design and Development March 14 Class Meeting
NoSQL Sampath Jayarathna Cal Poly Pomona
NoSQL & Document Stores
NoSQL databases An introduction and comparison between Mongodb and Mysql document store.
Working with GEOLocation Data
Pig Hive HBase Zookeeper
Presentation transcript:

A Comparison of SQL and NoSQL Databases Slides from: Keith W. Hare Metadata Open Forum More reading: http://martinfowler.com/articles/nosqlKeyPoints.html Metadata Open Forum

Abstract NoSQL databases (either no-SQL or Not Only SQL) are currently a hot topic in some parts of computing. In fact, one website lists over a hundred different NoSQL databases. This presentation reviews the features common to the NoSQL databases and compares those features to the features and capabilities of SQL databases. BIG DATA! 9 November 2018

9 November 2018

SQL Characteristics Data stored in rows, columns and tables Relationships represented by data Data Manipulation Language Data Definition Language Transactions Abstraction from physical layer 9 November 2018

SQL Physical Layer Abstraction Applications specify what, not how Query optimization engine Physical layer can change without modifying applications Create indexes to support queries In Memory databases 9 November 2018

Data Manipulation Language (DML) Data manipulated with Select, Insert, Update, & Delete statements Select T1.Column1, T2.Column2 … From Table1, Table2 … Where T1.Column1 = T2.Column1 … Data Aggregation Compound statements Functions and Procedures Explicit transaction control 9 November 2018

Data Definition Language Schema defined at the start Create Table (Column1 Datatype1, Column2 Datatype 2, …) Constraints to define and enforce relationships Primary Key Foreign Key Etc. Triggers to respond to Insert, Update , & Delete Stored Modules Alter … Drop … Security and Access Control 9 November 2018

Transactions – ACID Properties Atomic – All of the work in a transaction completes (commit) or none of it completes Consistent – A transaction transforms the database from one consistent state to another consistent state. Consistency is defined in terms of constraints. Isolated – The results of any changes made during a transaction are not visible until the transaction has committed. Durable – The results of a committed transaction survive failures 9 November 2018

NewSQL: real-time analytics ) SQL as the primary mechanism for application interaction 2) ACID support for transactions 3) A non-locking concurrency control mechanism so real-time reads will not conflict with writes, and thereby cause them to stall. 4) An architecture providing much higher per-node performance than available from the traditional "elephants” 5) A scale-out, shared-nothing architecture, capable of running on a large number of nodes without bottlenecking

NoSQL Definition 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. 9 November 2018

NoSQL Products/Projects http://www.nosql- database.org/ lists 122 NoSQL Databases Cassandra CouchDB Hadoop & Hbase MongoDB StupidDB Etc. 9 November 2018

NoSQL Products/Projects http://www.nosql- database.org/ lists 122 NoSQL Databases Cassandra CouchDB Hadoop & Hbase MongoDB StupidDB Etc. 9 November 2018

NoSQL Distinguishing Characteristics Large data volumes Google’s “big data” Scalable replication and distribution Potentially thousands of machines Potentially distributed around the world Queries need to return answers quickly Mostly query, few updates Asynchronous Inserts & Updates Schema-less ACID transaction properties are not needed – BASE CAP Theorem Open source development 9 November 2018

BASE Transactions Acronym contrived to be the opposite of ACID Basically Available, Soft state, Eventually Consistent Characteristics Weak consistency – stale data OK Availability first Best effort Approximate answers OK Aggressive (optimistic) Simpler and faster 9 November 2018

Brewer’s CAP Theorem A distributed system can support only two of the following characteristics: Consistency Availability Partition tolerance n theoretical computer science, the CAP theorem, also known as Brewer's theorem, states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:[1][2][3] Consistency (all nodes see the same data at the same time) – not the same as consistency in ACID Availability (a guarantee that every request receives a response about whether it was successful or failed) Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system) 9 November 2018

NoSQL Database Types Discussing NoSQL databases is complicated because there are a variety of types: Column Store – Each storage block contains data from only one column Document Store – stores documents made up of tagged elements Key-Value Store – Hash table of keys 9 November 2018

NoSQL Example: Column Store 9 November 20189 November 20189 November 20189 November 20189 November 20189 November 20189 November 2018 NoSQL Example: Column Store Each storage block contains data from only one column Example: Hadoop/Hbase http://hadoop.apache.org/ Yahoo, Facebook Example: Ingres VectorWise Column Store integrated with an SQL database http://www.ingres.com/products/vectorwise Metadata Open Forum

Column Store Comments More efficient than row (or document) store if: 9 November 20189 November 20189 November 20189 November 20189 November 20189 November 20189 November 2018 Column Store Comments More efficient than row (or document) store if: Multiple row/record/documents are inserted at the same time so updates of column blocks can be aggregated Retrievals access only some of the columns in a row/record/document Metadata Open Forum

Other Non-SQL Databases XML Databases Graph Databases Codasyl Databases Object Oriented Databases Etc… Will not address these today 9 November 2018

Storing and Modifying Data Syntax varies HTML Java Script Etc. Asynchronous – Inserts and updates do not wait for confirmation Versioned Optimistic Concurrency 9 November 2018

Retrieving Data Syntax Varies Application specifies retrieval path No set-based query language Procedural program languages such as Java, C, etc. Application specifies retrieval path No query optimizer Quick answer is important May not be a single “right” answer 9 November 2018

Open Source Small upfront software costs Suitable for large scale distribution on commodity hardware 9 November 2018

NoSQL Summary NoSQL databases reject: Programmer responsible for Overhead of ACID transactions “Complexity” of SQL Burden of up-front schema design Declarative query expression Yesterday’s technology Programmer responsible for Step-by-step procedural language Navigating access path 9 November 2018

Summary SQL Databases NoSQL Database 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 9 November 2018

Web References “NoSQL -- Your Ultimate Guide to the Non - Relational Universe!” http://nosql-database.org/links.html “NoSQL (RDBMS)” http://en.wikipedia.org/wiki/NoSQL PODC Keynote, July 19, 2000. Towards Robust. Distributed Systems. Dr. Eric A. Brewer. Professor, UC Berkeley. Co- Founder & Chief Scientist, Inktomi . www.eecs.berkeley.edu/~brewer/cs262b-2004/PODC- keynote.pdf “Brewer's CAP Theorem” posted by Julian Browne, January 11, 2009. http://www.julianbrowne.com/article/viewer/brewers- cap-theorem “How to write a CV” Geek & Poke Cartoon http://geekandpoke.typepad.com/geekandpoke/2011/01/nosql.h tml 9 November 2018

Web References “Exploring CouchDB: A document-oriented database for Web applications”, Joe Lennon, Software developer, Core International. http://www.ibm.com/developerworks/opensource/library/o s-couchdb/index.html “Graph Databases, NOSQL and Neo4j” Posted by Peter Neubauer on May 12, 2010  at: http://www.infoq.com/articles/graph-nosql-neo4j “Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison”, Kristóf Kovács. http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs- redis “Distinguishing Two Major Types of Column-Stores” Posted by Daniel Abadi onMarch 29, 2010 http://dbmsmusings.blogspot.com/2010/03/distinguishing- two-major-types-of_29.html 9 November 2018

Web References “MapReduce: Simplified Data Processing on Large Clusters”, Jeffrey Dean and Sanjay Ghemawat, December 2004. http://labs.google.com/papers/mapreduce.html “Scalable SQL”, ACM Queue, Michael Rys, April 19, 2011 http://queue.acm.org/detail.cfm?id=1971597 “a practical guide to noSQL”, Posted by Denise Miura on March 17, 2011 at http://blogs.marklogic.com/2011/03/17/a-practical-guide- to-nosql/ 9 November 2018