SlideShare a Scribd company logo
1 of 49
NoSQL for SQL Professionals
Dipti Borkar
Director, Product Management
Link to Slides

http://bit.ly/17pgrcP
Macro Trends Driving NoSQL Technology
More Data

More Users

+

Interactive Apps

+

NoSQL
Lacking Solutions, Users Forced to Invent

Bigtable

November 2006

Dynamo
October 2007

Cassandra
August 2008

Voldemort
February 2009

Very few organizations can build and maintain database software technology.
But every organization building interactive web applications needs this technology.
What Is Biggest Data Management Problem
Driving Use of NoSQL in Coming Year?

49%
35%

29%
16%

Lack of flexibility/
rigid schemas

Inability to
scale out data

Source: Couchbase Survey, December 2011, n = 1351.

Performance
challenges

Cost

12%
All of these

11%
Other
Relational vs. NoSQL
Key Differences
Relational Technology Scales Up
Application Scales Out
Just add more commodity web servers
System Cost
Application Performance

Web/App Server Tier

Users

RDBMS Scales Up
Get a bigger, more complex server
System Cost
Application Performance

Won’t
scale
beyond
this point

Relational Database
Users

Expensive and disruptive sharding, doesn’t perform at web scale
Couchbase Server Scales Out Like App
Tier

Application Scales Out
Just add more commodity web servers
System Cost
Application Performance

Web/App Server Tier

Users

NoSQL Database Scales Out
Cost and performance mirrors app tier
System Cost
Application Performance

Couchbase Distributed Data Store

Users

Scaling out flattens the cost and performance curves
Differences
• 1. Tables vs Document
-

Relational has tables with predefined columns: Schema pre-determined before
data can be inserted.
Best practice is to normalize by splitting into several tables, joined by PK-FK
relation.
Differences
• Tables vs Document (contd.)
-

In Couchbase, there are no tables only documents
A logical entity is stored within a single document
Different documents do not need to have the same set of fields or structure
You differentiate different types of documents either based on key names you
provide or by adding attributes
Relational vs Document Data Model
C1

C2

C3

C4

{

JSON
JSON

}
JSON

Relational data model

Document data model

Highly-structured table organization
with rigidly-defined data formats and
record structure.

Collection of complex documents with
arbitrary, nested data formats and
varying “record” format.
Differences
• Joins vs logical single document
-

Single logical document. No need for joins.
If normalized and several documents, then use a series of gets
recipe= couchbase.get("my-recipe-id");
reviews = couchbase.multiget(recipe.comments);

• Transactions
-

Relational: Atomicity can span several records across several tables.
NoSQL: Atomicity confined to at document level
Key Couchbase Concepts
Clients

Servers

Documents

User/application data

Read/write from/to

Data Buckets

Multitenant Architecture

Which live on

Server Nodes

based on bucket partitioning

That form a

Couchbase Cluster

dynamically scalable
RDBMS Example: User Profile
User Info

Address Info

KEY

First

Last

ZIP_id

ZIP_id

CITY

STATE

ZIP

1

Dipti

Borkar

2

1

DEN

CO

30303

2

Joe

Smith

2

2

MV

CA

94040

3

Ali

Dodson

2

3

CHI

IL

60609

4

John

Doe

3

4

NY

NY

10010

To get information about specific user, you perform a join across two tables
Document Example: User Profile

{
“ID”: 1,
“FIRST”: “Dipti”,
“LAST”: “Borkar”,
“ZIP”: “94040”,
“CITY”: “MV”,
“STATE”: “CA”

=

+

}
JSON

All data in a single document
Making a Change Using RDBMS
Photo Table

User Table
User ID

First

Last

Zip

Country
ID

1

Dipti

Borkar

94040

001

Country Table

User ID

TEL
3

Photo ID

Comment

2

d043

NYC

2

b054

Country
ID

Country ID

Country name

001

001

USA

Bday

007

002

UK

003

Argentina

004

Australia

005

Aruba

006

Austria

007

Brazil

008

Canada

009

Chile

2

Joe

Smith

94040

001

5

c036

Miami

001

3

Ali

Dodson

94040

001

7

d072

Sunset

133

5002

e086

Spain

133

4

Sarah

Gorin

NW1

002

5

Bob

Young

30303

001

6

Nancy

Baker

10010

001

Status Table

8

Ray

Jones

Lee

Chen

31311
V5V3M

001
008

.
.
.

•
•
•

Status ID

Text

1

a42

At conf

134

4

b26

excited

007

5

7

User ID

Country
ID

c32

hockey

008

12

d83

Go A’s

001

5000

e34

sailing

005

130

Affiliations Table
User ID

Doug

Moore

04252

001

50001

Mary

White

SW195

002

50002

Lisa

Clark

12425

001

Affl ID

Affl Name

Country
ID

2

a42

Cal

001

4

b96

USC

001

7

50000

•
•
•

c14

UW

001

8

e22

Oxford

002

Portugal

131

Romania

132

Russia

133

Spain

134

