SlideShare a Scribd company logo
1 of 15
Download to read offline
NoSQL

Tomas Bosak
@yojimbo87            July 2011
WHAT IS NoSQL?
Not only SQL movement around distributed DBs.


Flexible schema changes, join-less querying,
horizontally scalable.


Various types of DBs with different data models.


More options when building solutions and solving
problems than classic RDBMS.



                                                   2/15
CAP THEOREM
Three core system properties:

  1. Consistency
     ACID - what you write is what you will read.
     CAP - all nodes see the same piece of data.

  2. Availability
     Service is available and responsive.

  3. Partition Tolerance
     System continues to operate even if some
     of the nodes are unavailable.

                                                    3/15
SYSTEM REQUIREMENTS
Only 2 out of 3 properties of CAP theorem can be
achieved at any given time:

- All NoSQL systems should be partition tolerant

- C or A depends on the level of consistency



Strong Consistency         Eventual Consistency
- no stale reads           - stale reads possible
- higher read latency      - lowest read latency
- lower read throughput    - highest read throughput

                                                   4/15
VARIOUS DATA MODELS
Document Oriented
- collection of documents
- flexible schema, programmer/web friendly, REST
- MongoDB, CouchDB, RavenDB

Key-Value Stores
- collection of key-value pairs
- handles size well, very fast
- Riak, Redis, Membase



                                                   5/15
VARIOUS DATA MODELS
Graph Oriented
- graph theory based
- complex relationships, fast
 - Neo4j, OrientDB*

Object Oriented
- objects
- complex objects, direct serialization, fast
- db4o, Objectivity, Versant



                                                6/15
MongoDB
Main Properties
- written in C++ (AGPL license)
- binary protocol, JSON style documents
- Master/slave replication, auto sharding
- JavaScript based ad hoc and map/reduce querying

Use Cases
- general purpose NoSQL system
- caching, high volume data store
- real-time statistics, archiving, logging, commerce
- users: foursquare, bit.ly, SourceForge, GitHub, ...

                                                    7/15
CouchDB
Main Properties
- written in Erlang (Apache license)
- REST interface, JSON style documents
- MVCC, N master replication
- map/reduce querying, reliable design

Use Cases
- N master replication on various systems
- scenarios where versioning is important
- scenarios where ad hoc queries are not required
- users: BBC, Ubuntu One, Engine Yard, CERN, ...

                                                    8/15
Riak
Main Properties
- written in Erlang (Apache license)
- REST interface, binary protocol
- shard-partitioned storage, tunable consistency
- map/reduce querying, full-text search

Use Cases
- scenarios with tunable level of consistency
- built-in search requirement
- performance oriented systems
- users: Mozilla, Yammer, Aol, Voxer, ...

                                                   9/15
Redis
Main Properties
- written in C (BSD license)
- binary protocol
- disk-backed in-memory database (VM support)
- advanced data structures, pub/sub, very fast

Use Cases
- caching
- real-time data, analytics, statistics
- scenarios where performance matters
- users: GitHub, StackOverflow, Blizzard, Disqus, ...

                                                   10/15
Neo4j
Main Properties
- written in Java (GPL license)
- REST interface, embedding
- optimized for reads, Gremlin traversal language
- deployable as a full server or a very slim database

Use Cases
- graph style data
- social relations, network topologies
- tagging, metadata annotations, hierarchic data
- users: Schor.ly, Namesake, Face2Face, ...

                                                   11/15
OrientDB
Main Properties
- written in Java (Apache license)
- REST interface, binary protocol
- object/document/graph database hybrid
- embeddable, SQL-like querying

Use Cases
- general purpose NoSQL solution
- scenarios where fast insertion matters
- cross-platform requirements
- users: NuvolaBase

                                           12/15
db4o
Main Properties
- written in Java/.NET (GPL license)
- REST interface, binary protocol
- embeddable, low footprint (~1MB)
- data access through Native Queries, LINQ

Use Cases
- ORM-free data manipulation
- database installation-free scenarios
- cross-platform requirements
- users: Boeing, BOSCH, Seagate, IBM, Intel, ...

                                                   13/15
BENCHMARKS IN GENERAL
Real benchmarks require real-world data/load.

Speed versus data durability.

More operations per second != better system.

Cost of I/O.
   L1 cache                 3 cycles
   L2 cache                14 cycles
   RAM                    250 cycles
   Disk            41 000 000 cycles
   Network        240 000 000 cycles
                                                14/15
RESOURCES
NoSQL Ecosystem
Brewer's CAP Theorem
Systemic Requirements
Choosing consistency
Eventually Consistent - Revisited

