NoSQL, What it is and how our projects can benefit from it
-
Upload
heather-campbell -
Category
Technology
-
view
165 -
download
0
description
Transcript of NoSQL, What it is and how our projects can benefit from it
![Page 1: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/1.jpg)
NoSQL What it is and
how Our projects can benefit from it
![Page 2: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/2.jpg)
What this is Not ...
SQL
![Page 3: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/3.jpg)
What it is ...
![Page 4: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/4.jpg)
The Plan
Not Only SQL
Relational Love
Polyglot Persistence
The Range
![Page 5: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/5.jpg)
What is NoSQL?
![Page 6: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/6.jpg)
You have a Choice!
![Page 7: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/7.jpg)
It’s not just about ...
![Page 8: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/8.jpg)
Driving Forces
Volume Velocity Variety Cost
Agility Mismatch Productivity Availability
![Page 9: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/9.jpg)
Volume
My application need to be able
to handle large volumes of
data.
![Page 10: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/10.jpg)
Volume
Simple Horizontal Scaling
Automatic Sharding
Distributed Querying
![Page 11: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/11.jpg)
Velocity
My application needs to store and serve relevant information
to users in real-time to
provide a high-quality user experience
![Page 12: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/12.jpg)
Velocity
Distributed Load
Store as Used
Real-time Analytics
Integrated Caching
![Page 13: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/13.jpg)
Variety
My application needs to be able to handle market data from
multiple internal and external
systems each with its own
schema
![Page 14: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/14.jpg)
Variety
Handles Sparsely Populated Data
Well
Dynamic Schema
No need to define one schema for all
Easier integration of new system’s data
![Page 15: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/15.jpg)
Cost
We are a public sector organisation which need to
account to the local
community for our spending.
![Page 16: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/16.jpg)
Cost
Commodity Hardware
Open Source
Lower Support Fees
![Page 17: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/17.jpg)
![Page 18: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/18.jpg)
![Page 19: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/19.jpg)
Agility
My application's data models
need to be updated weekly
to keep pace with business
and market developments.
![Page 20: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/20.jpg)
Agility
Dynamic Schemas
OO Like Structures
Easy to Scale Out
![Page 21: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/21.jpg)
Productivity
My application deals with patient health records and I’m
finding it complex to model in my relational database.
![Page 22: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/22.jpg)
Productivity
Data Complex to Model in Relational
Easier to Adopt
Avoid Complex Reads/Writes
No Upfront Schema Design
![Page 23: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/23.jpg)
Mismatch
The team developing my
application are not database experts
![Page 24: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/24.jpg)
Mismatch
Store as Used
Familiar Formats
ORM Redundant
![Page 25: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/25.jpg)
Availability
My application is critical it needs
to be available 24 x 7. I can’t afford a lot of
downtime for upgrade.
![Page 26: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/26.jpg)
Availability
Dynamic Schema
Upgrade Without Downtime
Simple Replication
Simple Load Balancing
![Page 27: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/27.jpg)
Key Value
![Page 28: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/28.jpg)
Key Value
Familiar
Simple API
Just a BLOB
![Page 30: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/30.jpg)
The Good
Familiar
Simple to Build
Easy to Scale
Great Performance
X The Bad
XQueries
XComplex Data
XNo Schema
XNot ACID
![Page 31: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/31.jpg)
Uses
Media Stores
User profiles
User sessions
Shopping carts
![Page 32: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/32.jpg)
Document
![Page 33: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/33.jpg)
Vs
Document
{
name: “NoSQL”,
categories: [“document”,
“columnar”,
“graph”,
“key-value”]
}
![Page 34: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/34.jpg)
Examples
![Page 35: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/35.jpg)
The Good
No Mismatch
Productivity
Flexible Schema
Agile
Availability
X The Bad
X Querying
X Transactions
X Multiple Uses
X Responsibility
X Flexible Schema
![Page 36: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/36.jpg)
Uses • High Volume Data Feeds
• Customer Facing Dashboards
• News Sites/Blogs
![Page 37: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/37.jpg)
Graph
![Page 38: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/38.jpg)
Graph
Relations over Data
![Page 39: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/39.jpg)
![Page 41: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/41.jpg)
The Good
Relationships
Whiteboard
Graph Algorithms
Schema Free
Performance
Acid Transactions
X The Bad
XSpecialised
X Immature
XPartitioning
![Page 42: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/42.jpg)
Uses • Recommendations
• Social Networking
• Business Intelligence
• Fraud Detection
![Page 43: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/43.jpg)
Column Orientated
![Page 44: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/44.jpg)
Column Orientated
BigTable
Column, Column Families
Ragged
![Page 45: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/45.jpg)
Examples
![Page 46: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/46.jpg)
The Good
Aggregate Column
Fast lookups
Distributed storage
MapReduce
Write Loads
X The Bad
X API
X No Idea of Use
![Page 47: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/47.jpg)
Uses Large Deployments
Statistics & Analysis
![Page 48: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/48.jpg)
Polyglot Persistence
![Page 49: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/49.jpg)
Polyglot Persistence
![Page 50: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/50.jpg)
Don’t Dismiss Relational
![Page 51: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/51.jpg)
Use Relational
Transactions
Unsure
Flexibility
![Page 52: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/52.jpg)
Use Relational
Integrity
Standardisation
Tried & Tested
Knowledge
![Page 53: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/53.jpg)
Use Relational
Help
Tooling
Security & Compliance
The Hybrid
![Page 54: NoSQL, What it is and how our projects can benefit from it](https://reader033.fdocuments.us/reader033/viewer/2022060117/55856b3cd8b42a4c2c8b45d6/html5/thumbnails/54.jpg)
Questions???