SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
CS315: Principles of Database Systems
NoSQL
Arnab Bhattacharya
arnabb@cse.iitk.ac.in
Computer Science and Engineering,
Indian Institute of Technology, Kanpur
http://web.cse.iitk.ac.in/˜cs315/
2nd
semester, 2013-14
Tue, Fri 1530-1700 at CS101
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 1 / 12
NoSQL
NoSQL is
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
NoSQL
NoSQL is not “no-SQL”
It is not only SQL
It does not aim to provide the ACID properties
Originated as no-SQL though
Later changed since RDBMS is too powerful to always ignore
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
NoSQL
NoSQL is not “no-SQL”
It is not only SQL
It does not aim to provide the ACID properties
Originated as no-SQL though
Later changed since RDBMS is too powerful to always ignore
Aims to provide
Scalability
Flexibility
Naturalness
Distribution
Performance
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
CAP theorem
All of C, A, P cannot be satisfied simultaneously
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
CAP theorem
All of C, A, P cannot be satisfied simultaneously
CA: single-site; partitioning is not allowed
CP: what is available is consistent
AP: everything is available but may not be consistent
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
CAP theorem
All of C, A, P cannot be satisfied simultaneously
CA: single-site; partitioning is not allowed
CP: what is available is consistent
AP: everything is available but may not be consistent
Not a theorem – just a hypothesis
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
BASE properties
Basically Available: System guarantees availability
Soft state: State of system is soft, i.e., it may change without input to
maintain consistency
Eventual consistency: Data will be eventually consistent without any
interim perturbation
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
BASE properties
Basically Available: System guarantees availability
Soft state: State of system is soft, i.e., it may change without input to
maintain consistency
Eventual consistency: Data will be eventually consistent without any
interim perturbation
Sacrifices consistency
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
BASE properties
Basically Available: System guarantees availability
Soft state: State of system is soft, i.e., it may change without input to
maintain consistency
Eventual consistency: Data will be eventually consistent without any
interim perturbation
Sacrifices consistency
To counter ACID
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
Types
Four main types of NoSQL data stores:
1 Columnar families
2 Bigtable systems
3 Document databases
4 Graph databases
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 5 / 12
Columnar storage
Instead of rows being stored togther, columns are stored
consecutively
A single disk block (or a set of consecutive blocks) stores a single
column family
A column family may consist of one or multiple columns
This set of columns is called a super column
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 6 / 12
Columnar storage
Instead of rows being stored togther, columns are stored
consecutively
A single disk block (or a set of consecutive blocks) stores a single
column family
A column family may consist of one or multiple columns
This set of columns is called a super column
Two main types
Columnar relational models
Key-value stores and/or big tables
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 6 / 12
Columnar relational models
Not NoSQL and is actually RDBMS
Column-wise storage on the disk
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
Columnar relational models
Not NoSQL and is actually RDBMS
Column-wise storage on the disk
Allows faster querying when only few columns are touched on the
entire data
Allows compression of columns
Provides better memory caching
Joins are faster since they are mostly on similar columns from two
tables
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
Columnar relational models
Not NoSQL and is actually RDBMS
Column-wise storage on the disk
Allows faster querying when only few columns are touched on the
entire data
Allows compression of columns
Provides better memory caching
Joins are faster since they are mostly on similar columns from two
tables
Is not good for updates
Is not good when many columns of a few tuples are accessed
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
Columnar relational models
Not NoSQL and is actually RDBMS
Column-wise storage on the disk
Allows faster querying when only few columns are touched on the
entire data
Allows compression of columns
Provides better memory caching
Joins are faster since they are mostly on similar columns from two
tables
Is not good for updates
Is not good when many columns of a few tuples are accessed
Good for OLAP (online analytical processing)
Not good for OLTP (online transaction processing)
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
Columnar relational models
Not NoSQL and is actually RDBMS
Column-wise storage on the disk
Allows faster querying when only few columns are touched on the
entire data
Allows compression of columns
Provides better memory caching
Joins are faster since they are mostly on similar columns from two
tables
Is not good for updates
Is not good when many columns of a few tuples are accessed
Good for OLAP (online analytical processing)
Not good for OLTP (online transaction processing)
Example: MonetDB
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Essentially, actual data becomes “value” and an unique id is
generated which becomes “key”
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Essentially, actual data becomes “value” and an unique id is
generated which becomes “key”
Whole database is then just one big table with these two columns
Becomes schema-less
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Essentially, actual data becomes “value” and an unique id is
generated which becomes “key”
Whole database is then just one big table with these two columns
Becomes schema-less
Can be distributed and is, thus, highly scalable
So, in essence a big distributed hash table
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Essentially, actual data becomes “value” and an unique id is
generated which becomes “key”
Whole database is then just one big table with these two columns
Becomes schema-less
Can be distributed and is, thus, highly scalable
So, in essence a big distributed hash table
All queries are on keys
Keys are necessarily indexed
Uses memcache where most queried keys are persisted in memory
for faster access
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Key-value stores
Two columns: a key and a value
Key is mostly text
Value can be anything and is simply an object
Essentially, actual data becomes “value” and an unique id is
generated which becomes “key”
Whole database is then just one big table with these two columns
Becomes schema-less
Can be distributed and is, thus, highly scalable
So, in essence a big distributed hash table
All queries are on keys
Keys are necessarily indexed
Uses memcache where most queried keys are persisted in memory
for faster access
Example: Cassandra, CouchDB, Tokyo Cabinet, Redis
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
Bigtable systems
Started from Google’s BigTable implementation
Uses a key-value store
Data can be replicated for better availability
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
Bigtable systems
Started from Google’s BigTable implementation
Uses a key-value store
Data can be replicated for better availability
Uses a timestamp
Timestamp is used to
Expire data
Delete stale data
Resolve read-write conflicts
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
Bigtable systems
Started from Google’s BigTable implementation
Uses a key-value store
Data can be replicated for better availability
Uses a timestamp
Timestamp is used to
Expire data
Delete stale data
Resolve read-write conflicts
Same value can be indexed using multiple keys
Map-reduce framework to compute
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
Bigtable systems
Started from Google’s BigTable implementation
Uses a key-value store
Data can be replicated for better availability
Uses a timestamp
Timestamp is used to
Expire data
Delete stale data
Resolve read-write conflicts
Same value can be indexed using multiple keys
Map-reduce framework to compute
Example: BigTable, HBase, Cassandra, HyperTable, SimpleDB
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
Document databases
Uses documents as the main storage format of data
Popular document formats are XML, JSON, BSON, YAML
Document itself is the key while the content is the value
Document can be indexed by id or simply its location (e.g., URI)
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
Document databases
Uses documents as the main storage format of data
Popular document formats are XML, JSON, BSON, YAML
Document itself is the key while the content is the value
Document can be indexed by id or simply its location (e.g., URI)
Content needs to be parsed to make sense
Content can be organised further
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
Document databases
Uses documents as the main storage format of data
Popular document formats are XML, JSON, BSON, YAML
Document itself is the key while the content is the value
Document can be indexed by id or simply its location (e.g., URI)
Content needs to be parsed to make sense
Content can be organised further
Extremely useful for insert-once read-many scenarios
Can use map-reduce framework to compute
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
Document databases
Uses documents as the main storage format of data
Popular document formats are XML, JSON, BSON, YAML
Document itself is the key while the content is the value
Document can be indexed by id or simply its location (e.g., URI)
Content needs to be parsed to make sense
Content can be organised further
Extremely useful for insert-once read-many scenarios
Can use map-reduce framework to compute
Example: MongoDB, CouchDB
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
Graph databases
Nodes represent entities
Edges encode relationships between nodes
Can be directed
Can have hyper-edges as well
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
Graph databases
Nodes represent entities
Edges encode relationships between nodes
Can be directed
Can have hyper-edges as well
Easier to find distances and neighbors
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
Graph databases
Nodes represent entities
Edges encode relationships between nodes
Can be directed
Can have hyper-edges as well
Easier to find distances and neighbors
Example: Neo4J, HyperGraph, Infinite Graph, FlockDB
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
Discussion
NoSQL, although started as anti-SQL, is no more so
More a realisation that for some cases
RDBMS does not scale or distribute, and in some other cases
ACIDity is an overkill
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12
Discussion
NoSQL, although started as anti-SQL, is no more so
More a realisation that for some cases
RDBMS does not scale or distribute, and in some other cases
ACIDity is an overkill
NoSQL is not good for every scenario
Not every good feature reported has been validated
Most legacy systems still use RDBMS
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12
Discussion
NoSQL, although started as anti-SQL, is no more so
More a realisation that for some cases
RDBMS does not scale or distribute, and in some other cases
ACIDity is an overkill
NoSQL is not good for every scenario
Not every good feature reported has been validated
Most legacy systems still use RDBMS
NoSQL horizon is shifting rapidly with almost no control or sense
However, trend is for NoSQL as cloud computing and big data relies
on it
Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12

