SlideShare a Scribd company logo
1 of 13
Choosing your NoSQL database
Imteyaz Ahmed Khan
Now a days most organization(web, e-commerce, telecom, social media etc)are trying
to deal with huge amount of data to know their business/customer better than before
and take right decision based on data.
It is not that, earlier organizations were not able to take decision on data, but then
why now they are trying to understand data on big data space?
The reason is, now data are not only in-house generated but some of them
are generated out side. These are not the master/transactional data but actually data
which help to define the nature of business/customer much better.
Lets walk through using an example. My organization wanted to have
feedbacks from customer on home accessories product which we build and general
approaches are ask customer to fill up feedback form, ask them to rate on our website
against product, take feedback from our employee what they feel etc.
And we are done with feedback.
Wait…before 2010 days it was ok, but now I don’t think it is enough and we
have collected all the feedback and its associated data.
Now a days people are talking more around the world on different platforms
about things and it is not only limited to feedback form or company feedback site.
So more data(which is good to take decision), but where to store it, RDBMS?
You can try ….. but how do you know the structure of foreign generated data, how do
you scale your database as it will be huge data, how do you handle the fast action on
data etc ? For All these big questions, the most appropriate answer is Bigdata/NoSQL.
NoSQL database gives you the way to store/retrieve data in big data environment and
store/retrieve structured, semi structured ,un structured data and along also provide
horizontal scaling, fail over, clustering and data replica .
There are different types of NoSQL database. Each type has different properties and
not all are suitable for all use cases. There are mainly four types of NoSQL database.
1. Column Oriented(Store record distributed in column family wise)
2. Key-Value (Store record against a key)
3. Document (Store record as a document and each document can be different)
4. Graph (Store data as a graph)
Column Oriented
In column family ,data are stored in cells grouped in columns of data rather
than rows of data. Column family is group, where related column are arranged
together and these columns(of same family) will be stored in a same machine or place
to make sure access to the related columns requires less time. In a normal row
oriented storage (like RDBMS) all the columns of a row are stored in same location and
access to a particular column is actually doing read of whole row. In case of column
oriented, only related columns gets read and not the whole row and each column
families are stored against row key of record.
Columnar database store all cells of same column family in same disk entry ,so it is faster to
read/search/aggregate similar columns. Where in row base stores all column in single disk entry,
in result even for single column lookup they have to scan the whole row.
Row Oriented (RDBMS) (Pic-1)
Column Oriented
Column family DD (Pic-2) Column Family SB (Pic-3) Column Family NAD (Pic-4)
Name Address Department Designation Salary Bonus DOB
xyz abcd PD Architect xxxxx xxxxx 12/12/1980
abc xyzx Support DBA xxxxxx xxxxxx 12/12/1980
Department Designation
PD Architect
Support DBA
Salary Bonus
xxxx xxxxxx
xxxxxx xxxxxx
Name Address DOB
xyz abcd 12/12/1980
abc xyzx 12/12/1980
In the above diagram, I have explained how the storage differs from row base to column oriented
storage.
Few scenarios where we can use column oriented NoSQL
1. Choose columnar store if your searches are mostly involved on related sets of columns.
2. Fetching few columns which can be grouped under the same column family.
3. During update not all columns are updated, its only updates the columns which can be
grouped under same family.
Above mentioned points are just a few, but the Important one is, columnar store could
be used when search/retrieval are more around similar kind of columns which can be grouped
on same column family.
Example of Column oriented NoSQL Database: Hbase, Cassandra.Google big table.
Key-Value
In key value NoSQL database records are stored against a key. On a simple note, key
value database use hashtable kind of data structure, where records are stored against
its key. Key-value NoSQL database has logical groups of key bucket, where keys of
same hashcode fall under the same bucket.
Key 1
Key 3
Key 4
Key 5
Key 2
Record1
Record2
Record3
Record4
Record5
Some of the Key-Value NoSQL database has made the retrieval/search more faster by caching.
Scenarios where Key-Value store can be used
1. Keeping session related information of users for a website.
2. Storing static content of a html page against a url.
3. Keeping session’s shopping kart information against a user.
Above mentioned points are just a few, but the Important one is, key-value store could be used
when most of the searches are against a key and the programmer knows the internal structure of
record.
Example of Column oriented NoSQL Database: Redis, Riak, Amazon’s Dynamo.
Document
Document store NoSQL database records as a document of key-value pairs. This is similar to the
Key-value store NoSQL database but there are some differences. Records of Document store
provide some kind of structure, that allow to specify attribute as a metadata and allows to query
with those attributes. Each record could have nested records within it. Document database are
schema less, which make it easier to support variety/structured/un-structured records and along
with this it also allows modification of existing record’s schema modification without impacting
others records.
{personName:”xxx”,
{DoorNo: “Home No1”,Road:”Road1”, City:”City1”,Country:”India”}
}
{personName :”yyyy”,
{DoorNo :”Home No2”, Block:”A”, CrossNo:”Cross 3rd,”City: “Allahabad”, Pincode: 300011”}
}
In the above example I have given a sample of person’s records in JSON format. Both the persons
have a different address format which is a example of schema less store.
Scenarios where document store can be used
Document oriented database provides support for schema less, semi structured data
model support. This type of database can be used in the scenarios mentioned below.
1. Storing user profile information, where user’s profile may have different kind of
data(Some user may have contact information as email, some may have mobile
and some may have work phone location).
2. Structure of each row may vary e.g. a permanent employee enjoys some in-house
employee benefit, but for a contract employee there may be other benefits. So
keeping them in document oriented database will be useful and requires less
space than RDBMS.
3. If my data model changes are frequent and if it should not impact the system and
other records then we should go for document database.
4. Rapid prototyping.
Example of Document oriented NoSQL Database: MongoDB, CouchDB,RavenDB
Graph
Graph database allows to store record and relationships with other records. In graph database
records are considered as Nodes and their relationship as edge. Nodes can have multiple edges to
other Node(s) which define their relationship. Nodes and Edges can have multiple properties.
Once data (Nodes and Edges) are defined, data can be analyzed in different ways.
Short write-up from Wiki which defines it’s basic properties
• Graph databases are based on graph theory. Graph databases employ nodes, properties, and
edges.
• Nodes represent entities such as people, businesses, accounts, or any other item you might
want to keep track of.
• Properties are pertinent information that relate to nodes. For instance, if "Wikipedia" were
one of the nodes, one might have it tied to properties such as "website", "reference
material", or "word that starts with the letter 'w'", depending on which aspects of
"Wikipedia" are pertinent to the particular database.
• Edges are the lines that connect nodes to nodes or nodes to properties and they represent
the relationship between the two. Most of the important information is really stored in the
edges. Meaningful patterns emerge when one examines the connections and
interconnections of nodes, properties, and edges
Consider the below pic for graph database.
Scenarios where Graph database can be used
Graph database are mostly used to find out the relationship between data, which can be
achieved using RDBMS but requires lot of effort. Consider the example of an employee table
which has a manager field , but if we have to find his second line manager then either we have to
add new column or run query to find the manager’s manager. Assume if we have to add more
relationships and query related to it in RDBMS then we have to do lot of changes either while
adding new columns or writing complex queries. In case of Graph database it is much easier,
simpler and faster.
1. Use graph database where we have to find the relationship between records.
2. If your need is to analyze social data and their relationship with different context.
3. If your need is to analyze routing information of money/goods etc.
Conclusion
All the features supported by the NoSQL databases does not mean the demise of RDBMS
databases. We are now on the age of having polyglot persistence, so we need techniques
that uses different data storage technologies to handle the varying data needs. All the above
given use cases, examples and suggestions explains the characteristics of each NoSQL database.
Hence while choosing your NoSQL database you need to consider your use case , technical and
non-technical (do I have required resource, maintenance etc) requirements and pick the right
one.

