SlideShare a Scribd company logo
September 19, 2013
Speaker: David Wolfe
Topics
What is SQL? What is NoSQL?
 Why have relational databases been
successful?
 Why did NoSQL databases emerge?
 How are their data models different?

SQL & relational databases
Relational databases are software
applications that store data
 Data is stored in tables that have rows &
columns : think excel spreadsheets


FirstName LastName Age

Zipcode

Gender

Bob

Smith

45

38444

M

Jane

Happy

23

15122

F

Fred

Jones

55

92102

M

Johnny

Appleseed

26

90025

M
SQL & relational databases


Relational databases typically have
many tables that are “related” to one
another
SQL & relational databases
Relational databases support access to
data in tables through a language called
“SQL” – Structured Query Language
 SQL supports “set” based operations on
tables – selection, projection, joining




SQL is based on relational algebra
SQL & relational databases
Relational databases were developed in
the late 1970s at IBM
 They have been the dominant approach
to data management in the enterprise
through the early 2000’s
 Examples include







Oracle
Sybase
MySQL
Postgress
NoSQL databases
NoSQL are software applications that
store data
 They, not surprisingly, do not use SQL or
the relational model (interrelated tables)
 They are “less strict” about data
definition
 They were developed in a “big-data”
world for applications needing massive
scalability (clustering)

NoSQL databases


There are many types of NoSQL
databases

We will review the differences later
RDBMS value - persistence
During the 90’s and 2000’s as pc’s
became ubiquitous, distributed
computing took off.
 In the 1990’s, client-server and n-tier
architectures dominated enterprise
development
 The late 90’s and 2000’s saw the
dominance of the web and distributed
applications that broke out of enterprise

RDBMS value - persistence


In this distributed world where
applications needed to keep data
around for
 Many users

 Extended periods

RDBMS emerged as the defacto choice for
persisting data.
RDBMS value - concurrency


Another challenge that distributed
applications presented was
concurrency:
 many users viewing and potentially updating

the same data at the same time

Concurrency is notoriously difficult to
get right for even the best engineers.
 Relational databases “helped” by
controlling data access with transactions

RDBMS value - integration


Enterprise application eco-systems
necessitate multiple integrated software
applications. Example
 Customer Service app

 Biz Intel app
 E-Commerce app
 Inventory management apps



Common approach was to use a shared
rdbms database integration approach.
RDBMS value – SQL
RDBMS providers all supported a core
SQL standard
 In theory this would allow developers to
switch reliance on different RDBMS
providers without problems
 In fact, different providers (Oracle,
Sybase, Microsoft) developed different
“dialects” or SQL extensions (pl SQL vs.
T-SQL)

Crack #1– impedance mismatch


Impedance mismatch is the difference
between the relational model and inmemory data structures
Crack #1– impedance mismatch
In the late 1990s people believed that
impedance mismatch would lead to
RDBMS being replaced by databases
that replicated in-memory structures to
disk (OODBMS)
 While the 1990s saw the rise of OO
programming languages, OODBMS
never took gained real traction

Crack #1– impedance mismatch


OODBMS didn’t gain traction because
 Impedance mismatch had been made easier

to deal with by Object-Relational (OR)
mapping frameworks like Hibernate, iBatis,
& Cocoon
 There was a growing professional divide
between application developers and
database administrators
 The value of RDBMS as an app integration
mechanism was large
Crack #2– SOA
The 2000’s saw a shift in how enterprise
applications interacted
 Historically, many applications interacted
through a shared RDBMS.
 This approach – shared integration
RDBMS – has serious problems


 Overly complex schema
 Cant change tables or add indices easily
 Database has to preserve integrity
Crack #2– SOA
Interactions between applications shifted
to web-services
 Web-services constituted protocols for
moving documents (XML, JSON) over
HTTP using SOAP or REST based
approaches
 SOA allowed applications to
encapsulate data and expose it through
services

The Final Crack #3– Clusters
The internet saw several large web
properties dramatically increase in scale
 Websites started tracking activity and
structure in a very detailed way









Social gestures
Social links
Log data
Purchase gestures

Increasing numbers of users appeared
using more devices
The Final Crack #3– Clusters
The problem with scaling out (clustering)
is that RDBMS are not designed to run
on clusters.
 Oracle RAC & MS SQL Server all use
