Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

Fahad Maqbool

Assistant Professor
Department of Computer Science, University of Sargodha
NoSQL: Not Only SQL
• Common Traits
• Non Relational
• Not Standard Row & Column Type RDBMS

• Designed to handle a different breed of scale.


• Big Data
• Large Number of Concurrent Users
NoSQL Advantages
• Can be used as Primary or Analytic Data Source
• No Single Point of Failure / Easy Replication
• It provides fast performance and horizontal scalability.
• Can handle structured, semi-structured, and unstructured data with equal effect
• NoSQL databases don’t need a dedicated high-performance server
• Support Key Developer Languages and Platforms
• Simple to implement than using RDBMS
• Handles big data which manages data velocity, variety, volume, and complexity
• Excels at distributed database and multi-data center operations
NoSQL: DisAdvantages
• No standardization rules
• Limited query capabilities
• RDBMS databases and tools are comparatively mature
• It does not offer any traditional database capabilities, like consistency
when multiple transactions are performed simultaneously.
• When the volume of data increases it is difficult to maintain unique
values as keys become difficult
• Doesn’t work as well with relational data
• Open source options so not so popular for enterprises.
Key – Value
Key-Value Databases
• Suitable
• Simple
• Represented using hashmaps
• Suitable for dictionary operations
• Scalable
• Easily distributable
• Non Suitable
• Complex Queries
• Opaque value blobs - Less flexible data indexing & querying
Key-Value Use Cases
• Suitable
• Storing/Retrieving Session Information
• Storing user profiles and preferences within an application

• Non Suitable
• Interconnected data with many-to-many relationships
• Social Networks
• Recommendation Systems
• High-Level Consistency Requirements
• Queries based on values rather than keys
Column Databases
Column Databases
• Suitable
• Columns often accessed together
• Sparse Data
• Horizontal Scalability
• Web Logs and Blogs
• Counters
• TTL Parameters
• Not Suitable
• ACID Transactions
Document Databases
Document Databases
• Suitable
• Values are visible and can be queried
• No two documents need to contain the same information
• Typically XML or JSON
• Each piece of data is a document
• Horizontally Scalable
• Analytical Queries with MapReduce
Document Use Cases
• Suitable
• Event Logging for Apps – Each Event is logged as a separate document.
• Online Blogs – Users, Posts, Comments, etc.
• Suitable for operational datasets
• Non Suitable
• ACID Transactions
• It is not suitable for transactions that operate over multiple documents.
• Aggregate Oriented Design
Graph Based
Graph Databases
• Suitable
• ACID Transactions
• Highly Connected & Related Data
• Social Networks
• Recommendation Engines
• Non Suitable
• Horizontal Scalability
• Update all or a subset of nodes with a given parameter

You might also like