More Related Content

What's hot

Chapter 7(documnet databse termininology) no sql for mere mortals
Chapter 7(documnet databse termininology) no sql for mere mortalsChapter 7(documnet databse termininology) no sql for mere mortals
Chapter 7(documnet databse termininology) no sql for mere mortalsnehabsairam
 
Mongo db a deep dive of mongodb indexes
Mongo db  a deep dive of mongodb indexesMongo db  a deep dive of mongodb indexes
Mongo db a deep dive of mongodb indexesRajesh Kumar
 
Brief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas moslehBrief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas moslehFas (Feisal) Mosleh
 
Databases and its representation
Databases and its representationDatabases and its representation
Databases and its representationRuhull
 
5 data resource management
5 data resource management5 data resource management
5 data resource managementNymphea Saraf
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseMohammad Shaker
 
Chapter 5 design of keyvalue databses from nosql for mere mortals
Chapter 5 design of keyvalue databses from nosql for mere mortalsChapter 5 design of keyvalue databses from nosql for mere mortals
Chapter 5 design of keyvalue databses from nosql for mere mortalsnehabsairam
 
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortals
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortalsChapter 4 terminolgy of keyvalue databses from nosql for mere mortals
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortalsnehabsairam
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPTTrinath
 
Starting ms access 2010
Starting ms access 2010Starting ms access 2010
Starting ms access 2010Bryan Corpuz
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTIJCSEA Journal
 