Más contenido relacionado

La actualidad más candente

Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...
Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...
Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...Databricks
 
ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)Michael Rys
 
Amazon Athena Hands-On Workshop
Amazon Athena Hands-On WorkshopAmazon Athena Hands-On Workshop
Amazon Athena Hands-On WorkshopDoiT International
 
2016 Spark Summit East Keynote: Matei Zaharia
2016 Spark Summit East Keynote: Matei Zaharia2016 Spark Summit East Keynote: Matei Zaharia
2016 Spark Summit East Keynote: Matei ZahariaDatabricks
 
3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sqlŁukasz Grala
 
Introduction to Spark SQL training workshop
Introduction to Spark SQL training workshopIntroduction to Spark SQL training workshop
Introduction to Spark SQL training workshop(Susan) Xinh Huynh
 
SQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutesSQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutesIke Ellis
 
Distributed ML in Apache Spark
Distributed ML in Apache SparkDistributed ML in Apache Spark
Distributed ML in Apache SparkDatabricks
 
Azure Data Lake and U-SQL
Azure Data Lake and U-SQLAzure Data Lake and U-SQL
Azure Data Lake and U-SQLMichael Rys
 
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015Iulia Emanuela Iancuta
 
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Michael Rys
 
Dive Into Azure Data Lake - PASS 2017
Dive Into Azure Data Lake - PASS 2017Dive Into Azure Data Lake - PASS 2017
Dive Into Azure Data Lake - PASS 2017Ike Ellis
 
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)Cathrine Wilhelmsen
 
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Michael Rys
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseDatabricks
 
An Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchAn Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchPatricia Gorla
 

La actualidad más candente (20)

Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...
Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...
Not Your Father's Database: How to Use Apache Spark Properly in Your Big Data...
 
Azure data lake sql konf 2016
Azure data lake   sql konf 2016Azure data lake   sql konf 2016
Azure data lake sql konf 2016
 
ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)
 
Amazon Athena Hands-On Workshop
Amazon Athena Hands-On WorkshopAmazon Athena Hands-On Workshop
Amazon Athena Hands-On Workshop
 
2016 Spark Summit East Keynote: Matei Zaharia
2016 Spark Summit East Keynote: Matei Zaharia2016 Spark Summit East Keynote: Matei Zaharia
2016 Spark Summit East Keynote: Matei Zaharia
 
3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql3 CityNetConf - sql+c#=u-sql
3 CityNetConf - sql+c#=u-sql
 
Cassandra in e-commerce
Cassandra in e-commerceCassandra in e-commerce
Cassandra in e-commerce
 
Introduction to Spark SQL training workshop
Introduction to Spark SQL training workshopIntroduction to Spark SQL training workshop
Introduction to Spark SQL training workshop
 
SQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutesSQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutes
 
Distributed ML in Apache Spark
Distributed ML in Apache SparkDistributed ML in Apache Spark
Distributed ML in Apache Spark
 
Vertica
VerticaVertica
Vertica
 
SFScon18 - Stefano Pampaloni - The SQL revenge
SFScon18 - Stefano Pampaloni - The SQL revengeSFScon18 - Stefano Pampaloni - The SQL revenge
SFScon18 - Stefano Pampaloni - The SQL revenge
 
Azure Data Lake and U-SQL
Azure Data Lake and U-SQLAzure Data Lake and U-SQL
Azure Data Lake and U-SQL
 
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
 
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
 