Sweden
Making the Same Change With a
Document DB
{
“ID”: 1,
“FIRST”: “Dipti”,
“LAST”: “Borkar”,
“ZIP”: “94040”,
“CITY”: “MV”,
“STATE”: “CA”,
“STATUS”:
, “TEXT”: “At Conf”
,}
} “GEO_LOC”: “134” -,
“COUNTRY”: ”USA”

}

JSON

Just add information to a document
Relational vs Document Performance
User Table

Photo Table

First

Last

Zip

1

Frank

Wiegel
Weigel

94040

2

Joe

Smith

94040

3

Ali

Dodson

94040

4

Sarah

Gorin

Bob

Young

30303

6

Nancy

Baker

10010

7

Ray

Jones

31311

Photo
ID

Comment

d043

NYC

2

b054

Bday

5

c036

Miami

7

d072

Sunset

5002

e086

Spain

NW1

5

User
ID
2

User
ID

Status Table

Lee

Chen

V5V3

•
•
•

Status
ID

Text

1

a42

At conf

4
5

b26
c032

5
4

c32
b26

hockey

d83

Go A’s

5000

e34

sailing

Affiliations Table
User
ID

5000

Doug

Moore

04252

5001

Mary

White

41694

5002
5002

Lisa
Lisa

Clark

12425

{

excited

12

8

User
ID

{

Affiliations Affiliations
ID
Name

2

a42
b96
c14

UW

8

e22

JSON
JSON
JSON
JSON
JSON
JSON

USC

7

}

}

}

}

}}

Cal

4