List of NoSQL Databases
NoSQL Databases Comparison
Choosing SQL, NoSQL or Both
Use Cases For Choosing NoSQL Database
NoSQL, NewSQL and Beyond
                                        15/15

More Related Content

What's hot

Running deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jRunning deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jAlexander Fedintsev
 
Cache options for Data Layer
Cache options for Data LayerCache options for Data Layer
Cache options for Data LayerHussain Mansoor
 
WiredTiger Overview
WiredTiger OverviewWiredTiger Overview
WiredTiger OverviewWiredTiger
 
What'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarWhat'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarMongoDB
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo  postgre sql-online-trainingBn 1016 demo  postgre sql-online-training
Bn 1016 demo postgre sql-online-trainingconline training
 
Migrating from MySQL to MongoDB
Migrating from MySQL to MongoDBMigrating from MySQL to MongoDB
Migrating from MySQL to MongoDBJames Carr
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XCAshutosh Bapat
 
[Altibase] 2-1 features
[Altibase] 2-1 features[Altibase] 2-1 features
[Altibase] 2-1 featuresaltistory
 
Get More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMXGet More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMXTim Callaghan
 
Drupal caching
Drupal cachingDrupal caching
Drupal cachingExove
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.com
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemAdam Marcus
 
Project Voldemort: Big data loading
Project Voldemort: Big data loadingProject Voldemort: Big data loading
Project Voldemort: Big data loadingDan Harvey
 

What's hot (20)

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
 
Running deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4jRunning deep neural nets in your Java application with Deeplearning4j
Running deep neural nets in your Java application with Deeplearning4j
 
Cache options for Data Layer
Cache options for Data LayerCache options for Data Layer
Cache options for Data Layer
 
WiredTiger Overview
WiredTiger OverviewWiredTiger Overview
WiredTiger Overview
 
What'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarWhat'sNnew in 3.0 Webinar
What'sNnew in 3.0 Webinar
 
MongoDB
MongoDBMongoDB
MongoDB
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo  postgre sql-online-trainingBn 1016 demo  postgre sql-online-training
Bn 1016 demo postgre sql-online-training
 
In-memory database
In-memory databaseIn-memory database
In-memory database
 
Migrating from MySQL to MongoDB
Migrating from MySQL to MongoDBMigrating from MySQL to MongoDB
Migrating from MySQL to MongoDB
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XC
 
[Altibase] 2-1 features
[Altibase] 2-1 features[Altibase] 2-1 features
[Altibase] 2-1 features
 
Megastore by Google
Megastore by GoogleMegastore by Google
Megastore by Google
 
OldSQL to NewSQL
OldSQL to NewSQL OldSQL to NewSQL
OldSQL to NewSQL
 
Get More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMXGet More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMX
 
Drupal caching
Drupal cachingDrupal caching
Drupal caching
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New Features
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL Ecosystem
 
No sql
No sqlNo sql
No sql
 
Project Voldemort: Big data loading
Project Voldemort: Big data loadingProject Voldemort: Big data loading
Project Voldemort: Big data loading
 

Similar to NoSQL

The NoSQL Ecosystem
The NoSQL Ecosystem The NoSQL Ecosystem
The NoSQL Ecosystem yarapavan
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLAlexei Krasner
 
NonStop SQL/MX DBS Explained
NonStop SQL/MX DBS ExplainedNonStop SQL/MX DBS Explained
NonStop SQL/MX DBS ExplainedFrans Jongma
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...Qian Lin
 
A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.Navdeep Charan
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options ComparedSergey Bushik
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateDataWorks Summit
 
North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911Ines Sombra
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL DatabaseSteve Min
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLRamakant Soni
 
NOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfNOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfajajkhan16
 
SQL and NoSQL in SQL Server
SQL and NoSQL in SQL ServerSQL and NoSQL in SQL Server
SQL and NoSQL in SQL ServerMichael Rys
 
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...javier ramirez
 
001 hbase introduction
001 hbase introduction001 hbase introduction
001 hbase introductionScott Miao
 
Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practicesHaseeb Alam
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...Felix Gessert
 

Similar to NoSQL (20)

The NoSQL Ecosystem
The NoSQL Ecosystem The NoSQL Ecosystem
The NoSQL Ecosystem
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
 
NonStop SQL/MX DBS Explained
NonStop SQL/MX DBS ExplainedNonStop SQL/MX DBS Explained
NonStop SQL/MX DBS Explained
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
 
A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options Compared
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community Update
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL Database
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
NOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfNOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdf
 
SQL and NoSQL in SQL Server
SQL and NoSQL in SQL ServerSQL and NoSQL in SQL Server
SQL and NoSQL in SQL Server
 
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
 