Dive Into Azure Data Lake - PASS 2017
Dive Into Azure Data Lake - PASS 2017Dive Into Azure Data Lake - PASS 2017
Dive Into Azure Data Lake - PASS 2017
 
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)
Building Dynamic Data Pipelines in Azure Data Factory (Microsoft Ignite 2019)
 
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta Lakehouse
 
An Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchAn Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise Search
 

Similar a 16 nosql

Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3RojaT4
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introductionPooyan Mehrparvar
 
SQL vs NoSQL deep dive
SQL vs NoSQL deep diveSQL vs NoSQL deep dive
SQL vs NoSQL deep diveAhmed Shaaban
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBsadegh salehi
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databasesAshwani Kumar
 
Presentation on NoSQL Database related RDBMS
Presentation on NoSQL Database related RDBMSPresentation on NoSQL Database related RDBMS
Presentation on NoSQL Database related RDBMSabdurrobsoyon
 
Conquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard queryConquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard queryJustin Swanhart
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMohan Rathour
 
NoSQL(NOT ONLY SQL)
NoSQL(NOT ONLY SQL)NoSQL(NOT ONLY SQL)
NoSQL(NOT ONLY SQL)Rahul P
 
no sql presentation
no sql presentationno sql presentation
no sql presentationchandanm2
 
GIDS 2016 Understanding and Building No SQLs
GIDS 2016 Understanding and Building No SQLsGIDS 2016 Understanding and Building No SQLs
GIDS 2016 Understanding and Building No SQLstechmaddy
 
Perl and Elasticsearch
Perl and ElasticsearchPerl and Elasticsearch
Perl and ElasticsearchDean Hamstead
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionKrishnakumar S
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008paulguerin
 

Similar a 16 nosql (20)

Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
 
SQL vs NoSQL deep dive
SQL vs NoSQL deep diveSQL vs NoSQL deep dive
SQL vs NoSQL deep dive
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DB
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
Introduction to NOSQL databases
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
 
Presentation on NoSQL Database related RDBMS
Presentation on NoSQL Database related RDBMSPresentation on NoSQL Database related RDBMS
Presentation on NoSQL Database related RDBMS
 
NoSQL Basics - A Quick Tour
NoSQL Basics - A Quick TourNoSQL Basics - A Quick Tour
NoSQL Basics - A Quick Tour
 
Conquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard queryConquering "big data": An introduction to shard query
Conquering "big data": An introduction to shard query
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
NoSQL(NOT ONLY SQL)
NoSQL(NOT ONLY SQL)NoSQL(NOT ONLY SQL)
NoSQL(NOT ONLY SQL)
 
no sql presentation
no sql presentationno sql presentation
no sql presentation
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
 
GIDS 2016 Understanding and Building No SQLs
GIDS 2016 Understanding and Building No SQLsGIDS 2016 Understanding and Building No SQLs
GIDS 2016 Understanding and Building No SQLs
 
No SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability MeetupNo SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability Meetup
 
Perl and Elasticsearch
Perl and ElasticsearchPerl and Elasticsearch
Perl and Elasticsearch
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the question
 
Azure SQL DWH
Azure SQL DWHAzure SQL DWH
Azure SQL DWH
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008
 
NoSQL
NoSQLNoSQL
NoSQL
 

Último

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