{

{

{{

Oxford

Faster response times and higher throughput
Document Databases Easily Accommodate
Unstructured Data
Hotels
{
“ID”: 1,
“NAME”: “Fairmont San Francisco”,
“DESCRIPTION”: “Historic grandeur…”,
“AVG_REVIEWER_SCORE”: “4.3”,
“AMENITY”: ,“TYPE”: “gym”,
DESCRIPTION: “fitness center”
},
,“TYPE”: “wifi”,
“DESCRIPTION”: “free wifi”-,
“RATE_TYPE”: “nightly”,
“PRICE”: “$199”,
“REVIEWS”: *“review_1”, “review_2”+,
“ATTRACTIONS”: “Chinatown”,
{
}
“ID”: 2,
“NAME”: “W San Francisco”,
JSON
“DESCRIPTION”: “Chic, hip accommodations..”,
“AVG_REVIEWER_SCORE”: “4.0”,
“AMENITY”: ,“TYPE”: “spa”,
DESCRIPTION: “Bliss Spa”
},
,“TYPE”: “wifi”,
“DESCRIPTION”: “free wifi”-,
,“TYPE”: “dining”,
“DESCRIPTION”: “bar/lounge”-,
“RATE_TYPE”: “nightly”,
“PRICE”: “$194”,
“REVIEWS”: *“review_1”, “review_2”+,
}

JSON
Document Databases Easily Accommodate
Unstructured Data
Hotels
{
“ID”: 1,
“NAME”:
“Fairmont San
Francisco”,
…-

JSON

Reviews
{
“REVIEW_ID”: 1,
“REVIEW”: “Loved Hotel &
Location”,
“WOULD RECOMMEND”:
“yes”,
{
“AVG_REVIEWER_SCORE”: “5”,
“REVIEW_ID”: 2,
“REVIEW_DATE”: “May
“REVIEW”: “Nice, but a few
29, 2013”,
kinks”, “271”,
“USER_PROFILE_ID”:
“WOULD RECOMMEND”:
“yes”,
}
“AVG_REVIEWER_SCORE”: “4”,
JSON
“REVIEW_DATE”: “May
22, 2013”,
“USER_PROFILE_ID”: “923”,

}

JSON
Document Databases Easily Accommodate
Unstructured Data
Hotel Descriptions
{
“ID”: 1,
“NAME”:
“Fairmont San
Francisco”,
…-

JSON

Reviews
{
“REVIEW_ID”:
1,
“REVIEW”:
“Loved Hotel…”,
…-

JSON

User Profiles

{
“REVIEW_ID”:
2,
“REVIEW”:
“Nice, but …”,
…-

JSON

{
“USER_ID”: 1,
{
“DISPLAY_NAME ”:
“USER_ID”: 1,
“Ted’s Trip Experience”,
“DISPLAY_NAME ”:
“CITY”: “Saratoga”,
“WhatWhat567”,
“STATE”: “California”,
“CITY”: “Kansas
“NUM_OF_REVIEWS”:
City”,
“8”,
“STATE”: “MO”,
}
“NUM_OF_REVIEWS”:
“3”,
JSON
}
JSON
Document Databases Easily Accommodate
Unstructured Data
Hotel Descriptions
{
“ID”: 1,
“NAME”:
“Fairmont San
Francisco”,
…-

Hotels
points to
reviews

JSON

Reviews
{
“REVIEW_ID”:
1,
“REVIEW”:
“Loved Hotel…”,
…-

JSON

{
“REVIEW_ID”:
2,
“REVIEW”:
“Nice, but …”,
…-

JSON

User Profiles
{
“USER_ID”: 1,
“DISPLAY”:
“Ted’s Trip…”,
…-

{
“USER_ID”: 2,
“DISPLAY”:
“WhatWhat …”,
…-

JSON

Document IDs associates related objects

JSON

Reviews
points
to users
Indexing with Document Databases
Index on AVG_REVIEWER_SCORE
Indexing with Document Databases
Index on AVG_REVIEWER_SCORE
Index
…
4.0, doc_id
4.0, doc_id
4.1, doc_id
4.3, doc_id
5.0, doc_id
…
Querying with Document Databases
Query on AVG_REVIEWER_SCORE
Query

Index
…
3.4, doc_id
3.4, doc_id
3.5, doc_id
3.6, doc_id
3.7, doc_id
3.8, doc_id
4.0, doc_id
4.1, doc_id
4.3, doc_id
4.5, doc_id
4.7, doc_id
4.9, doc_id
5.0, doc_id
…
5.0, doc_id

Matching Results
Flavors of NoSQL
NoSQL catalog

Database
(memory/disk)

Cache
(memory only)

Key-Value

Data Structure

memcached

redis

membase

Document

Column

Graph

couchbase

cassandra

Neo4j

mongoDB
The Key-Value Store – the foundation of NoSQL

Key
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Memcached – the NoSQL precursor

Key
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

memcached
In-memory only
Limited set of operations
Blob Storage: Set, Add, Replace, CAS
Retrieval: Get
Structured Data: Append, Increment
“Simple and fast.”

Challenges: cold cache, disruptive elasticity
Couchbase – document-oriented database
Key

Couchbase

{
“string” : “string”,
“string” : value,
“string” :
, “string” : “string”,
JSON
“string” : value -,
OBJECT
“string” : * array +
}

(“DOCUMENT”)

Auto-sharding
Disk-based with built-in memcached cache
Cache refill on restart
Memcached compatible (drop in replace)
Highly-available (data replication)
Add or remove capacity to live cluster
When values are JSON objects (“documents”):
Create indices, views and query against the
views
NoSQL catalog

Database
(memory/disk)

Cache
(memory only)

Key-Value

Data Structure

memcached

redis

membase

Document

couchbase

Column

Graph
MongoDB – Document-oriented database
Key

MongoDB

{

}

“string” : “string”,
“string” : value,
“string” :
BSON
, “string” : “string”,
OBJECT
“string” : value -,
“string” : * array +
(“DOCUMENT”)

Disk-based with in-memory “caching”
BSON (“binary JSON”) format and wire protocol
Master-slave replication
Auto-sharding
Values are BSON objects
Supports ad hoc queries – best when indexed
MongoDB Architecture
NoSQL catalog

Database
(memory/disk)

Cache
(memory only)

Key-Value

Data Structure

memcached

redis

membase

Document

couchbase

mongoDB

Column

Graph
Cassandra – Column overlays
Key

Column 1
Column 2

Column 3
(not present)

101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

Cassandra
Disk-based system
Clustered
External caching required for low-latency reads
“Columns” are overlaid on the data
Not all rows must have all columns
Supports efficient queries on columns
Restart required when adding columns
Good cross-datacenter support
Cassandra Architecture
NoSQL catalog

Database
(memory/disk)

Cache
(memory only)

Key-Value

Data Structure

memcached

redis

membase

Document

Column

couchbase

cassandra

mongoDB

Graph
Neo4j – Graph database
Key
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

Key

Neo4j

Key

101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

Key
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

Key
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
Opaque
101100101000100010011101
Binary
101100101000100010011101
101100101000100010011101
Value
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101
101100101000100010011101

Disk-based system
External caching required for low-latency reads
Nodes, relationships and paths
Properties on nodes
Delete, Insert, Traverse, etc.
NoSQL catalog

Database
(memory/disk)

Cache
(memory only)

Key-Value

Data Structure

memcached

redis

membase

Document

Column

Graph

couchbase

cassandra

Neo4j

mongoDB
Where is NoSQL a good fit?
Market Adoption
Internet Companies
• Social Gaming
• Ad Networks
• Social Networks
• Online Business Services
• E-Commerce
• Online Media
• Content Management
• Cloud Services

Enterprises
• Communications
• Retail
• Financial Services
• Health Care
• Automotive/Airline
• Agriculture
• Consumer Electronics
• Business Systems
Market Adoption – Customers
Internet Companies

Enterprises

More than 300 customers -- 5,000 production deployments worldwide
Application Characteristics - Data driven
• 3rd party or user defined structure (Twitter feeds)
• Support for unlimited data growth (Viral apps)

• Data with non-homogenous structure
• Need to quickly and often change data structure
• Variable length documents

• Sparse data records
• Hierarchical data

Couchbase is a good fit
Application Characteristics - Performance
driven
• Low latency critical (ex. 1millisecond)
• High throughput (ex. 200000 ops / sec)
• Large number of users
• Unknown demand with sudden growth of users/data
• Predominantly direct document access
• Read / Mixed / Write heavy workloads

Couchbase is a good fit
Common Use Cases
Social Gaming
• Couchbase stores
player and game
data
• Examples
customers include:
Zynga
• Tapjoy, Ubisoft, Ten
cent

Mobile Apps
• Couchbase stores user
info and app content
• Examples customers
include: Kobo, Playtika

Ad Targeting
• Couchbase stores
user information for
fast access
• Examples customers
include:
AOL, Mediamind, Co
nvertro

Session store
• Couchbase Server as a keyvalue store
• Examples customers include:
Concur, Sabre

User Profile Store
• Couchbase Server as a
key-value store
• Examples customers
include: Tunewiki

High availability cache
• Couchbase Server used as a cache tier replacement

• Examples customers include: Orbitz

Content & Metadata
Store

• Couchbase document store
with Elasticsearch
• Examples customers
include: McGraw Hill,
Tunewiki

3rd party data aggregation
• Couchbase stores social media and
data feeds
• Examples customers include:
Sambacloud
Q&A
Thank you

dipti@couchbase.com
@dborkar

More Related Content

What's hot

NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options ComparedSergey Bushik
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013Dipti Borkar
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsMike Broberg
 
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...Data Con LA
 
How companies use NoSQL and Couchbase
How companies use NoSQL and CouchbaseHow companies use NoSQL and Couchbase
How companies use NoSQL and CouchbaseDipti Borkar
 
Cloudant Overview Bluemix Meetup from Lisa Neddam
Cloudant Overview Bluemix Meetup from Lisa NeddamCloudant Overview Bluemix Meetup from Lisa Neddam
Cloudant Overview Bluemix Meetup from Lisa NeddamRomeo Kienzler
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2Raul Chong
 
Enterprise Architect's view of Couchbase 4.0 with N1QL
Enterprise Architect's view of Couchbase 4.0 with N1QLEnterprise Architect's view of Couchbase 4.0 with N1QL
Enterprise Architect's view of Couchbase 4.0 with N1QLKeshav Murthy
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBMongoDB
 
NoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonNoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonMayuree Srikulwong
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Managementsameerfaizan
 
Azure doc db (slideshare)
Azure doc db (slideshare)Azure doc db (slideshare)
Azure doc db (slideshare)David Green
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBJan Hentschel
 
SQL Server 2017 Machine Learning Services
SQL Server 2017 Machine Learning ServicesSQL Server 2017 Machine Learning Services
SQL Server 2017 Machine Learning ServicesSorin Peste
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAlex Tumanoff
 

What's hot (20)

NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options Compared
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
 
How companies use NoSQL and Couchbase
How companies use NoSQL and CouchbaseHow companies use NoSQL and Couchbase
How companies use NoSQL and Couchbase
 
Cloudant Overview Bluemix Meetup from Lisa Neddam
Cloudant Overview Bluemix Meetup from Lisa NeddamCloudant Overview Bluemix Meetup from Lisa Neddam
Cloudant Overview Bluemix Meetup from Lisa Neddam
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
Enterprise Architect's view of Couchbase 4.0 with N1QL
Enterprise Architect's view of Couchbase 4.0 with N1QLEnterprise Architect's view of Couchbase 4.0 with N1QL
Enterprise Architect's view of Couchbase 4.0 with N1QL
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
Azure DocumentDB
Azure DocumentDBAzure DocumentDB
Azure DocumentDB
 
An Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDBAn Enterprise Architect's View of MongoDB
An Enterprise Architect's View of MongoDB
 
NoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and ComparisonNoSQL Database: Classification, Characteristics and Comparison
NoSQL Database: Classification, Characteristics and Comparison
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Management
 
Azure doc db (slideshare)
Azure doc db (slideshare)Azure doc db (slideshare)
Azure doc db (slideshare)
 
CouchDB
CouchDBCouchDB
CouchDB
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDB
 
NoSQL Seminer
NoSQL SeminerNoSQL Seminer
NoSQL Seminer
 
SQL Server 2017 Machine Learning Services
SQL Server 2017 Machine Learning ServicesSQL Server 2017 Machine Learning Services
SQL Server 2017 Machine Learning Services
 
Azure data bricks by Eugene Polonichko
Azure data bricks by Eugene PolonichkoAzure data bricks by Eugene Polonichko
Azure data bricks by Eugene Polonichko
 

Viewers also liked

Database Review and Challenges (2016)
Database Review and Challenges (2016)Database Review and Challenges (2016)
Database Review and Challenges (2016)Mayuree Srikulwong
 
Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sqlSean Murphy
 
Introduction to NoSQL Database
Introduction to NoSQL DatabaseIntroduction to NoSQL Database
Introduction to NoSQL DatabaseMohammad Alghanem
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesYoav Francis
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL DatabasesDerek Stainer
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremRahul Jain
 

Viewers also liked (7)

Database Review and Challenges (2016)
Database Review and Challenges (2016)Database Review and Challenges (2016)
Database Review and Challenges (2016)
 
Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
 
Introduction to NoSQL Database
Introduction to NoSQL DatabaseIntroduction to NoSQL Database
Introduction to NoSQL Database
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and Practices
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP Theorem
 

Similar to Characteristics of no sql databases

Couchbase Overview Nov 2013
Couchbase Overview Nov 2013Couchbase Overview Nov 2013
Couchbase Overview Nov 2013Jeff Harris
 
Building Highly Flexible, High Performance Query Engines
Building Highly Flexible, High Performance Query EnginesBuilding Highly Flexible, High Performance Query Engines
Building Highly Flexible, High Performance Query EnginesMapR Technologies
 
No sql for sql professionals
No sql for sql professionalsNo sql for sql professionals
No sql for sql professionalsRic Centre
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014Kallex
 
Couchbase Mobile on Android
Couchbase Mobile on AndroidCouchbase Mobile on Android
Couchbase Mobile on AndroidPhilipp Fehre
 
PgConf 2018 - Postgres in a World of DevOps
PgConf 2018 - Postgres in a World of DevOpsPgConf 2018 - Postgres in a World of DevOps
PgConf 2018 - Postgres in a World of DevOpsEDB
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 
Couchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupCouchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupsharonyb
 
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachSlides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachDATAVERSITY
 
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Cathrine Wilhelmsen
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDBBrian Ritchie
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedKenneth Peeples
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmurTobias Koprowski
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
 
NoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresNoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresEDB
 

Similar to Characteristics of no sql databases (20)

Couchbase Overview Nov 2013
Couchbase Overview Nov 2013Couchbase Overview Nov 2013
Couchbase Overview Nov 2013
 
Building Highly Flexible, High Performance Query Engines
Building Highly Flexible, High Performance Query EnginesBuilding Highly Flexible, High Performance Query Engines
Building Highly Flexible, High Performance Query Engines
 
No sql for sql professionals
No sql for sql professionalsNo sql for sql professionals
No sql for sql professionals
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
MediaGlu and Mongo DB
MediaGlu and Mongo DBMediaGlu and Mongo DB
MediaGlu and Mongo DB
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
MongoDB 3.4 webinar
MongoDB 3.4 webinarMongoDB 3.4 webinar
MongoDB 3.4 webinar
 
Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014Scalable Architectures - Microsoft Finland DevDays 2014
Scalable Architectures - Microsoft Finland DevDays 2014
 
Couchbase Mobile on Android
Couchbase Mobile on AndroidCouchbase Mobile on Android
Couchbase Mobile on Android
 
PgConf 2018 - Postgres in a World of DevOps
PgConf 2018 - Postgres in a World of DevOpsPgConf 2018 - Postgres in a World of DevOps
PgConf 2018 - Postgres in a World of DevOps
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
Couchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupCouchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetup
 
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical ApproachSlides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
Slides: NoSQL Data Modeling Using JSON Documents – A Practical Approach
 
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)Data Integration through Data Virtualization (SQL Server Konferenz 2019)
Data Integration through Data Virtualization (SQL Server Konferenz 2019)
 
Document Databases & RavenDB
Document Databases & RavenDBDocument Databases & RavenDB
Document Databases & RavenDB
 
MongodB Internals
MongodB InternalsMongodB Internals
MongodB Internals
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speed
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 
NoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured PostgresNoSQL on ACID - Meet Unstructured Postgres
NoSQL on ACID - Meet Unstructured Postgres
 

More from Dipti Borkar

Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...Dipti Borkar
 
Revolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement DatabaseRevolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement DatabaseDipti Borkar
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Dipti Borkar
 
Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?Dipti Borkar
 
Couchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep diveCouchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep diveDipti Borkar
 
Couchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep diveCouchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep diveDipti Borkar
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Dipti Borkar
 
Transition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA DayTransition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA DayDipti Borkar
 
Introduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseIntroduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseDipti Borkar
 
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012Dipti Borkar
 
Couchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = ThreeCouchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = ThreeDipti Borkar
 
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and DemoIntroduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and DemoDipti Borkar
 
Go simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkarGo simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkarDipti Borkar
 

More from Dipti Borkar (13)

Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
 
Revolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement DatabaseRevolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement Database
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013
 
Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?
 
Couchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep diveCouchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep dive
 
Couchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep diveCouchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep dive
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0
 
Transition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA DayTransition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA Day
 
Introduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseIntroduction to NoSQL and Couchbase
Introduction to NoSQL and Couchbase
 
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
 
Couchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = ThreeCouchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = Three
 
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and DemoIntroduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
 
Go simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkarGo simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkar
 

Recently uploaded

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 

Characteristics of no sql databases

  • 1. NoSQL for SQL Professionals Dipti Borkar Director, Product Management
  • 3. Macro Trends Driving NoSQL Technology More Data More Users + Interactive Apps + NoSQL
  • 4. Lacking Solutions, Users Forced to Invent Bigtable November 2006 Dynamo October 2007 Cassandra August 2008 Voldemort February 2009 Very few organizations can build and maintain database software technology. But every organization building interactive web applications needs this technology.
  • 5. What Is Biggest Data Management Problem Driving Use of NoSQL in Coming Year? 49% 35% 29% 16% Lack of flexibility/ rigid schemas Inability to scale out data Source: Couchbase Survey, December 2011, n = 1351. Performance challenges Cost 12% All of these 11% Other
  • 8. Relational Technology Scales Up Application Scales Out Just add more commodity web servers System Cost Application Performance Web/App Server Tier Users RDBMS Scales Up Get a bigger, more complex server System Cost Application Performance Won’t scale beyond this point Relational Database Users Expensive and disruptive sharding, doesn’t perform at web scale
  • 9. Couchbase Server Scales Out Like App Tier Application Scales Out Just add more commodity web servers System Cost Application Performance Web/App Server Tier Users NoSQL Database Scales Out Cost and performance mirrors app tier System Cost Application Performance Couchbase Distributed Data Store Users Scaling out flattens the cost and performance curves
  • 10.
  • 11. Differences • 1. Tables vs Document - Relational has tables with predefined columns: Schema pre-determined before data can be inserted. Best practice is to normalize by splitting into several tables, joined by PK-FK relation.
  • 12. Differences • Tables vs Document (contd.) - In Couchbase, there are no tables only documents A logical entity is stored within a single document Different documents do not need to have the same set of fields or structure You differentiate different types of documents either based on key names you provide or by adding attributes
  • 13. Relational vs Document Data Model C1 C2 C3 C4 { JSON JSON } JSON Relational data model Document data model Highly-structured table organization with rigidly-defined data formats and record structure. Collection of complex documents with arbitrary, nested data formats and varying “record” format.
  • 14. Differences • Joins vs logical single document - Single logical document. No need for joins. If normalized and several documents, then use a series of gets recipe= couchbase.get("my-recipe-id"); reviews = couchbase.multiget(recipe.comments); • Transactions - Relational: Atomicity can span several records across several tables. NoSQL: Atomicity confined to at document level
  • 15. Key Couchbase Concepts Clients Servers Documents User/application data Read/write from/to Data Buckets Multitenant Architecture Which live on Server Nodes based on bucket partitioning That form a Couchbase Cluster dynamically scalable
  • 16. RDBMS Example: User Profile User Info Address Info KEY First Last ZIP_id ZIP_id CITY STATE ZIP 1 Dipti Borkar 2 1 DEN CO 30303 2 Joe Smith 2 2 MV CA 94040 3 Ali Dodson 2 3 CHI IL 60609 4 John Doe 3 4 NY NY 10010 To get information about specific user, you perform a join across two tables
  • 17. Document Example: User Profile { “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA” = + } JSON All data in a single document
  • 18. Making a Change Using RDBMS Photo Table User Table User ID First Last Zip Country ID 1 Dipti Borkar 94040 001 Country Table User ID TEL 3 Photo ID Comment 2 d043 NYC 2 b054 Country ID Country ID Country name 001 001 USA Bday 007 002 UK 003 Argentina 004 Australia 005 Aruba 006 Austria 007 Brazil 008 Canada 009 Chile 2 Joe Smith 94040 001 5 c036 Miami 001 3 Ali Dodson 94040 001 7 d072 Sunset 133 5002 e086 Spain 133 4 Sarah Gorin NW1 002 5 Bob Young 30303 001 6 Nancy Baker 10010 001 Status Table 8 Ray Jones Lee Chen 31311 V5V3M 001 008 . . . • • • Status ID Text 1 a42 At conf 134 4 b26 excited 007 5 7 User ID Country ID c32 hockey 008 12 d83 Go A’s 001 5000 e34 sailing 005 130 Affiliations Table User ID Doug Moore 04252 001 50001 Mary White SW195 002 50002 Lisa Clark 12425 001 Affl ID Affl Name Country ID 2 a42 Cal 001 4 b96 USC 001 7 50000 • • • c14 UW 001 8 e22 Oxford 002 Portugal 131 Romania 132 Russia 133 Spain 134 Sweden
  • 19. Making the Same Change With a Document DB { “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA”, “STATUS”: , “TEXT”: “At Conf” ,} } “GEO_LOC”: “134” -, “COUNTRY”: ”USA” } JSON Just add information to a document
  • 20. Relational vs Document Performance User Table Photo Table First Last Zip 1 Frank Wiegel Weigel 94040 2 Joe Smith 94040 3 Ali Dodson 94040 4 Sarah Gorin Bob Young 30303 6 Nancy Baker 10010 7 Ray Jones 31311 Photo ID Comment d043 NYC 2 b054 Bday 5 c036 Miami 7 d072 Sunset 5002 e086 Spain NW1 5 User ID 2 User ID Status Table Lee Chen V5V3 • • • Status ID Text 1 a42 At conf 4 5 b26 c032 5 4 c32 b26 hockey d83 Go A’s 5000 e34 sailing Affiliations Table User ID 5000 Doug Moore 04252 5001 Mary White 41694 5002 5002 Lisa Lisa Clark 12425 { excited 12 8 User ID { Affiliations Affiliations ID Name 2 a42 b96 c14 UW 8 e22 JSON JSON JSON JSON JSON JSON USC 7 } } } } }} Cal 4 { { {{ Oxford Faster response times and higher throughput
  • 21. Document Databases Easily Accommodate Unstructured Data Hotels { “ID”: 1, “NAME”: “Fairmont San Francisco”, “DESCRIPTION”: “Historic grandeur…”, “AVG_REVIEWER_SCORE”: “4.3”, “AMENITY”: ,“TYPE”: “gym”, DESCRIPTION: “fitness center” }, ,“TYPE”: “wifi”, “DESCRIPTION”: “free wifi”-, “RATE_TYPE”: “nightly”, “PRICE”: “$199”, “REVIEWS”: *“review_1”, “review_2”+, “ATTRACTIONS”: “Chinatown”, { } “ID”: 2, “NAME”: “W San Francisco”, JSON “DESCRIPTION”: “Chic, hip accommodations..”, “AVG_REVIEWER_SCORE”: “4.0”, “AMENITY”: ,“TYPE”: “spa”, DESCRIPTION: “Bliss Spa” }, ,“TYPE”: “wifi”, “DESCRIPTION”: “free wifi”-, ,“TYPE”: “dining”, “DESCRIPTION”: “bar/lounge”-, “RATE_TYPE”: “nightly”, “PRICE”: “$194”, “REVIEWS”: *“review_1”, “review_2”+, } JSON
  • 22. Document Databases Easily Accommodate Unstructured Data Hotels { “ID”: 1, “NAME”: “Fairmont San Francisco”, …- JSON Reviews { “REVIEW_ID”: 1, “REVIEW”: “Loved Hotel & Location”, “WOULD RECOMMEND”: “yes”, { “AVG_REVIEWER_SCORE”: “5”, “REVIEW_ID”: 2, “REVIEW_DATE”: “May “REVIEW”: “Nice, but a few 29, 2013”, kinks”, “271”, “USER_PROFILE_ID”: “WOULD RECOMMEND”: “yes”, } “AVG_REVIEWER_SCORE”: “4”, JSON “REVIEW_DATE”: “May 22, 2013”, “USER_PROFILE_ID”: “923”, } JSON
  • 23. Document Databases Easily Accommodate Unstructured Data Hotel Descriptions { “ID”: 1, “NAME”: “Fairmont San Francisco”, …- JSON Reviews { “REVIEW_ID”: 1, “REVIEW”: “Loved Hotel…”, …- JSON User Profiles { “REVIEW_ID”: 2, “REVIEW”: “Nice, but …”, …- JSON { “USER_ID”: 1, { “DISPLAY_NAME ”: “USER_ID”: 1, “Ted’s Trip Experience”, “DISPLAY_NAME ”: “CITY”: “Saratoga”, “WhatWhat567”, “STATE”: “California”, “CITY”: “Kansas “NUM_OF_REVIEWS”: City”, “8”, “STATE”: “MO”, } “NUM_OF_REVIEWS”: “3”, JSON } JSON
  • 24. Document Databases Easily Accommodate Unstructured Data Hotel Descriptions { “ID”: 1, “NAME”: “Fairmont San Francisco”, …- Hotels points to reviews JSON Reviews { “REVIEW_ID”: 1, “REVIEW”: “Loved Hotel…”, …- JSON { “REVIEW_ID”: 2, “REVIEW”: “Nice, but …”, …- JSON User Profiles { “USER_ID”: 1, “DISPLAY”: “Ted’s Trip…”, …- { “USER_ID”: 2, “DISPLAY”: “WhatWhat …”, …- JSON Document IDs associates related objects JSON Reviews points to users
  • 25. Indexing with Document Databases Index on AVG_REVIEWER_SCORE
  • 26. Indexing with Document Databases Index on AVG_REVIEWER_SCORE Index … 4.0, doc_id 4.0, doc_id 4.1, doc_id 4.3, doc_id 5.0, doc_id …
  • 27. Querying with Document Databases Query on AVG_REVIEWER_SCORE Query Index … 3.4, doc_id 3.4, doc_id 3.5, doc_id 3.6, doc_id 3.7, doc_id 3.8, doc_id 4.0, doc_id 4.1, doc_id 4.3, doc_id 4.5, doc_id 4.7, doc_id 4.9, doc_id 5.0, doc_id … 5.0, doc_id Matching Results
  • 29. NoSQL catalog Database (memory/disk) Cache (memory only) Key-Value Data Structure memcached redis membase Document Column Graph couchbase cassandra Neo4j mongoDB
  • 30. The Key-Value Store – the foundation of NoSQL Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101
  • 31. Memcached – the NoSQL precursor Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 memcached In-memory only Limited set of operations Blob Storage: Set, Add, Replace, CAS Retrieval: Get Structured Data: Append, Increment “Simple and fast.” Challenges: cold cache, disruptive elasticity
  • 32. Couchbase – document-oriented database Key Couchbase { “string” : “string”, “string” : value, “string” : , “string” : “string”, JSON “string” : value -, OBJECT “string” : * array + } (“DOCUMENT”) Auto-sharding Disk-based with built-in memcached cache Cache refill on restart Memcached compatible (drop in replace) Highly-available (data replication) Add or remove capacity to live cluster When values are JSON objects (“documents”): Create indices, views and query against the views
  • 33. NoSQL catalog Database (memory/disk) Cache (memory only) Key-Value Data Structure memcached redis membase Document couchbase Column Graph
  • 34. MongoDB – Document-oriented database Key MongoDB { } “string” : “string”, “string” : value, “string” : BSON , “string” : “string”, OBJECT “string” : value -, “string” : * array + (“DOCUMENT”) Disk-based with in-memory “caching” BSON (“binary JSON”) format and wire protocol Master-slave replication Auto-sharding Values are BSON objects Supports ad hoc queries – best when indexed
  • 36. NoSQL catalog Database (memory/disk) Cache (memory only) Key-Value Data Structure memcached redis membase Document couchbase mongoDB Column Graph
  • 37. Cassandra – Column overlays Key Column 1 Column 2 Column 3 (not present) 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Cassandra Disk-based system Clustered External caching required for low-latency reads “Columns” are overlaid on the data Not all rows must have all columns Supports efficient queries on columns Restart required when adding columns Good cross-datacenter support
  • 39. NoSQL catalog Database (memory/disk) Cache (memory only) Key-Value Data Structure memcached redis membase Document Column couchbase cassandra mongoDB Graph
  • 40. Neo4j – Graph database Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Key Neo4j Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Key 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Opaque 101100101000100010011101 Binary 101100101000100010011101 101100101000100010011101 Value 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 101100101000100010011101 Disk-based system External caching required for low-latency reads Nodes, relationships and paths Properties on nodes Delete, Insert, Traverse, etc.
  • 41. NoSQL catalog Database (memory/disk) Cache (memory only) Key-Value Data Structure memcached redis membase Document Column Graph couchbase cassandra Neo4j mongoDB
  • 42. Where is NoSQL a good fit?
  • 43. Market Adoption Internet Companies • Social Gaming • Ad Networks • Social Networks • Online Business Services • E-Commerce • Online Media • Content Management • Cloud Services Enterprises • Communications • Retail • Financial Services • Health Care • Automotive/Airline • Agriculture • Consumer Electronics • Business Systems
  • 44. Market Adoption – Customers Internet Companies Enterprises More than 300 customers -- 5,000 production deployments worldwide
  • 45. Application Characteristics - Data driven • 3rd party or user defined structure (Twitter feeds) • Support for unlimited data growth (Viral apps) • Data with non-homogenous structure • Need to quickly and often change data structure • Variable length documents • Sparse data records • Hierarchical data Couchbase is a good fit
  • 46. Application Characteristics - Performance driven • Low latency critical (ex. 1millisecond) • High throughput (ex. 200000 ops / sec) • Large number of users • Unknown demand with sudden growth of users/data • Predominantly direct document access • Read / Mixed / Write heavy workloads Couchbase is a good fit
  • 47. Common Use Cases Social Gaming • Couchbase stores player and game data • Examples customers include: Zynga • Tapjoy, Ubisoft, Ten cent Mobile Apps • Couchbase stores user info and app content • Examples customers include: Kobo, Playtika Ad Targeting • Couchbase stores user information for fast access • Examples customers include: AOL, Mediamind, Co nvertro Session store • Couchbase Server as a keyvalue store • Examples customers include: Concur, Sabre User Profile Store • Couchbase Server as a key-value store • Examples customers include: Tunewiki High availability cache • Couchbase Server used as a cache tier replacement • Examples customers include: Orbitz Content & Metadata Store • Couchbase document store with Elasticsearch • Examples customers include: McGraw Hill, Tunewiki 3rd party data aggregation • Couchbase stores social media and data feeds • Examples customers include: Sambacloud
  • 48. Q&A

Editor's Notes

  1. These slides are meant to discuss and address the technical differences of RDBMS vs. NoSQL from a document modeling and performance/scale perspective.
  2. Get “But every . . .” onto 1 line.
  3. These are the 4 “promises” of NoSQL
  4. Do not failover a healthy node!
  5. Do not failover a healthy node!
  6. Most of you are probably familiar with the table layout. A table is defined with a set of column. And each record in the table conforms to the schema. If you wish to capture different data in the future, the table schema must be changed using the alter table statement. Typically data is normalized in the 3rd normal form reduce duplication. Large tables are split into smaller tables.using foreign keys
  7. Do not failover a healthy node!
  8. Summary bullet should read “To get info about a specific user you perform a join across two tables”Shouldn’t “Geo Info” be “Address Info”Changes names so they are employee names.Example. Normalized schema 2 tables Fk connects the two. To get information about a specific error, you will perform and join across the two tables
  9. Example. Normalized schema 2 tables Fk connects the two. To get information about a specific error, you will perform and join across the two tables
  10. The data is modeled for the application code and not for the database.
  11. Most of you are probably familiar with the table layout. A table is defined with a set of column. And each record in the table conforms to the schema. If you wish to capture different data in the future, the table schema must be changed using the alter table statement. Typically data is normalized in the 3rd normal form reduce duplication. Large tables are split into smaller tables.using foreign keys
  12. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  13. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  14. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  15. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  16. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  17. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  18. This example shows how a very simple user profile is represented.In a relational database, the user information might be represented across 2 interrelated tables.In a document database, the information is aggregated into a single document that is very natural to program with.So, this is how the data model is different. Let’s now talk about how scalability is different.
  19. These are the market segments
  20. Partial listing of companies with paid production deploymentsThousands more using open source