What's hot (18)

Chapter 7(documnet databse termininology) no sql for mere mortals
Chapter 7(documnet databse termininology) no sql for mere mortalsChapter 7(documnet databse termininology) no sql for mere mortals
Chapter 7(documnet databse termininology) no sql for mere mortals
 
Mongo db a deep dive of mongodb indexes
Mongo db  a deep dive of mongodb indexesMongo db  a deep dive of mongodb indexes
Mongo db a deep dive of mongodb indexes
 
Brief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas moslehBrief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas mosleh
 
Advanced Database System
Advanced Database SystemAdvanced Database System
Advanced Database System
 
Databases and its representation
Databases and its representationDatabases and its representation
Databases and its representation
 
Metadata ppt
Metadata pptMetadata ppt
Metadata ppt
 
5 data resource management
5 data resource management5 data resource management
5 data resource management
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to Couchbase
 
Lecture 04 data resource management
Lecture 04 data resource managementLecture 04 data resource management
Lecture 04 data resource management
 
Chapter 5 design of keyvalue databses from nosql for mere mortals
Chapter 5 design of keyvalue databses from nosql for mere mortalsChapter 5 design of keyvalue databses from nosql for mere mortals
Chapter 5 design of keyvalue databses from nosql for mere mortals
 
Managing data resources
Managing  data resourcesManaging  data resources
Managing data resources
 
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortals
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortalsChapter 4 terminolgy of keyvalue databses from nosql for mere mortals
Chapter 4 terminolgy of keyvalue databses from nosql for mere mortals
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
 
Nosql
NosqlNosql
Nosql
 
Database
DatabaseDatabase
Database
 
Nosql
NosqlNosql
Nosql
 
Starting ms access 2010
Starting ms access 2010Starting ms access 2010
Starting ms access 2010
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
 

Similar to Choosing your NoSQL storage

NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and UsesSuvradeep Rudra
 
A Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLA Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLIJSCAI Journal
 
A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQLA STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQLijscai
 
A Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLA Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLIJSCAI Journal
 
Relational database concept and technology
Relational database concept and technologyRelational database concept and technology
Relational database concept and technologyDucat
 
Beginner's guide to Mongodb and NoSQL
Beginner's guide to Mongodb and NoSQL  Beginner's guide to Mongodb and NoSQL
Beginner's guide to Mongodb and NoSQL Maulin Shah
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptxRushikeshChikane2
 
data base system to new data science lerne
data base system to new data science lernedata base system to new data science lerne
data base system to new data science lernetarunprajapati0t
 
No SQL - MongoDB
No SQL - MongoDBNo SQL - MongoDB
No SQL - MongoDBMirza Asif
 
No sql – rise of the clusters
No sql – rise of the clustersNo sql – rise of the clusters
No sql – rise of the clustersresponseteam
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTIJCSEA Journal
 
moving_from_relational_to_nosql_couchbase_2016
moving_from_relational_to_nosql_couchbase_2016moving_from_relational_to_nosql_couchbase_2016
moving_from_relational_to_nosql_couchbase_2016Richard (Rick) Nelson
 
NOSQL and MongoDB Database
NOSQL and MongoDB DatabaseNOSQL and MongoDB Database
NOSQL and MongoDB DatabaseTariqul islam
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLRamakant Soni
 

Similar to Choosing your NoSQL storage (20)

NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
A Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLA Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQL
 
A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQLA STUDY ON GRAPH STORAGE DATABASE OF NOSQL
A STUDY ON GRAPH STORAGE DATABASE OF NOSQL
 
A Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQLA Study on Graph Storage Database of NOSQL
A Study on Graph Storage Database of NOSQL
 
Report 1.0.docx
Report 1.0.docxReport 1.0.docx
Report 1.0.docx
 
Relational database concept and technology
Relational database concept and technologyRelational database concept and technology
Relational database concept and technology
 
Unit 3 MongDB
Unit 3 MongDBUnit 3 MongDB
Unit 3 MongDB
 
Beginner's guide to Mongodb and NoSQL
Beginner's guide to Mongodb and NoSQL  Beginner's guide to Mongodb and NoSQL
Beginner's guide to Mongodb and NoSQL
 