16 nosql

  • 1. CS315: Principles of Database Systems NoSQL Arnab Bhattacharya arnabb@cse.iitk.ac.in Computer Science and Engineering, Indian Institute of Technology, Kanpur http://web.cse.iitk.ac.in/˜cs315/ 2nd semester, 2013-14 Tue, Fri 1530-1700 at CS101 Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 1 / 12
  • 2. NoSQL NoSQL is Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
  • 3. NoSQL NoSQL is not “no-SQL” It is not only SQL It does not aim to provide the ACID properties Originated as no-SQL though Later changed since RDBMS is too powerful to always ignore Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
  • 4. NoSQL NoSQL is not “no-SQL” It is not only SQL It does not aim to provide the ACID properties Originated as no-SQL though Later changed since RDBMS is too powerful to always ignore Aims to provide Scalability Flexibility Naturalness Distribution Performance Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 2 / 12
  • 5. CAP theorem All of C, A, P cannot be satisfied simultaneously Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
  • 6. CAP theorem All of C, A, P cannot be satisfied simultaneously CA: single-site; partitioning is not allowed CP: what is available is consistent AP: everything is available but may not be consistent Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
  • 7. CAP theorem All of C, A, P cannot be satisfied simultaneously CA: single-site; partitioning is not allowed CP: what is available is consistent AP: everything is available but may not be consistent Not a theorem – just a hypothesis Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 3 / 12
  • 8. BASE properties Basically Available: System guarantees availability Soft state: State of system is soft, i.e., it may change without input to maintain consistency Eventual consistency: Data will be eventually consistent without any interim perturbation Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
  • 9. BASE properties Basically Available: System guarantees availability Soft state: State of system is soft, i.e., it may change without input to maintain consistency Eventual consistency: Data will be eventually consistent without any interim perturbation Sacrifices consistency Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
  • 10. BASE properties Basically Available: System guarantees availability Soft state: State of system is soft, i.e., it may change without input to maintain consistency Eventual consistency: Data will be eventually consistent without any interim perturbation Sacrifices consistency To counter ACID Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 4 / 12
  • 11. Types Four main types of NoSQL data stores: 1 Columnar families 2 Bigtable systems 3 Document databases 4 Graph databases Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 5 / 12
  • 12. Columnar storage Instead of rows being stored togther, columns are stored consecutively A single disk block (or a set of consecutive blocks) stores a single column family A column family may consist of one or multiple columns This set of columns is called a super column Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 6 / 12
  • 13. Columnar storage Instead of rows being stored togther, columns are stored consecutively A single disk block (or a set of consecutive blocks) stores a single column family A column family may consist of one or multiple columns This set of columns is called a super column Two main types Columnar relational models Key-value stores and/or big tables Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 6 / 12
  • 14. Columnar relational models Not NoSQL and is actually RDBMS Column-wise storage on the disk Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
  • 15. Columnar relational models Not NoSQL and is actually RDBMS Column-wise storage on the disk Allows faster querying when only few columns are touched on the entire data Allows compression of columns Provides better memory caching Joins are faster since they are mostly on similar columns from two tables Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
  • 16. Columnar relational models Not NoSQL and is actually RDBMS Column-wise storage on the disk Allows faster querying when only few columns are touched on the entire data Allows compression of columns Provides better memory caching Joins are faster since they are mostly on similar columns from two tables Is not good for updates Is not good when many columns of a few tuples are accessed Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
  • 17. Columnar relational models Not NoSQL and is actually RDBMS Column-wise storage on the disk Allows faster querying when only few columns are touched on the entire data Allows compression of columns Provides better memory caching Joins are faster since they are mostly on similar columns from two tables Is not good for updates Is not good when many columns of a few tuples are accessed Good for OLAP (online analytical processing) Not good for OLTP (online transaction processing) Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
  • 18. Columnar relational models Not NoSQL and is actually RDBMS Column-wise storage on the disk Allows faster querying when only few columns are touched on the entire data Allows compression of columns Provides better memory caching Joins are faster since they are mostly on similar columns from two tables Is not good for updates Is not good when many columns of a few tuples are accessed Good for OLAP (online analytical processing) Not good for OLTP (online transaction processing) Example: MonetDB Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 7 / 12
  • 19. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 20. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Essentially, actual data becomes “value” and an unique id is generated which becomes “key” Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 21. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Essentially, actual data becomes “value” and an unique id is generated which becomes “key” Whole database is then just one big table with these two columns Becomes schema-less Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 22. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Essentially, actual data becomes “value” and an unique id is generated which becomes “key” Whole database is then just one big table with these two columns Becomes schema-less Can be distributed and is, thus, highly scalable So, in essence a big distributed hash table Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 23. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Essentially, actual data becomes “value” and an unique id is generated which becomes “key” Whole database is then just one big table with these two columns Becomes schema-less Can be distributed and is, thus, highly scalable So, in essence a big distributed hash table All queries are on keys Keys are necessarily indexed Uses memcache where most queried keys are persisted in memory for faster access Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 24. Key-value stores Two columns: a key and a value Key is mostly text Value can be anything and is simply an object Essentially, actual data becomes “value” and an unique id is generated which becomes “key” Whole database is then just one big table with these two columns Becomes schema-less Can be distributed and is, thus, highly scalable So, in essence a big distributed hash table All queries are on keys Keys are necessarily indexed Uses memcache where most queried keys are persisted in memory for faster access Example: Cassandra, CouchDB, Tokyo Cabinet, Redis Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 8 / 12
  • 25. Bigtable systems Started from Google’s BigTable implementation Uses a key-value store Data can be replicated for better availability Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
  • 26. Bigtable systems Started from Google’s BigTable implementation Uses a key-value store Data can be replicated for better availability Uses a timestamp Timestamp is used to Expire data Delete stale data Resolve read-write conflicts Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
  • 27. Bigtable systems Started from Google’s BigTable implementation Uses a key-value store Data can be replicated for better availability Uses a timestamp Timestamp is used to Expire data Delete stale data Resolve read-write conflicts Same value can be indexed using multiple keys Map-reduce framework to compute Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
  • 28. Bigtable systems Started from Google’s BigTable implementation Uses a key-value store Data can be replicated for better availability Uses a timestamp Timestamp is used to Expire data Delete stale data Resolve read-write conflicts Same value can be indexed using multiple keys Map-reduce framework to compute Example: BigTable, HBase, Cassandra, HyperTable, SimpleDB Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 9 / 12
  • 29. Document databases Uses documents as the main storage format of data Popular document formats are XML, JSON, BSON, YAML Document itself is the key while the content is the value Document can be indexed by id or simply its location (e.g., URI) Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
  • 30. Document databases Uses documents as the main storage format of data Popular document formats are XML, JSON, BSON, YAML Document itself is the key while the content is the value Document can be indexed by id or simply its location (e.g., URI) Content needs to be parsed to make sense Content can be organised further Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
  • 31. Document databases Uses documents as the main storage format of data Popular document formats are XML, JSON, BSON, YAML Document itself is the key while the content is the value Document can be indexed by id or simply its location (e.g., URI) Content needs to be parsed to make sense Content can be organised further Extremely useful for insert-once read-many scenarios Can use map-reduce framework to compute Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
  • 32. Document databases Uses documents as the main storage format of data Popular document formats are XML, JSON, BSON, YAML Document itself is the key while the content is the value Document can be indexed by id or simply its location (e.g., URI) Content needs to be parsed to make sense Content can be organised further Extremely useful for insert-once read-many scenarios Can use map-reduce framework to compute Example: MongoDB, CouchDB Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 10 / 12
  • 33. Graph databases Nodes represent entities Edges encode relationships between nodes Can be directed Can have hyper-edges as well Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
  • 34. Graph databases Nodes represent entities Edges encode relationships between nodes Can be directed Can have hyper-edges as well Easier to find distances and neighbors Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
  • 35. Graph databases Nodes represent entities Edges encode relationships between nodes Can be directed Can have hyper-edges as well Easier to find distances and neighbors Example: Neo4J, HyperGraph, Infinite Graph, FlockDB Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 11 / 12
  • 36. Discussion NoSQL, although started as anti-SQL, is no more so More a realisation that for some cases RDBMS does not scale or distribute, and in some other cases ACIDity is an overkill Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12
  • 37. Discussion NoSQL, although started as anti-SQL, is no more so More a realisation that for some cases RDBMS does not scale or distribute, and in some other cases ACIDity is an overkill NoSQL is not good for every scenario Not every good feature reported has been validated Most legacy systems still use RDBMS Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12
  • 38. Discussion NoSQL, although started as anti-SQL, is no more so More a realisation that for some cases RDBMS does not scale or distribute, and in some other cases ACIDity is an overkill NoSQL is not good for every scenario Not every good feature reported has been validated Most legacy systems still use RDBMS NoSQL horizon is shifting rapidly with almost no control or sense However, trend is for NoSQL as cloud computing and big data relies on it Arnab Bhattacharya (arnabb@cse.iitk.ac.in) CS315: NoSQL 2013-14 12 / 12