NoSQL
Not Only SQL
Some NoSQL implementation/strategies
do have a query language
do have a query language
Why?
"Web-scale"
-
Volume of user data
- Frequency of access
- Types of data
- Flexibility
Generally
- Simpler design
- Schema-less
- Not table based
- Horizontally scalable
- Lack Transactions
Types
- Column
- Queries over huge datasets
- Stores columns of data rather than rows
- Document
- think JSON
- Key-Value
- Some support more complex values
- Graph
- Store network information
- Social connections
Scenarios
- Provide caching
- Agile application lifecycle
- Performance
- Simplicity
- Cost
Caching
"Mix and Match"
- One size fits all does not exist
- If you think it does, you're wrong
- Uses a relational backend
-
Caches in NoSQL on the front end
Agile
-
Schema-less
- Changing requirements
- Changing design
- Schema Updates
- Data Migration
Performance
"You know your application"
- Store your data that way
Simplicity
- Simple data structures
- Config flat file
- Replication
- Sharding
Cost
- Commodity hardware
- scale horizontally
- less resource intensive
- Free, Open Source software
Use Cases
- MongoDB
- great general database
- Queryable
- Redis
- great for caching
- key/value
- pub/sub
- CouchDB
- HTTP interactions
- Map/Reduce
MongoDB
NoSQL
By Ryan Hirsch
NoSQL
- 834