Report 2.0.docx
Report 2.0.docxReport 2.0.docx
Report 2.0.docx
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx
 
No sql
No sqlNo sql
No sql
 
data base system to new data science lerne
data base system to new data science lernedata base system to new data science lerne
data base system to new data science lerne
 
No SQL - MongoDB
No SQL - MongoDBNo SQL - MongoDB
No SQL - MongoDB
 
On no sql.partiii
On no sql.partiiiOn no sql.partiii
On no sql.partiii
 
No sql – rise of the clusters
No sql – rise of the clustersNo sql – rise of the clusters
No sql – rise of the clusters
 
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENTHYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
HYBRID DATABASE SYSTEM FOR BIG DATA STORAGE AND MANAGEMENT
 
moving_from_relational_to_nosql_couchbase_2016
moving_from_relational_to_nosql_couchbase_2016moving_from_relational_to_nosql_couchbase_2016
moving_from_relational_to_nosql_couchbase_2016
 
NOSQL and MongoDB Database
NOSQL and MongoDB DatabaseNOSQL and MongoDB Database
NOSQL and MongoDB Database
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 

Recently uploaded

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Choosing your NoSQL storage

  • 1. Choosing your NoSQL database Imteyaz Ahmed Khan
  • 2. Now a days most organization(web, e-commerce, telecom, social media etc)are trying to deal with huge amount of data to know their business/customer better than before and take right decision based on data. It is not that, earlier organizations were not able to take decision on data, but then why now they are trying to understand data on big data space? The reason is, now data are not only in-house generated but some of them are generated out side. These are not the master/transactional data but actually data which help to define the nature of business/customer much better. Lets walk through using an example. My organization wanted to have feedbacks from customer on home accessories product which we build and general approaches are ask customer to fill up feedback form, ask them to rate on our website against product, take feedback from our employee what they feel etc.
  • 3. And we are done with feedback. Wait…before 2010 days it was ok, but now I don’t think it is enough and we have collected all the feedback and its associated data. Now a days people are talking more around the world on different platforms about things and it is not only limited to feedback form or company feedback site. So more data(which is good to take decision), but where to store it, RDBMS? You can try ….. but how do you know the structure of foreign generated data, how do you scale your database as it will be huge data, how do you handle the fast action on data etc ? For All these big questions, the most appropriate answer is Bigdata/NoSQL.
  • 4. NoSQL database gives you the way to store/retrieve data in big data environment and store/retrieve structured, semi structured ,un structured data and along also provide horizontal scaling, fail over, clustering and data replica . There are different types of NoSQL database. Each type has different properties and not all are suitable for all use cases. There are mainly four types of NoSQL database. 1. Column Oriented(Store record distributed in column family wise) 2. Key-Value (Store record against a key) 3. Document (Store record as a document and each document can be different) 4. Graph (Store data as a graph) Column Oriented In column family ,data are stored in cells grouped in columns of data rather than rows of data. Column family is group, where related column are arranged together and these columns(of same family) will be stored in a same machine or place to make sure access to the related columns requires less time. In a normal row oriented storage (like RDBMS) all the columns of a row are stored in same location and access to a particular column is actually doing read of whole row. In case of column oriented, only related columns gets read and not the whole row and each column families are stored against row key of record.
  • 5. Columnar database store all cells of same column family in same disk entry ,so it is faster to read/search/aggregate similar columns. Where in row base stores all column in single disk entry, in result even for single column lookup they have to scan the whole row. Row Oriented (RDBMS) (Pic-1) Column Oriented Column family DD (Pic-2) Column Family SB (Pic-3) Column Family NAD (Pic-4) Name Address Department Designation Salary Bonus DOB xyz abcd PD Architect xxxxx xxxxx 12/12/1980 abc xyzx Support DBA xxxxxx xxxxxx 12/12/1980 Department Designation PD Architect Support DBA Salary Bonus xxxx xxxxxx xxxxxx xxxxxx Name Address DOB xyz abcd 12/12/1980 abc xyzx 12/12/1980
  • 6. In the above diagram, I have explained how the storage differs from row base to column oriented storage. Few scenarios where we can use column oriented NoSQL 1. Choose columnar store if your searches are mostly involved on related sets of columns. 2. Fetching few columns which can be grouped under the same column family. 3. During update not all columns are updated, its only updates the columns which can be grouped under same family. Above mentioned points are just a few, but the Important one is, columnar store could be used when search/retrieval are more around similar kind of columns which can be grouped on same column family. Example of Column oriented NoSQL Database: Hbase, Cassandra.Google big table.
  • 7. Key-Value In key value NoSQL database records are stored against a key. On a simple note, key value database use hashtable kind of data structure, where records are stored against its key. Key-value NoSQL database has logical groups of key bucket, where keys of same hashcode fall under the same bucket. Key 1 Key 3 Key 4 Key 5 Key 2 Record1 Record2 Record3 Record4 Record5
  • 8. Some of the Key-Value NoSQL database has made the retrieval/search more faster by caching. Scenarios where Key-Value store can be used 1. Keeping session related information of users for a website. 2. Storing static content of a html page against a url. 3. Keeping session’s shopping kart information against a user. Above mentioned points are just a few, but the Important one is, key-value store could be used when most of the searches are against a key and the programmer knows the internal structure of record. Example of Column oriented NoSQL Database: Redis, Riak, Amazon’s Dynamo.
  • 9. Document Document store NoSQL database records as a document of key-value pairs. This is similar to the Key-value store NoSQL database but there are some differences. Records of Document store provide some kind of structure, that allow to specify attribute as a metadata and allows to query with those attributes. Each record could have nested records within it. Document database are schema less, which make it easier to support variety/structured/un-structured records and along with this it also allows modification of existing record’s schema modification without impacting others records. {personName:”xxx”, {DoorNo: “Home No1”,Road:”Road1”, City:”City1”,Country:”India”} } {personName :”yyyy”, {DoorNo :”Home No2”, Block:”A”, CrossNo:”Cross 3rd,”City: “Allahabad”, Pincode: 300011”} } In the above example I have given a sample of person’s records in JSON format. Both the persons have a different address format which is a example of schema less store.
  • 10. Scenarios where document store can be used Document oriented database provides support for schema less, semi structured data model support. This type of database can be used in the scenarios mentioned below. 1. Storing user profile information, where user’s profile may have different kind of data(Some user may have contact information as email, some may have mobile and some may have work phone location). 2. Structure of each row may vary e.g. a permanent employee enjoys some in-house employee benefit, but for a contract employee there may be other benefits. So keeping them in document oriented database will be useful and requires less space than RDBMS. 3. If my data model changes are frequent and if it should not impact the system and other records then we should go for document database. 4. Rapid prototyping. Example of Document oriented NoSQL Database: MongoDB, CouchDB,RavenDB
  • 11. Graph Graph database allows to store record and relationships with other records. In graph database records are considered as Nodes and their relationship as edge. Nodes can have multiple edges to other Node(s) which define their relationship. Nodes and Edges can have multiple properties. Once data (Nodes and Edges) are defined, data can be analyzed in different ways. Short write-up from Wiki which defines it’s basic properties • Graph databases are based on graph theory. Graph databases employ nodes, properties, and edges. • Nodes represent entities such as people, businesses, accounts, or any other item you might want to keep track of. • Properties are pertinent information that relate to nodes. For instance, if "Wikipedia" were one of the nodes, one might have it tied to properties such as "website", "reference material", or "word that starts with the letter 'w'", depending on which aspects of "Wikipedia" are pertinent to the particular database. • Edges are the lines that connect nodes to nodes or nodes to properties and they represent the relationship between the two. Most of the important information is really stored in the edges. Meaningful patterns emerge when one examines the connections and interconnections of nodes, properties, and edges
  • 12. Consider the below pic for graph database. Scenarios where Graph database can be used Graph database are mostly used to find out the relationship between data, which can be achieved using RDBMS but requires lot of effort. Consider the example of an employee table which has a manager field , but if we have to find his second line manager then either we have to add new column or run query to find the manager’s manager. Assume if we have to add more relationships and query related to it in RDBMS then we have to do lot of changes either while adding new columns or writing complex queries. In case of Graph database it is much easier, simpler and faster.
  • 13. 1. Use graph database where we have to find the relationship between records. 2. If your need is to analyze social data and their relationship with different context. 3. If your need is to analyze routing information of money/goods etc. Conclusion All the features supported by the NoSQL databases does not mean the demise of RDBMS databases. We are now on the age of having polyglot persistence, so we need techniques that uses different data storage technologies to handle the varying data needs. All the above given use cases, examples and suggestions explains the characteristics of each NoSQL database. Hence while choosing your NoSQL database you need to consider your use case , technical and non-technical (do I have required resource, maintenance etc) requirements and pick the right one.