the concept of a shared disk sub-system


 Still single point of failure and scaling

limitation


The final crack – mismatch between
RDBMS & clusters
NoSQL Emergence


The emergence of NoSQL was really
about needing databases that run on
clusters




One exception is Graph databases

Though problems with shared database
integration and impedance mismatch
existed, it was the need for scale that
drove the emergence of NoSQL
databases
Aggregate Data Models
A key characteristic of NoSQL
databases is that they do not use the
Relational data metamodel (relations &
tuples)
 There are four types of data
metamodels in the NoSQL eco-system







Key-value
Document
Column-family
Graph
Aggregate Data Models


Key-value, document, and columnfamily NoSQL databases share a
common characteristic of their data
models called “aggregate orientation”


We ill not cover graph based data metamodels in this presentation
Aggregates
The relational model takes information
you want to store and divides it into
rows.
 Rows are lists of simple data values.
 Rows are the unit of data operation
 Aggregate orientation recognizes that
often times data units can be more
complex and can have nested lists and
record structures

Aggregates







The relational model takes information you
want to store and divides it into rows.
In RDBMS rows are lists of simple data
values.
In RDBMS rows are the unit of data
operation
Aggregate orientation recognizes that often
times data units can be more complex and
can have nested lists and record structures
With Aggregates, aggregates are the unit
of data operation
Relational Data Example
Aggregate Data Example
Consequences of Aggregate
Orientation
Relations capture data elements and
relations, but not aggregates.
 Aggregates are really “chunks” of data
that are typically retrieved and operated
on as an interaction unit.
 Aggregates are about how the data is
being used.
 RDBMS do not have knowledge of
aggregate structure and cant use it to
store and distribute data

Consequences of Aggregate
Orientation
So, RDBMS are aggregate-ignorant. Is
that a bad or good thing? Its both
 Its good if you need to access and use
the data in many different ways – if you
don’t have a primary structure for
manipulating your data
 Its bad if you want to run on a cluster.
 Aggregates are great on clusters
because you can distribute them across
nodes

Consequences of Aggregate
Orientation
Aggregate orientation allows you to
operate many logical data items (in the
aggregate) by updating the aggregate
atomically
 Aggregate oriented NoSQL databases
can be said to support transactions on
single aggregates, but not across
aggregates

Key-Value & Document Data
Models
Both types of databases have a key or
Id that is mapped to an aggregate data
structure in a virtual table
 With key-value NoSQL dbs, we can only
access the aggregate by looking up its
key
 With document databases we can also
look up aggregates by fields in the
aggregate

Key-Value & Document Data
Models


Examples of Key-Value NoSQL dbs are
 Redis



Examples of Document NoSQL dbs are
 Mongodb
 Couchbase
 SimpleDB
Column-Family Data Models
These NoSQL databases where
influenced by Google’s BigTable
 The Columnar is a two-level aggregate
structure


 There is a key (row identifier) that maps to

the aggregate of interest
 The aggregate is a map of more detailed
values – these are referred to as columns
Column-Family Data Models
Column-Family Data Models
Column-family dbs organize columns
into families
 The data is row-oriented


 Each row is an aggregate (eg. Customer

with id 1234)


The data is column-oriented
 Each column family defines a record type

(customer profile)


But, columns can also be dynamic and
unique (to model lists)
Column-Family Data Models


Examples of Column-Family NoSQL dbs
are
 Hbase
 Cassandra
Polyglot Persistence
The future?
 Only NoSQL?
 Only SQL?


Probably both – Polyglot Persistence

More Related Content

What's hot

A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQLA STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
ijscai
 
Data models
Data modelsData models
Data models
Usman Tariq
 
02010 ppt ch02
02010 ppt ch0202010 ppt ch02
02010 ppt ch02
Alfred Agno
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
Trinath
 
METS
METSMETS
Lecture#5
Lecture#5Lecture#5
Database systems introduction
Database systems introductionDatabase systems introduction
Database systems introduction
Balasingham Karthiban
 
An Ontology for K-12 Education and the NIEM
An Ontology for K-12 Education and the NIEMAn Ontology for K-12 Education and the NIEM
An Ontology for K-12 Education and the NIEM
Optum
 
