Download - Introduction to no sql database
![Page 1: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/1.jpg)
NoSQLIt’s about making intelligent
choices
![Page 2: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/2.jpg)
![Page 3: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/3.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/4.jpg)
Business Database
![Page 5: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/5.jpg)
Issues With Implementing A Relational Database• Agility and Programmability (Impedance Mismatch)• Flexibility• Performance and Scalability• Availability
![Page 6: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/6.jpg)
NoSQL Business Drivers
![Page 7: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/7.jpg)
NoSQLNo SQL
Not Only SQLNon-relational Database
![Page 8: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/8.jpg)
Key/Value Store
![Page 9: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/9.jpg)
Typical Usage
• Image Stores• Key-Based File Systems• Object Cache• Systems Designed to Scale
![Page 10: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/10.jpg)
Key/Value Store
• BerkeleyDB• LevelDB• Memcached• Project Voldemort• Redis• Riak
![Page 11: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/11.jpg)
Document Database
![Page 12: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/12.jpg)
Typical Usage
• Web Crawler Results• Big Data Problems That Can Relax Consistency Rules
![Page 13: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/13.jpg)
Document Database
• CouchDB• MongoDB• OrientDB• RavenDB• Terrastore
![Page 14: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/14.jpg)
Column Family
![Page 15: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/15.jpg)
Typical Usage
• High-Variability Data• Document Search• Integration Hubs• Web Content Management• Publishing
![Page 16: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/16.jpg)
Column Family
• Amazon SimpleDB• Cassandra• Hbase• HyperTable
![Page 17: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/17.jpg)
Graph Database
![Page 18: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/18.jpg)
Typical Usage
• Social Networks• Fraud Detection• Relationship-Heavy Data
![Page 19: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/19.jpg)
Graph Database
• FlockDB• HyperGraphDB• InfiniteGraph• Neo4J• OrientDB
![Page 20: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/20.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/21.jpg)
NoSQLCase Studies
![Page 22: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/22.jpg)
LiveJournal’s Memcache
![Page 23: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/23.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/24.jpg)
Google’s MapReduce
![Page 25: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/25.jpg)
MapReduce Example – Word Count
![Page 26: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/26.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/27.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/28.jpg)
Amazon’s Dynamo
![Page 29: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/29.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/30.jpg)
Polyglot Persistence
![Page 31: Introduction to no sql database](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/31.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051014/54c6f67f4a795937038b459f/html5/thumbnails/32.jpg)
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