+ All Categories
Home > Education > Introduction to no sql database

Introduction to no sql database

Date post: 27-Jan-2015
Category:
Upload: heman-hosainpana
View: 133 times
Download: 1 times
Share this document with a friend
Description:
Introduction to NoSQL database and polyglot persistence
Popular Tags:
32
NoSQL It’s about making intelligent choices
Transcript
Page 1: Introduction to no sql database

NoSQLIt’s about making intelligent

choices

Page 2: Introduction to no sql database
Page 3: Introduction to no sql database

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…

Page 4: Introduction to no sql database

Business Database

Page 5: Introduction to no sql database

Issues With Implementing A Relational Database• Agility and Programmability (Impedance Mismatch)• Flexibility• Performance and Scalability• Availability

Page 6: Introduction to no sql database

NoSQL Business Drivers

Page 7: Introduction to no sql database

NoSQLNo SQL

Not Only SQLNon-relational Database

Page 8: Introduction to no sql database

Key/Value Store

Page 9: Introduction to no sql database

Typical Usage

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

Page 10: Introduction to no sql database

Key/Value Store

• BerkeleyDB• LevelDB• Memcached• Project Voldemort• Redis• Riak

Page 11: Introduction to no sql database

Document Database

Page 12: Introduction to no sql database

Typical Usage

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

Page 13: Introduction to no sql database

Document Database

• CouchDB• MongoDB• OrientDB• RavenDB• Terrastore

Page 14: Introduction to no sql database

Column Family

Page 15: Introduction to no sql database

Typical Usage

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

Page 16: Introduction to no sql database

Column Family

• Amazon SimpleDB• Cassandra• Hbase• HyperTable

Page 17: Introduction to no sql database

Graph Database

Page 18: Introduction to no sql database

Typical Usage

• Social Networks• Fraud Detection• Relationship-Heavy Data

Page 19: Introduction to no sql database

Graph Database

• FlockDB• HyperGraphDB• InfiniteGraph• Neo4J• OrientDB

Page 20: Introduction to no sql database

Common Features of NoSQL Databases

• Designing Aggregations• An aggregate in a NoSQL database is similar to a row in a

table in a relational database

• Materializing Summary Data• Map/Reduce

• Implementing High Availability • Clusters

• Improving Scalability and Reducing Network Latency• Sharding

• Improving Consistency• Data Versioning

• Schemas and Non-Uniformity

Page 21: Introduction to no sql database

NoSQLCase Studies

Page 22: Introduction to no sql database

LiveJournal’s Memcache

Page 23: Introduction to no sql database

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.

Page 24: Introduction to no sql database

Google’s MapReduce

Page 25: Introduction to no sql database

MapReduce Example – Word Count

Page 26: Introduction to no sql database

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.

Page 27: Introduction to no sql database

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.

Page 28: Introduction to no sql database

Amazon’s Dynamo

Page 29: Introduction to no sql database

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.

Page 30: Introduction to no sql database

Polyglot Persistence

Page 31: Introduction to no sql database

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.

Page 32: Introduction to no sql database

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


Recommended