Data base management system
Data base management systemData base management system
Data base management systemNavneet Jingar
 
NOSQL Database Engines for Big Data Management
NOSQL Database Engines for Big Data ManagementNOSQL Database Engines for Big Data Management
NOSQL Database Engines for Big Data Management
ijtsrd
 
Data resource management
Data resource managementData resource management
Data resource management
Nirajan Silwal
 
Database management systems
Database management systemsDatabase management systems
Database management systems
Ravindra Singh Gohil
 
NoSQL_Databases
NoSQL_DatabasesNoSQL_Databases
NoSQL_DatabasesRick Perry
 
Comparative study of relational and non relations database performances using...
Comparative study of relational and non relations database performances using...Comparative study of relational and non relations database performances using...
Comparative study of relational and non relations database performances using...
IAEME Publication
 
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Usman Tariq
 
data modeling and models
data modeling and modelsdata modeling and models
data modeling and models
sabah N
 
Modern database management system chapter 1
Modern database management system chapter 1Modern database management system chapter 1
Modern database management system chapter 1
AyeshaShoukat5
 

What's hot (18)

A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQLA STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
 
Mest
MestMest
Mest
 
Data models
Data modelsData models
Data models
 
02010 ppt ch02
02010 ppt ch0202010 ppt ch02
02010 ppt ch02
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
 
METS
METSMETS
METS
 
Lecture#5
Lecture#5Lecture#5
Lecture#5
 
Database systems introduction
Database systems introductionDatabase systems introduction
Database systems introduction
 
An Ontology for K-12 Education and the NIEM
An Ontology for K-12 Education and the NIEMAn Ontology for K-12 Education and the NIEM
An Ontology for K-12 Education and the NIEM
 
Data base management system
Data base management systemData base management system
Data base management system
 
NOSQL Database Engines for Big Data Management
NOSQL Database Engines for Big Data ManagementNOSQL Database Engines for Big Data Management
NOSQL Database Engines for Big Data Management
 
Data resource management
Data resource managementData resource management
Data resource management
 
Database management systems
Database management systemsDatabase management systems
Database management systems
 
NoSQL_Databases
NoSQL_DatabasesNoSQL_Databases
NoSQL_Databases
 
Comparative study of relational and non relations database performances using...
Comparative study of relational and non relations database performances using...Comparative study of relational and non relations database performances using...
Comparative study of relational and non relations database performances using...
 
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
Data Models [DATABASE SYSTEMS: Design, Implementation, and Management]
 
data modeling and models
data modeling and modelsdata modeling and models
data modeling and models
 
Modern database management system chapter 1
Modern database management system chapter 1Modern database management system chapter 1
Modern database management system chapter 1
 

Similar to No sql – rise of the clusters

DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxDATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
Laxmi Pandya
 
data base system to new data science lerne
data base system to new data science lernedata base system to new data science lerne
data base system to new data science lerne
tarunprajapati0t
 
CS828 P5 Individual Project v101
CS828 P5 Individual Project v101CS828 P5 Individual Project v101
CS828 P5 Individual Project v101ThienSi Le
 
Module-1.pptx63.pptx
Module-1.pptx63.pptxModule-1.pptx63.pptx
Module-1.pptx63.pptx
Shrinivasa6
 
Unit-10.pptx
Unit-10.pptxUnit-10.pptx
Unit-10.pptx
GhanashyamBK1
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
Prakash Zodge
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
Ramakant Soni
 
NOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfNOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdf
ajajkhan16
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
Shamima Yeasmin Mukta
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sql
Ram kumar
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
IJCSEA Journal
 
No sq lv2
No sq lv2No sq lv2
No sq lv2
Nusrat Sharmin
 
Report 1.0.docx
Report 1.0.docxReport 1.0.docx
Report 1.0.docx
pinstechwork
 
Nosql
NosqlNosql
Nosql
ROXTAD71
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
Suvradeep Rudra
 
Report 2.0.docx
Report 2.0.docxReport 2.0.docx
Report 2.0.docx
pinstechwork
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx
RushikeshChikane2
 

Similar to No sql – rise of the clusters (20)

DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxDATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
 
data base system to new data science lerne
data base system to new data science lernedata base system to new data science lerne
data base system to new data science lerne
 
