No SQL is not about SQL No SQL is a Zoo.. Key-Value Stores Wide Column Stores Document Stores Graph Databases.

Slides:



Advertisements
Similar presentations
The NoSQL movement or the dawn of the post-relational age.
Advertisements

CS 440 Database Management Systems
2 Proprietary & Confidential What is Sharding Benefits of Sharding Alternatives of Sharding When to start Sharding Agenda.
Data Management in the Cloud Paul Szerlip. The rise of data Think about this o For the past two decades, the largest generator of data was humans -- now.
Jennifer Widom NoSQL Systems Overview (as of November 2011 )
By: Chris Hayes. Facebook Today, Facebook is the most commonly used social networking site for people to connect with one another online. People of all.
Reporter: Haiping Wang WAMDM Cloud Group
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
NoSQL Database.
CS 405G: Introduction to Database Systems 24 NoSQL Reuse some slides of Jennifer Widom Chen Qian University of Kentucky.
Massively Parallel Cloud Data Storage Systems S. Sudarshan IIT Bombay.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Distributed Data Stores and No SQL Databases S. Sudarshan IIT Bombay.
Titan Graph Database Meet Bhatt(13MCEC02).
AN INTRODUCTION TO NOSQL DATABASES Karol Rástočný, Eduard Kuric.
NoSQL for the SQL Server Pro
SQL vs NOSQL Discussion
Systems analysis and design, 6th edition Dennis, wixom, and roth
Distributed Data Stores and No SQL Databases S. Sudarshan Perry Hoekstra (Perficient) with slides pinched from various sources such as Perry Hoekstra (Perficient)
Getting Biologists off ACID Ryan Verdon 3/13/12. Outline Thesis Idea Specific database Effects of losing ACID What is a NoSQL database Types of NoSQL.
WTT Workshop de Tendências Tecnológicas 2014
Goodbye rows and tables, hello documents and collections.
Distributed Indexing of Web Scale Datasets for the Cloud {ikons, eangelou, Computing Systems Laboratory School of Electrical.
Why I LIKE the Facebook Database… Sharon Viente May 2010.
Modern Databases NoSQL and NewSQL Willem Visser RW334.
NoSQL Not Only SQL Edel Sherratt. What is NoSQL? Not Only SQL Large volumes of data No schema Partition tolerance – scale by adding more commodity servers.
Changwon Nati Univ. ISIE 2001 CSCI5708 NoSQL looks to become the database of the Internet By Lawrence Latif Wed Dec Nhu Nguyen and Phai Hoang CSCI.
Cloud Computing Clase 8 - NoSQL Miguel Johnny Matias
Methodological Foundations of Biomedical Informatics (BMSC-GA 4449) Himanshu Grover.
1 Dennis Kafura – CS5204 – Operating Systems Big Table: Distributed Storage System For Structured Data Sergejs Melderis 1.
Spatial Tajo Supporting Spatial Queries on Apache Tajo Slideshare Shorten URL : goo.gl/j0VLXpgoo.gl/j0VLXp.
Introduction to Hbase. Agenda  What is Hbase  About RDBMS  Overview of Hbase  Why Hbase instead of RDBMS  Architecture of Hbase  Hbase interface.
NoSQL Or Peles. What is NoSQL A collection of various technologies meant to work around RDBMS limitations (mostly performance) Not much of a definition...
Nov 2006 Google released the paper on BigTable.
NoSQL Systems Motivation. NoSQL: The Name  “SQL” = Traditional relational DBMS  Recognition over past decade or so: Not every data management/analysis.
NOSQL DATABASE Not Only SQL DATABASE
Grid Technology CERN IT Department CH-1211 Geneva 23 Switzerland t DBCF GT IT Monitoring WG Technology for Storage/Analysis 28 November 2011.
NoSQL: Graph Databases. Databases Why NoSQL Databases?
Introduction to MongoDB. Database compared.
1 HBASE – THE SCALABLE DATA STORE An Introduction to HBase XLDB Europe Workshop 2013: CERN, Geneva James Kinley EMEA Solutions Architect, Cloudera.
Data and Information Systems Laboratory University of Illinois Urbana-Champaign Data Mining Meeting Mar, From SQL to NoSQL Xiao Yu Mar 2012.
NoSQL databases A brief introduction NoSQL databases1.
Big Data Analytics with Excel Peter Myers Bitwise Solutions.
Context Aware RBAC Model For Wearable Devices And NoSQL Databases Amit Bansal Siddharth Pathak Vijendra Rana Vishal Shah Guided By: Dr. Csilla Farkas Associate.
Introduction to NoSQL Databases Chyngyz Omurov Osman Tursun Ceng,Middle East Technical University.
CS422 Principles of Database Systems Introduction to NoSQL Chengyu Sun California State University, Los Angeles.
Department of Computer Science, Johns Hopkins University EN Instructor: Randal Burns 24 September 2013 NoSQL Data Models and Systems.
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.
Big Data and The Data Warehouse. Everything is either ETL or storage, right?
Dive into NoSQL with Azure Niels Naglé Hylke Peek.
1 Gaurav Kohli Xebia Breaking with DBMS and Dating with Relational Hbase.
NoSQL: Graph Databases
CS 405G: Introduction to Database Systems
NO SQL for SQL DBA Dilip Nayak & Dan Hess.
NoSQL: Graph Databases
and Big Data Storage Systems
CS122B: Projects in Databases and Web Applications Winter 2017
NoSQL Database and Application
Modern Databases NoSQL and NewSQL
NOSQL.
Christian Stark and Odbayar Badamjav
NOSQL databases and Big Data Storage Systems
NoSQL Systems Overview (as of November 2011).
Massively Parallel Cloud Data Storage Systems
NOSQL and CAP Theorem.
NoSQL Databases Antonino Virgillito.
NoSQL Not Only SQL University of Kurdistan Faculty of Engineering
relational thoughts on NoSql
Polyglot Persistence: Document Databases
Presentation transcript:

No SQL is not about SQL

No SQL is a Zoo.. Key-Value Stores Wide Column Stores Document Stores Graph Databases

Why not Traditional RDBMs? Offer incredibly useful guarantees and have been battleworn and tested.

Referential Integrity

ACID Transactions

Update Inventory BEGIN TRANSACTION Update Products Set Inventory = Inventory Where ProductID = If (Select Inventory from Products Where ProductId = ) < 0 ROLLBACK TRANSACTION COMMIT TRANSACTION t

And SQL.. SQL is a powerful expressive DSL (Domain Specific Language) that many, many people understand.

So Why No SQL?

Web Scale

Web scale can be done in SQL

How? Vertical Part / Logical Sharding (Instagram) Caching (28 terabytes Facebook, 2008) SQL + No SQL Think about your Architect Want to learn more? Spend time on

But a reasonable question is.. How much time should we be devoting to managing scaling problems versus adding business value to these systems?

So what are we giving up?

A vailability C onsistency P artition tolerant MongoDB MySQL SQL Server Oracle RDBMs HBase (Hadoop) Google BigTable Dynamo Couch Cassandra Voldemort Redis SimpleDB CAP

FriendsWhoCook.com A social network of friends who enjoy cooking great food. -Add my Recipes -Add my friends -Show my friends -Like / Comment on my Friends Recipes -Search recipes of my friends, their friends, and so on by.

Problem 1: Store Recipes

Fairly Simple Object class Recipe { Image Photo List Comments List Ingredients List Likes Category RecipeCategory }

Becomes a complex RDBMess

Object-Relational Impedance Mismatch

No SQL: Document Store Data element is a document Documents grouped into collections Often store in JSON Works great with Domain Driven Design Schema-less

Document Store Examples MongoDB (PC) CouchDB (PA) RavenDB (PA)

DEMO: MongoDB

Demo: CouchDB

Problem 2: Model the Social Graph

Friends in RDBMS For a more sophisticated view of modeling graphs in an RDBMs:

Get my Friends int SELECT FirstDegreeProfile.ID, FirstDegreeProfile.FirstName, FirstDegreeProfile.LastName FROMProfile AS FirstDegreeProfile JOIN Friendship ON FirstDegreeProfile.ID = Friendship.FriendID WHERE Friendship.ProfileID

Friends and their friends int = 1 Select FirstDegreeFriendship.FriendId as MyFriendId, SecondDegreeProfile.ID as SecondDegreeId, SecondDegreeProfile.FirstName as SecondDegreeFirstName, SecondDegreeProfile.LastName as SecondDegreeLastName from Profile as SecondDegreeProfile Join Friendship as SecondDegreeFriendship ON SecondDegreeProfile.ID = SecondDegreeFriendship.FriendID join Friendship as FirstDegreeFriendship ON SecondDegreeFriendship.ProfileID = FirstDegreeFriendship.FriendID Where FirstDegreeFriendship.ProfileId /* Note: A much better solution would use a recursive CTE to compute transitive closure */

Graph Databases Optimized for graphs data Check out Neo4J

Problem 3: Schemaless / Big Data Facebook's Network: Credit Traud & Frost, UNC-Chapel Hill

How do we ask these questions? After we changed the like button icon for half of our users, did we get more or less likes from that sample? Of users who click on our ads, what pages did they spend the most time on? Which hidden patterns might make us competitive that we arent even aware of? Want to get far ahead of the pack? Read The Lean Startup by Eric Ries

Is this Actionable?

How about this?

Wide Column A Bigtable is a sparse, distributed, persistent multidimensional sorted map Source:

MapReduce Map(k,v) [(k 1, v 1 ), (k 2, v 2 ), (k 1, v 3 ), (k 3, v 4 )] Map(k, v) (list of intermediate key / value pairs) Internal Step: Takes list of intermediate key value pairs and converts to a key / list of values. Reduce(k, [v 1, v 2, v 3 …]) (k, n 1 ), (k, n 2 )

One Down Side… We have to have smart people write MapReduce programs and the problems need to be expressible as Map Reduce.. General solutions are BIG money.

Final thought: Big Data is BIG = ?

Things to Read Bigtable: A Distributed Storage System for Structured Data Dynamo: Amazons Highly Available Key-value Store MapReduce: Simplified Data Processing on Large Clusters The Google File System Towards Robust Distributed Systems gTable

Creative Commons Acknowledgments and Thanks! Bobwitlox rosipaw