2. What Is NoSQL ?
• Managing very large sets of distributed data.
• Analyze massive amounts of unstructured data.
• Originally created and used by Internet leaders such
as Facebook, Google, Amazon and others.
3/27/2019 2
4. Benefits of NoSQL
• Schema agnostic
• Scalability
• Performance
• High availability
• Global availability
3/27/2019 4
5. Architecture Patterns
• Allow you to give precise names to recurring high
level data storage patterns.
• A consistent process that allows you to name the
pattern
• All team members should have the same
understanding about how a particular pattern
solves your problem
3/27/2019 5
6. • Key-Value Store
• Document Store
• Column Store
• Graph Base
Types : Architecture Pattern
3/27/2019 6
7. Key-value store
• The simplest NoSQL data stores to use from an
API perspective.
• Client can get the value for the key, put a value
for a key or delete a key.
• Have great performance and can be easily scaled.
3/27/2019 7
9. Key-value store - API
• Get – to get the value associated with the key.
• Put – to associate the value with the key.
• Multi-get – to get the list of values associated
with the keys.
• Delete – to remove the data for the key.
3/27/2019 9
10. Key-value store - Rules
• Distinct Keys :- All keys in key value store are
unique.
• No queries on values :- No queries can be
performed on the values of the table.
3/27/2019 10
11. Key-value store - Weakness
• Lack of Consistency
• Volume of the data increases since difficult to
maintain unique value as keys.
3/27/2019 11
12. Key-value store - Uses
Word (key)
• Dictionary :
Meanings (value)
Website (key)
• Google :
www.tutorialpoints.com (value)
www.gmail.com (value)
3/27/2019 12
14. Document store
• Documents are the main concept in document
databases.
• More semi-structured data.
• The database stores and retrieves documents,
which can be XML, JSON, BSON, and so on.
3/27/2019 14
16. Document store : Example
• MongoDB Stores data in Documents.
3/27/2019 16
17. Column store
• Store data in column families as rows that have many
columns associated with a row key.
• Column families are groups of related data that is often
accessed together.
• When a column consists of a map of columns, then we have
a super column.
• A super column consists of a name and a value which is a
map of columns.
3/27/2019 17
19. Column Store : Benefits
• Column stores are very efficient at data
compression
• Columnar databases are very scalable.
• Columnar stores can be loaded extremely fast.
3/27/2019 19
20. Column Store : Example
• Hbase – Hadoop Database is a NoSQL database
3/27/2019 20
21. Graph Base
• Stores entities and relationships between these
entities.
• Relations are known as edges.
• Nodes are organized by relationships which allow you
to find interesting patterns between the nodes.
• Interpreted data in different ways based on
relationships.
3/27/2019 21
23. Graph Base : Example
• Neo4J - graph database
3/27/2019 23
24. Comparison
Parameters
Key - Value
Store
Document
Store
Column Store Graph Base
Performance High High High Variable
Scalability High Variable High Variable
Flexibility High High Moderate High
Complexity None Low Low High
Functionality Variable Variable Minimal Graph theory
Example
Purchasing
Product Bill
(Amazon)
Company
Store User
details
(Facebook)
Movies
3/27/2019 24