CS828 P5 Individual Project v101
CS828 P5 Individual Project v101CS828 P5 Individual Project v101
CS828 P5 Individual Project v101
 
Module-1.pptx63.pptx
Module-1.pptx63.pptxModule-1.pptx63.pptx
Module-1.pptx63.pptx
 
Unit-10.pptx
Unit-10.pptxUnit-10.pptx
Unit-10.pptx
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
NOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfNOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdf
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sql
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
 
Nosql
NosqlNosql
Nosql
 
NoSQL
NoSQLNoSQL
NoSQL
 
No sq lv2
No sq lv2No sq lv2
No sq lv2
 
Report 1.0.docx
Report 1.0.docxReport 1.0.docx
Report 1.0.docx
 
Nosql
NosqlNosql
Nosql
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
Report 2.0.docx
Report 2.0.docxReport 2.0.docx
Report 2.0.docx
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx
 
No sql database
No sql databaseNo sql database
No sql database
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 

No sql – rise of the clusters

  • 2. Topics What is SQL? What is NoSQL?  Why have relational databases been successful?  Why did NoSQL databases emerge?  How are their data models different? 
  • 3.
  • 4. SQL & relational databases Relational databases are software applications that store data  Data is stored in tables that have rows & columns : think excel spreadsheets  FirstName LastName Age Zipcode Gender Bob Smith 45 38444 M Jane Happy 23 15122 F Fred Jones 55 92102 M Johnny Appleseed 26 90025 M
  • 5. SQL & relational databases  Relational databases typically have many tables that are “related” to one another
  • 6. SQL & relational databases Relational databases support access to data in tables through a language called “SQL” – Structured Query Language  SQL supports “set” based operations on tables – selection, projection, joining   SQL is based on relational algebra
  • 7. SQL & relational databases Relational databases were developed in the late 1970s at IBM  They have been the dominant approach to data management in the enterprise through the early 2000’s  Examples include      Oracle Sybase MySQL Postgress
  • 8.
  • 9. NoSQL databases NoSQL are software applications that store data  They, not surprisingly, do not use SQL or the relational model (interrelated tables)  They are “less strict” about data definition  They were developed in a “big-data” world for applications needing massive scalability (clustering) 
  • 10. NoSQL databases  There are many types of NoSQL databases We will review the differences later
  • 11.
  • 12. RDBMS value - persistence During the 90’s and 2000’s as pc’s became ubiquitous, distributed computing took off.  In the 1990’s, client-server and n-tier architectures dominated enterprise development  The late 90’s and 2000’s saw the dominance of the web and distributed applications that broke out of enterprise 
  • 13. RDBMS value - persistence  In this distributed world where applications needed to keep data around for  Many users  Extended periods RDBMS emerged as the defacto choice for persisting data.
  • 14. RDBMS value - concurrency  Another challenge that distributed applications presented was concurrency:  many users viewing and potentially updating the same data at the same time Concurrency is notoriously difficult to get right for even the best engineers.  Relational databases “helped” by controlling data access with transactions 
  • 15. RDBMS value - integration  Enterprise application eco-systems necessitate multiple integrated software applications. Example  Customer Service app  Biz Intel app  E-Commerce app  Inventory management apps  Common approach was to use a shared rdbms database integration approach.
  • 16. RDBMS value – SQL RDBMS providers all supported a core SQL standard  In theory this would allow developers to switch reliance on different RDBMS providers without problems  In fact, different providers (Oracle, Sybase, Microsoft) developed different “dialects” or SQL extensions (pl SQL vs. T-SQL) 
  • 17.
  • 18. Crack #1– impedance mismatch  Impedance mismatch is the difference between the relational model and inmemory data structures
  • 19. Crack #1– impedance mismatch In the late 1990s people believed that impedance mismatch would lead to RDBMS being replaced by databases that replicated in-memory structures to disk (OODBMS)  While the 1990s saw the rise of OO programming languages, OODBMS never took gained real traction 
  • 20. Crack #1– impedance mismatch  OODBMS didn’t gain traction because  Impedance mismatch had been made easier to deal with by Object-Relational (OR) mapping frameworks like Hibernate, iBatis, & Cocoon  There was a growing professional divide between application developers and database administrators  The value of RDBMS as an app integration mechanism was large
  • 21. Crack #2– SOA The 2000’s saw a shift in how enterprise applications interacted  Historically, many applications interacted through a shared RDBMS.  This approach – shared integration RDBMS – has serious problems   Overly complex schema  Cant change tables or add indices easily  Database has to preserve integrity
  • 22. Crack #2– SOA Interactions between applications shifted to web-services  Web-services constituted protocols for moving documents (XML, JSON) over HTTP using SOAP or REST based approaches  SOA allowed applications to encapsulate data and expose it through services 
  • 23. The Final Crack #3– Clusters The internet saw several large web properties dramatically increase in scale  Websites started tracking activity and structure in a very detailed way       Social gestures Social links Log data Purchase gestures Increasing numbers of users appeared using more devices
  • 24. The Final Crack #3– Clusters The problem with scaling out (clustering) is that RDBMS are not designed to run on clusters.  Oracle RAC & MS SQL Server all use the concept of a shared disk sub-system   Still single point of failure and scaling limitation  The final crack – mismatch between RDBMS & clusters
  • 25. NoSQL Emergence  The emergence of NoSQL was really about needing databases that run on clusters   One exception is Graph databases Though problems with shared database integration and impedance mismatch existed, it was the need for scale that drove the emergence of NoSQL databases
  • 26.
  • 27. Aggregate Data Models A key characteristic of NoSQL databases is that they do not use the Relational data metamodel (relations & tuples)  There are four types of data metamodels in the NoSQL eco-system      Key-value Document Column-family Graph
  • 28. Aggregate Data Models  Key-value, document, and columnfamily NoSQL databases share a common characteristic of their data models called “aggregate orientation”  We ill not cover graph based data metamodels in this presentation
  • 29. Aggregates The relational model takes information you want to store and divides it into rows.  Rows are lists of simple data values.  Rows are the unit of data operation  Aggregate orientation recognizes that often times data units can be more complex and can have nested lists and record structures 
  • 30. Aggregates      The relational model takes information you want to store and divides it into rows. In RDBMS rows are lists of simple data values. In RDBMS rows are the unit of data operation Aggregate orientation recognizes that often times data units can be more complex and can have nested lists and record structures With Aggregates, aggregates are the unit of data operation
  • 33. Consequences of Aggregate Orientation Relations capture data elements and relations, but not aggregates.  Aggregates are really “chunks” of data that are typically retrieved and operated on as an interaction unit.  Aggregates are about how the data is being used.  RDBMS do not have knowledge of aggregate structure and cant use it to store and distribute data 
  • 34. Consequences of Aggregate Orientation So, RDBMS are aggregate-ignorant. Is that a bad or good thing? Its both  Its good if you need to access and use the data in many different ways – if you don’t have a primary structure for manipulating your data  Its bad if you want to run on a cluster.  Aggregates are great on clusters because you can distribute them across nodes 
  • 35. Consequences of Aggregate Orientation Aggregate orientation allows you to operate many logical data items (in the aggregate) by updating the aggregate atomically  Aggregate oriented NoSQL databases can be said to support transactions on single aggregates, but not across aggregates 
  • 36. Key-Value & Document Data Models Both types of databases have a key or Id that is mapped to an aggregate data structure in a virtual table  With key-value NoSQL dbs, we can only access the aggregate by looking up its key  With document databases we can also look up aggregates by fields in the aggregate 
  • 37. Key-Value & Document Data Models  Examples of Key-Value NoSQL dbs are  Redis  Examples of Document NoSQL dbs are  Mongodb  Couchbase  SimpleDB
  • 38. Column-Family Data Models These NoSQL databases where influenced by Google’s BigTable  The Columnar is a two-level aggregate structure   There is a key (row identifier) that maps to the aggregate of interest  The aggregate is a map of more detailed values – these are referred to as columns
  • 40. Column-Family Data Models Column-family dbs organize columns into families  The data is row-oriented   Each row is an aggregate (eg. Customer with id 1234)  The data is column-oriented  Each column family defines a record type (customer profile)  But, columns can also be dynamic and unique (to model lists)
  • 41. Column-Family Data Models  Examples of Column-Family NoSQL dbs are  Hbase  Cassandra
  • 42. Polyglot Persistence The future?  Only NoSQL?  Only SQL?  Probably both – Polyglot Persistence