NoSQL
It’s about making intelligent choices
The Relation Model
•

•
•
•
•
•
•
•
•

Simplicity and Elegance
Well Understood
Very Powerful Abstraction
Solve Many Storag...
Business Database
Issues With Implementing A Relational Database
•

Agility and Programmability (Impedance Mismatch)
• Flexibility
• Perform...
NoSQL Business Drivers
NoSQL
No SQL
Not Only SQL
Non-relational Database
Key/Value Store
Typical Usage
•

Image Stores
• Key-Based File Systems
• Object Cache
• Systems Designed to Scale
Key/Value Store
•

•
•
•

•
•

BerkeleyDB
LevelDB
Memcached
Project Voldemort
Redis
Riak
Document Database
Typical Usage
•

Web Crawler Results
• Big Data Problems That Can Relax Consistency Rules
Document Database
•

•
•
•

•

CouchDB
MongoDB
OrientDB
RavenDB
Terrastore
Column Family
Typical Usage
•

•
•
•

•

High-Variability Data
Document Search
Integration Hubs
Web Content Management
Publishing
Column Family
•

Amazon SimpleDB
• Cassandra
• Hbase
• HyperTable
Graph Database
Typical Usage
•

Social Networks
• Fraud Detection
• Relationship-Heavy Data
Graph Database
•

•
•
•

•

FlockDB
HyperGraphDB
InfiniteGraph
Neo4J
OrientDB
Common Features of NoSQL Databases
•

Designing Aggregations
•

•

Materializing Summary Data
•

•

Sharding

Improving Co...
NoSQL
Case Studies
LiveJournal’s Memcache
LiveJournal’s Memcache
•

Driver
•

•

Need to increase performance of database queries.

Finding
•

By using hashing and ...
Google’s MapReduce
MapReduce Example – Word Count
Google’s MapReduce
•

Driver
•

Need to index billions of web pages for search using low-cost
hardware.

• Finding
• By us...
Google BigTable
•

Driver
•

Need to flexibly store tabular data in a distributed system.

• Finding
• By using a sparse m...
Amazon’s Dynamo
Amazon’s Dynamo
•

Driver
•

Need to accept a web order 24 hours a day, 7 days a week.

• Finding
•

A key-value store wit...
Polyglot Persistence
Key Points
•

•

•

•

Relational databases have been a successful technology for twenty
years, providing persistence, con...
Key Points
•

•

•

The vital factor for a change in data storage was the need to support
large volumes of data by running...
Introduction to no sql database
Upcoming SlideShare
Loading in …5
×

Introduction to no sql database

702 views

Published on

Introduction to NoSQL database and polyglot persistence

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
702
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to no sql database

  1. 1. NoSQL It’s about making intelligent choices
  2. 2. The Relation Model • • • • • • • • • Simplicity and Elegance Well Understood Very Powerful Abstraction Solve Many Storage Problem (Persistent Data) Concurrency Integration A Mostly Standard Model … But It also has its Limitation…
  3. 3. Business Database
  4. 4. Issues With Implementing A Relational Database • Agility and Programmability (Impedance Mismatch) • Flexibility • Performance and Scalability • Availability
  5. 5. NoSQL Business Drivers
  6. 6. NoSQL No SQL Not Only SQL Non-relational Database
  7. 7. Key/Value Store
  8. 8. Typical Usage • Image Stores • Key-Based File Systems • Object Cache • Systems Designed to Scale
  9. 9. Key/Value Store • • • • • • BerkeleyDB LevelDB Memcached Project Voldemort Redis Riak
  10. 10. Document Database
  11. 11. Typical Usage • Web Crawler Results • Big Data Problems That Can Relax Consistency Rules
  12. 12. Document Database • • • • • CouchDB MongoDB OrientDB RavenDB Terrastore
  13. 13. Column Family
  14. 14. Typical Usage • • • • • High-Variability Data Document Search Integration Hubs Web Content Management Publishing
  15. 15. Column Family • Amazon SimpleDB • Cassandra • Hbase • HyperTable
  16. 16. Graph Database
  17. 17. Typical Usage • Social Networks • Fraud Detection • Relationship-Heavy Data
  18. 18. Graph Database • • • • • FlockDB HyperGraphDB InfiniteGraph Neo4J OrientDB
  19. 19. Common Features of NoSQL Databases • Designing Aggregations • • Materializing Summary Data • • Sharding Improving Consistency • • Clusters Improving Scalability and Reducing Network Latency • • Map/Reduce Implementing High Availability • • An aggregate in a NoSQL database is similar to a row in a table in a relational database Data Versioning Schemas and Non-Uniformity
  20. 20. NoSQL Case Studies
  21. 21. LiveJournal’s Memcache
  22. 22. LiveJournal’s Memcache • Driver • • Need to increase performance of database queries. Finding • By using hashing and caching, data in RAM can be shared. This cuts down the number of read requests sent to the database, increasing performance.
  23. 23. Google’s MapReduce
  24. 24. MapReduce Example – Word Count
  25. 25. Google’s MapReduce • Driver • Need to index billions of web pages for search using low-cost hardware. • Finding • By using parallel processing, indexing billions of web pages can be done quickly with a large number of commodity processors.
  26. 26. Google BigTable • Driver • Need to flexibly store tabular data in a distributed system. • Finding • By using a sparse matrix approach, users can think of all data as being stored in a single table with billions of rows and millions of columns without the need for up-front data modeling.
  27. 27. Amazon’s Dynamo
  28. 28. Amazon’s Dynamo • Driver • Need to accept a web order 24 hours a day, 7 days a week. • Finding • A key-value store with a simple interface can be replicated even when there are large volumes of data to be processed.
  29. 29. Polyglot Persistence
  30. 30. Key Points • • • • Relational databases have been a successful technology for twenty years, providing persistence, concurrency control, and an integration mechanism. Application developers have been frustrated with the impedance mismatch between the relational model and the in-memory data structures. There is a movement away from using databases as integration points towards encapsulating databases within applications and integrating through services. The most important result of the rise of NoSQL is Polyglot Persistence.
  31. 31. Key Points • • • The vital factor for a change in data storage was the need to support large volumes of data by running on clusters. Relational databases are not designed to run efficiently on clusters. NoSQL is an accidental neologism. There is no prescriptive definition—all you can make is an observation of common characteristics. The common characteristics of NoSQL databases are • • • • • Not using the relational model Running well on clusters Open Source Built for the 21st century web estates Schemaless

×