001 hbase introduction
001 hbase introduction001 hbase introduction
001 hbase introduction
 
Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practices
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
Rdbms vs. no sql
Rdbms vs. no sqlRdbms vs. no sql
Rdbms vs. no sql
 

Recently uploaded

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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
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
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
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
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

NoSQL

  • 2. WHAT IS NoSQL? Not only SQL movement around distributed DBs. Flexible schema changes, join-less querying, horizontally scalable. Various types of DBs with different data models. More options when building solutions and solving problems than classic RDBMS. 2/15
  • 3. CAP THEOREM Three core system properties: 1. Consistency ACID - what you write is what you will read. CAP - all nodes see the same piece of data. 2. Availability Service is available and responsive. 3. Partition Tolerance System continues to operate even if some of the nodes are unavailable. 3/15
  • 4. SYSTEM REQUIREMENTS Only 2 out of 3 properties of CAP theorem can be achieved at any given time: - All NoSQL systems should be partition tolerant - C or A depends on the level of consistency Strong Consistency Eventual Consistency - no stale reads - stale reads possible - higher read latency - lowest read latency - lower read throughput - highest read throughput 4/15
  • 5. VARIOUS DATA MODELS Document Oriented - collection of documents - flexible schema, programmer/web friendly, REST - MongoDB, CouchDB, RavenDB Key-Value Stores - collection of key-value pairs - handles size well, very fast - Riak, Redis, Membase 5/15
  • 6. VARIOUS DATA MODELS Graph Oriented - graph theory based - complex relationships, fast - Neo4j, OrientDB* Object Oriented - objects - complex objects, direct serialization, fast - db4o, Objectivity, Versant 6/15
  • 7. MongoDB Main Properties - written in C++ (AGPL license) - binary protocol, JSON style documents - Master/slave replication, auto sharding - JavaScript based ad hoc and map/reduce querying Use Cases - general purpose NoSQL system - caching, high volume data store - real-time statistics, archiving, logging, commerce - users: foursquare, bit.ly, SourceForge, GitHub, ... 7/15
  • 8. CouchDB Main Properties - written in Erlang (Apache license) - REST interface, JSON style documents - MVCC, N master replication - map/reduce querying, reliable design Use Cases - N master replication on various systems - scenarios where versioning is important - scenarios where ad hoc queries are not required - users: BBC, Ubuntu One, Engine Yard, CERN, ... 8/15
  • 9. Riak Main Properties - written in Erlang (Apache license) - REST interface, binary protocol - shard-partitioned storage, tunable consistency - map/reduce querying, full-text search Use Cases - scenarios with tunable level of consistency - built-in search requirement - performance oriented systems - users: Mozilla, Yammer, Aol, Voxer, ... 9/15
  • 10. Redis Main Properties - written in C (BSD license) - binary protocol - disk-backed in-memory database (VM support) - advanced data structures, pub/sub, very fast Use Cases - caching - real-time data, analytics, statistics - scenarios where performance matters - users: GitHub, StackOverflow, Blizzard, Disqus, ... 10/15
  • 11. Neo4j Main Properties - written in Java (GPL license) - REST interface, embedding - optimized for reads, Gremlin traversal language - deployable as a full server or a very slim database Use Cases - graph style data - social relations, network topologies - tagging, metadata annotations, hierarchic data - users: Schor.ly, Namesake, Face2Face, ... 11/15
  • 12. OrientDB Main Properties - written in Java (Apache license) - REST interface, binary protocol - object/document/graph database hybrid - embeddable, SQL-like querying Use Cases - general purpose NoSQL solution - scenarios where fast insertion matters - cross-platform requirements - users: NuvolaBase 12/15
  • 13. db4o Main Properties - written in Java/.NET (GPL license) - REST interface, binary protocol - embeddable, low footprint (~1MB) - data access through Native Queries, LINQ Use Cases - ORM-free data manipulation - database installation-free scenarios - cross-platform requirements - users: Boeing, BOSCH, Seagate, IBM, Intel, ... 13/15
  • 14. BENCHMARKS IN GENERAL Real benchmarks require real-world data/load. Speed versus data durability. More operations per second != better system. Cost of I/O. L1 cache 3 cycles L2 cache 14 cycles RAM 250 cycles Disk 41 000 000 cycles Network 240 000 000 cycles 14/15
  • 15. RESOURCES NoSQL Ecosystem Brewer's CAP Theorem Systemic Requirements Choosing consistency Eventually Consistent - Revisited List of NoSQL Databases NoSQL Databases Comparison Choosing SQL, NoSQL or Both Use Cases For Choosing NoSQL Database NoSQL, NewSQL and Beyond 15/15