SlideShare une entreprise Scribd logo
1  sur  33
Introduc)on	
  to	
  NoSQL
with	
  Couchbase
Tugdual	
  “Tug”	
  Grall
Technical	
  Evangelist

tug@couchbase.com
Monday, October 28, 13

TwiBer:	
  tgrall
{“about”	
  :	
  “me”}
• Tugdual	
  “Tug”	
  Grall

-­‐

Couchbase

-­‐
-­‐

eXo

-­‐
-­‐

Technical	
  Evangelist
CTO

Oracle

• Web

-­‐
-­‐
-­‐

	
  	
  @tgrall
	
  	
  	
  hEp://blog.grallandco.com
	
  	
  	
  tgrall

• NantesJUG	
  co-­‐founder
• Pet	
  Project	
  :
• hEp://www.resultri.com

-­‐

• tug@couchbase.com

-­‐
-­‐

Developer/Product	
  
Manager
Mainly	
  Java/SOA

• tugdual@gmail.com

Developer	
  in	
  consulAng	
  firms

Monday, October 28, 13
RDBMS	
  are	
  not	
  Enough?

Monday, October 28, 13
Growth	
  is	
  the	
  New	
  Reality
• Instagram	
  gained	
  nearly	
  1	
  million	
  users	
  overnight	
  when	
  then	
  
expanded	
  to	
  Android

Monday, October 28, 13
50	
  Million	
  Users	
  in	
  50	
  Days
Draw	
  Something	
  by	
  OMGPOP
Daily	
  Ac)ve	
  Users	
  (millions)
16

14

12

10

8

6

4

2

2/6

8

10

Monday, October 28, 13

12

14

16

18

20

22

24

26

28

3/1

3

5

7

9

11

13

15

17

19

21
How	
  do	
  you	
  take	
  this	
  growth?
Applica;on	
  Scales	
  Out
Just	
  add	
  more	
  commodity	
  web	
  servers
System	
  Cost
Applica;on	
  Performance	
  

Web/App	
  Server	
  Tier

Users

RDBMS	
  Scales	
  Up
Get	
  a	
  bigger,	
  more	
  complex	
  server
System	
  Cost
Applica;on	
  Performance	
  

Won’t	
  scale	
  
beyond	
  this	
  
point

Rela2onal	
  Database
Users

RDBMS	
  is	
  good	
  for	
  many	
  thing,	
  but	
  hard	
  to	
  scale
Monday, October 28, 13
Scaling	
  out	
  RDBMS
• Run	
  Many	
  SQL	
  Servers
Web/App	
  Server	
  Tier

• Data	
  could	
  be	
  sharded
Memcached	
  Tier

­ Done	
  by	
  the	
  applicaAon	
  code

• Caching	
  for	
  faster	
  response	
  )me
MySQL	
  Tier

Monday, October 28, 13
NoSQL	
  Technology	
  Scales	
  Out
Applica;on	
  Scales	
  Out
Just	
  add	
  more	
  commodity	
  web	
  servers
System	
  Cost
Applica;on	
  Performance	
  

Web/App	
  Server	
  Tier

Users

NoSQL	
  Database	
  Scales	
  Out
Cost	
  and	
  performance	
  mirrors	
  app	
  ;er
System	
  Cost
Applica;on	
  Performance	
  

NoSQL	
  Distributed	
  Data	
  Store

Users

Scaling	
  out	
  fla?ens	
  the	
  cost	
  and	
  performance	
  curves
Monday, October 28, 13
A	
  New	
  Technology?
Bigtable

November	
  2006

Dynamo

October	
  2007

Cassandra
August	
  2008

Voldemort
February	
  2009

Building	
  new	
  database	
  to	
  answer	
  the	
  following	
  requirements
• No	
  schema	
  required	
  before	
  inser)ng	
  data
• No	
  schema	
  change	
  required	
  to	
  change	
  data	
  format
• Auto-­‐sharding	
  without	
  applica)on	
  par)cipa)on
• Distributed	
  queries
• Integrated	
  main	
  memory	
  caching
• Data	
  synchroniza)on	
  (	
  mul)-­‐datacenter)
Very	
  few	
  organiza)ons	
  want	
  to	
  (fewer	
  can)	
  build	
  and	
  maintain	
  database	
  so]ware	
  technology.
But	
  every	
  organiza)on	
  building	
  interac)ve	
  web	
  applica)ons	
  needs	
  this	
  technology.
Monday, October 28, 13
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	
   Performance	
  challenges
out	
  data

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

Monday, October 28, 13

Cost

12%

11%

All	
  of	
  these

Other
NoSQL	
  Catalog
Cache
(memory	
  only)

Key-­‐Value

Memcached

Data	
  Structure

Document

Column

Graph

Redis

Database
(memory/disk)

Coherence

Membase

Cassandra

Neo4j

MongoDB

Monday, October 28, 13

Couchbase

HBase

InfiniteGraph
Opera)onal	
  vs.	
  Analy)c	
  Databases
Real-­‐Pme,	
  
InteracPve	
  Databases

AnalyPc
Databases

NoSQL
Fast	
  access	
  
to	
  data

Couchbase
MongoDB
Monday, October 28, 13

Get	
  insights	
  from	
  
data

Cloudera
Cassandra
Hortonworks
Hbase
Mapr
Document	
  Database

Monday, October 28, 13
Rela;onal	
  vs	
  Document	
  Data	
  Model
C1

C2

C3

C4

{

JSON
JSON

}
JSON

RelaPonal	
  data	
  model

Document	
  data	
  model

Highly-­‐structured	
  table	
  organiza;on	
  with	
  
rigidly-­‐defined	
  data	
  formats	
  and	
  record	
  
structure.

Collec;on	
  of	
  complex	
  documents	
  with
arbitrary,	
  nested	
  data	
  formats	
  and
varying	
  “record”	
  format.

Monday, October 28, 13
Rela;onal	
  Approach

Monday, October 28, 13
Document	
  Database
o::1001
{
uid: “ji22jd”,
customer: “Ann”,
line_items: [
{ sku: 0321293533, qty: 2, price: 48.0 },
{ sku: 0321601912, qty: 1, price: 39.0 },
{ sku: 0131495054, qty: 1, price: 51.0 }
],
payment: {
type: “Amex”,
expiry: “04/2001”,
last5: 12345
}
}

Aggregate	
  Oriented	
  Database
hEp://marAnfowler.com/bliki/AggregateOrientedDatabase.html
	
  
Monday, October 28, 13
Schema	
  Update	
  :	
  RDBMS
Event	
  Info
ID
1

Title

Speaker

Speaker_id

Paris	
  JUG

ID

Name

rbin

rbin

Robin	
  Johnson

1.	
  Create	
  a	
  new	
  table
2

tgrall
QCON	
  UK
2.“Prepare”	
  the	
  Data	
  	
  (move	
  to	
  new	
  tgrall drop	
  column)
table,	
   Tug	
  Grall

A	
  talk	
  could	
  be	
  done	
  by	
  one	
  or	
  more	
  speakers!

3.	
  Change	
  the	
  constraints	
  
3

4

NoSQL	
  CLN

johnz

johnz

John	
  Zablo

fweigel

fweigel

Frank	
  Weigel

4.	
  Change	
  the	
  app
Devoxx

Monday, October 28, 13
Schema	
  Update	
  :	
  Document
user:rbin
{ user:rbin
{ user:rbin
type: “user”,
{
type: “user”,
name: “Robin Johnson”,
type: “user”,
name: “Robin Johnson”,
}
} name: “Robin Johnson”,
}

event:1
{ event:1
1. Change	
  The	
  ApplicaPon
{ event:1
type: “event”,
{ event:1
type: “event”, the	
  
• Update	
  
{ event:1
event:1
title: “Paris JUG”, Data	
  when	
  “you”	
  want
type: “Paris JUG”,
{
title: “event”, the	
  index	
  to	
  query	
  the	
  new	
  format
“event”,
{type: “Paris
•
speaker: “rbin” JUG”,
title: Change	
  
type:“rbin” JUG”,
title: “event”,
} speaker: “Paris JUG”,
type: “Paris
title: “event”,
} speaker: “rbin” JUG”,
title: “rbin”
} speaker: “Paris
speaker: “rbin”
} speaker: [“rbin”,”tgrall”]
}
}

Monday, October 28, 13
Couchbase	
  Server

Monday, October 28, 13
Couchbase	
  Server	
  Core	
  Principles
Easy	
  
Scalability

PE

RF O R M A N C E

Grow	
  cluster	
  without	
  applicaAon	
  
changes,	
  without	
  downAme	
  with	
  
a	
  single	
  click

Always	
  On	
  
24x365
No	
  downAme	
  for	
  sodware	
  
upgrades,	
  hardware	
  maintenance,	
  
etc.

Monday, October 28, 13

Consistent	
  High	
  
Performance

Consistent	
  sub-­‐millisecond	
  
read	
  and	
  write	
  response	
  Ames	
  
with	
  consistent	
  high	
  throughput

JSON
JSON JSO

JSON N
JSON

Flexible	
  Data	
  
Model
JSON	
  document	
  model	
  with	
  no	
  
fixed	
  schema.
Monday, October 28, 13
Couchbase	
  Architecture
8092

11211

Query	
  API

Memcapable	
  	
  1.0

11210
Memcapable	
  	
  2.0

New	
  Persistence	
  Layer

vBucket	
  state	
  and	
  replica;on	
  manager

Node	
  health	
  monitor

Rebalance	
  orchestrator

Global	
  singleton	
  supervisor

storage	
  interface

Configura;on	
  manager

Data	
  Manager

Process	
  monitor

Couchbase	
  EP	
  Engine

Heartbeat

Memcached

REST	
  management	
  API/Web	
  UI

Query	
  Engine

Moxi

Cluster	
  Manager

hRp

on	
  each	
  node

one	
  per	
  cluster

Erlang/OTP

HTTP

8091

Monday, October 28, 13

Erlang	
  port	
  mapper

4369

Distributed	
  Erlang

21100	
  -­‐	
  21199
Couchbase	
  Architecture
8092

11211

Query	
  API

Memcapable	
  	
  1.0

11210
Memcapable	
  	
  2.0

New	
  Persistence	
  Layer
Disk	
  Persistence

vBucket	
  state	
  and	
  replica;on	
  manager

Node	
  health	
  monitor

Rebalance	
  orchestrator

Global	
  singleton	
  supervisor

Configura;on	
  manager

storage	
  interface

Server/Cluster	
  
Management	
  &	
  
Communica2on
(Erlang)

hRp

Process	
  monitor

RAM	
  Cache,	
  Indexing	
  
Couchbase	
  EP	
  Engine
&	
  Persistence	
  
Management
(C	
  &	
  V8)

Heartbeat

Object-­‐level	
  Cache

REST	
  management	
  API/Web	
  UI

Query	
  Engine

Moxi

on	
  each	
  node

one	
  per	
  cluster

Erlang/OTP

The Unreasonable Effectiveness of C by Damien Katz

HTTP

8091

Monday, October 28, 13

Erlang	
  port	
  mapper

4369

Distributed	
  Erlang

21100	
  -­‐	
  21199
Open	
  Source	
  Project
Apache	
  2.0

hEps://github.com/couchbase/
hEps://github.com/couchbaselabs/

Monday, October 28, 13

Gerrit: hEp://review.couchbase.org/
Cluster-­‐wide	
  Basic	
  Opera)on
App	
  Server	
  1

App	
  Server	
  2

COUCHBASE	
  Client	
  Library

COUCHBASE	
  Client	
  Library

Cluster	
  Map

Cluster	
  Map

READ/WRITE/UPDATE
Server	
  1

Server	
  2

Server	
  3

Ac2ve

Ac2ve

Ac2ve

Doc	
  5

Doc

Doc	
  4

Doc

Doc	
  1

Doc

Doc	
  2

Doc

Doc	
  7

Doc

Doc	
  2

Doc

Doc	
  9

Doc

Doc	
  8

Doc

Doc	
  6

Doc

REPLICA

REPLICA

REPLICA

• Docs	
  distributed	
  evenly	
  across	
  
servers	
  
• Each	
  server	
  stores	
  both	
  ac)ve	
  and	
  
replica	
  docs
Only	
  one	
  server	
  acAve	
  at	
  a	
  Ame

• Client	
  library	
  provides	
  app	
  with	
  
simple	
  interface	
  to	
  database
• Cluster	
  map	
  provides	
  map	
  
to	
  which	
  server	
  doc	
  is	
  on

Doc	
  4

Doc

Doc	
  6

Doc

Doc	
  7

Doc

Doc	
  1

Doc

Doc	
  3

Doc

Doc	
  9

Doc

• App	
  reads,	
  writes,	
  updates	
  docs

Doc	
  8

Doc

Doc	
  2

Doc

Doc	
  5

Doc

• Mul)ple	
  app	
  servers	
  can	
  access	
  same	
  
document	
  at	
  same	
  )me

Couchbase	
  Server	
  	
  Cluster

User	
  Configured	
  Replica	
  Count	
  =	
  1

Monday, October 28, 13

App	
  never	
  needs	
  to	
  know
Add	
  Nodes	
  to	
  Cluster
App	
  Server	
  1

App	
  Server	
  2

COUCHBASE	
  Client	
  Library

COUCHBASE	
  Client	
  Library

Cluster	
  Map

Cluster	
  Map

READ/WRITE/UPDATE

READ/WRITE/UPDATE

Server	
  1

Server	
  2

Server	
  3

Server	
  4

Server	
  5

Ac2ve

Ac2ve

Ac2ve

Ac2ve

Ac2ve

Doc	
  5

Doc

Doc	
  4

Doc

Doc	
  1

Doc

Doc	
  2

Doc

Doc	
  7

Doc

Doc	
  2

Doc

Doc	
  9

Doc

Doc	
  8

Doc

Doc	
  6

Doc

REPLICA

REPLICA

REPLICA

Doc	
  4

Doc

Doc	
  6

Doc

Doc	
  7

Doc

Doc	
  1

Doc

Doc	
  3

Doc

Doc	
  9

Doc

Doc	
  8

Doc

Doc	
  2

Doc

Doc	
  5

Doc

Couchbase	
  Server	
  	
  Cluster

User	
  Configured	
  Replica	
  Count	
  =	
  1

Monday, October 28, 13

• Two	
  servers	
  added
One-­‐click	
  opera)on
• Docs	
  automa)cally	
  
rebalanced	
  across	
  
cluster

Even	
  distribuAon	
  of	
  docs
Minimum	
  doc	
  movement

REPLICA

REPLICA

• Cluster	
  map	
  updated
• App	
  database	
  
calls	
  now	
  distributed	
  
over	
  larger	
  number	
  of	
  
servers
Fail	
  Over	
  Node
App	
  Server	
  1

App	
  Server	
  2

COUCHBASE	
  Client	
  Library

COUCHBASE	
  Client	
  Library

Cluster	
  Map

Cluster	
  Map

Server	
  1

Server	
  2

Server	
  3

Server	
  4

Server	
  5

Ac2ve

Ac2ve

Ac2ve

Ac2ve

Ac2ve

Doc	
  5

Doc

Doc	
  4

Doc

Doc	
  1

Doc

Doc	
  9

Doc

Doc	
  2

Doc

Doc	
  7

Doc

Doc	
  2

Doc

Doc	
  8

Doc

Doc	
  1

Doc	
  6

Doc
Doc

Doc	
  3

REPLICA

REPLICA

REPLICA

REPLICA

Doc	
  4

Doc

Doc	
  6

Doc

Doc	
  7

Doc

Doc	
  5

Doc	
  1

Doc

Doc	
  3

Doc

Doc	
  9

Doc

Doc	
  2

Couchbase	
  Server	
  	
  Cluster

User	
  Configured	
  Replica	
  Count	
  =	
  1

Monday, October 28, 13

Doc

REPLICA

Doc	
  8

Doc
Doc

• App	
  servers	
  accessing	
  docs
• Requests	
  to	
  Server	
  3	
  fail
• Cluster	
  detects	
  server	
  failed
Promotes	
  replicas	
  of	
  docs	
  to	
  
acAve
Updates	
  cluster	
  map

• Requests	
  for	
  docs	
  now	
  go	
  to	
  
appropriate	
  server
• Typically	
  rebalance	
  
would	
  follow
Indexing	
  and	
  Querying
APP	
  SERVER	
  1

APP	
  SERVER	
  2

COUCHBASE	
  Client	
  Library

COUCHBASE	
  Client	
  Library

CLUSTER	
  MAP

CLUSTER	
  MAP

Query
SERVER	
  1

SERVER	
  2

ACTIVE

ACTIVE

SERVER	
  3
ACTIVE

• Indexing	
  work	
  is	
  distributed	
  amongst	
  
nodes

Doc	
  5

Doc

Doc	
  5

Doc

Doc	
  5

Doc

Doc	
  2

Doc

Doc	
  2

Doc

Doc	
  2

Doc

• Parallelize	
  the	
  effort

Doc	
  9

Doc

Doc	
  9

Doc

Doc	
  9

Doc

• Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

REPLICA

REPLICA

REPLICA

Doc	
  4

Doc

Doc	
  4

Doc

Doc	
  4

Doc

Doc	
  1

Doc

Doc	
  1

Doc

Doc	
  1

Doc

Doc	
  8

Doc

Doc	
  8

Doc

Doc	
  8

Doc

COUCHBASE	
  SERVER	
  	
  CLUSTER

Monday, October 28, 13

• Large	
  data	
  set	
  possible

• Queries	
  combine	
  the	
  results	
  from	
  required	
  
nodes
Couchbase	
  SDK
Official	
  SDKs
Ruby

Python

Community	
  SDKs
Go

Clojure

www.couchbase.com/develop
Monday, October 28, 13
Full	
  Text	
  Search
• Elastic Search is good for ad-hoc queries and faceted browsing
• Our adapter is aware of changing Couchbase topology
• Indexed by Elastic Search after stored to disk in Couchbase

ElasPcSearch

Monday, October 28, 13
The	
  Complete	
  Mobile	
  Solu;on

Available	
  now	
  in	
  Beta	
  :
hfp://mobile.couchbase.com
Monday, October 28, 13
Couchbase	
  Docs
www.couchbase.com/docs/
Couchbase	
  Forums
www.couchbase.com/communi;es
Meetup
hbp://meetup.com/Couchbase-­‐France/
Mobile	
  (beta)
hbp://mobile.couchbase.com/
N1QL	
  -­‐	
  New	
  Query	
  Engine	
  (DP)
hbp://query.couchbase.com

Monday, October 28, 13

Contact	
  me	
  on	
  Twi?er
@tgrall
Contact	
  me	
  by	
  Email
tug@couchbase.com
IRC
#couchbase
#libcouchbase
Introduc)on	
  to	
  NoSQL
with	
  Couchbase
Tugdual	
  “Tug”	
  Grall
Technical	
  Evangelist

tug@couchbase.com
Monday, October 28, 13

TwiBer:	
  tgrall

Contenu connexe

Tendances

Real-time Stream Processing with Apache Flink
Real-time Stream Processing with Apache FlinkReal-time Stream Processing with Apache Flink
Real-time Stream Processing with Apache FlinkDataWorks Summit
 
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...Stephan Ewen
 
January 2016 Flink Community Update & Roadmap 2016
January 2016 Flink Community Update & Roadmap 2016January 2016 Flink Community Update & Roadmap 2016
January 2016 Flink Community Update & Roadmap 2016Robert Metzger
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Gyula Fóra
 
FastR+Apache Flink
FastR+Apache FlinkFastR+Apache Flink
FastR+Apache FlinkJuan Fumero
 
Why apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics FrameworksWhy apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics FrameworksSlim Baltagi
 
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...Robert Metzger
 
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Issac Buenrostro
 
Introduction to Apache Flink
Introduction to Apache FlinkIntroduction to Apache Flink
Introduction to Apache Flinkdatamantra
 
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data Processing
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data ProcessingApacheCon: Apache Flink - Fast and Reliable Large-Scale Data Processing
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data ProcessingFabian Hueske
 
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)ucelebi
 
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/Trident
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/TridentQuerying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/Trident
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/TridentDataWorks Summit/Hadoop Summit
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.darach
 
STORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOPSTORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOPDataWorks Summit
 
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)Robert Metzger
 
Flink Community Update December 2015: Year in Review
Flink Community Update December 2015: Year in ReviewFlink Community Update December 2015: Year in Review
Flink Community Update December 2015: Year in ReviewRobert Metzger
 
Flink Streaming @BudapestData
Flink Streaming @BudapestDataFlink Streaming @BudapestData
Flink Streaming @BudapestDataGyula Fóra
 
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksExtending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksJamie Grier
 
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Brian O'Neill
 

Tendances (20)

Real-time Stream Processing with Apache Flink
Real-time Stream Processing with Apache FlinkReal-time Stream Processing with Apache Flink
Real-time Stream Processing with Apache Flink
 
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
Apache Flink - Overview and Use cases of a Distributed Dataflow System (at pr...
 
January 2016 Flink Community Update & Roadmap 2016
January 2016 Flink Community Update & Roadmap 2016January 2016 Flink Community Update & Roadmap 2016
January 2016 Flink Community Update & Roadmap 2016
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
 
FastR+Apache Flink
FastR+Apache FlinkFastR+Apache Flink
FastR+Apache Flink
 
Apache flink
Apache flinkApache flink
Apache flink
 
Why apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics FrameworksWhy apache Flink is the 4G of Big Data Analytics Frameworks
Why apache Flink is the 4G of Big Data Analytics Frameworks
 
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
Apache Flink Meetup Munich (November 2015): Flink Overview, Architecture, Int...
 
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
Open Source LinkedIn Analytics Pipeline - BOSS 2016 (VLDB)
 
Introduction to Apache Flink
Introduction to Apache FlinkIntroduction to Apache Flink
Introduction to Apache Flink
 
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data Processing
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data ProcessingApacheCon: Apache Flink - Fast and Reliable Large-Scale Data Processing
ApacheCon: Apache Flink - Fast and Reliable Large-Scale Data Processing
 
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
 
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/Trident
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/TridentQuerying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/Trident
Querying the Internet of Things: Streaming SQL on Kafka/Samza and Storm/Trident
 
Big Data, Mob Scale.
Big Data, Mob Scale.Big Data, Mob Scale.
Big Data, Mob Scale.
 
STORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOPSTORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOP
 
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
 
Flink Community Update December 2015: Year in Review
Flink Community Update December 2015: Year in ReviewFlink Community Update December 2015: Year in Review
Flink Community Update December 2015: Year in Review
 
Flink Streaming @BudapestData
Flink Streaming @BudapestDataFlink Streaming @BudapestData
Flink Streaming @BudapestData
 
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR BenchmarksExtending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
 
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
 

Similaire à Softshake 2013: Introduction to NoSQL with Couchbase

Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseTugdual Grall
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0Tugdual Grall
 
Google Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 DayGoogle Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 Dayprogrammermag
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
Big data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on dockerBig data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on dockerFederico Palladoro
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Modern Web development and operations practices
Modern Web development and operations practicesModern Web development and operations practices
Modern Web development and operations practicesGrig Gheorghiu
 
Kettleetltool 090522005630-phpapp01
Kettleetltool 090522005630-phpapp01Kettleetltool 090522005630-phpapp01
Kettleetltool 090522005630-phpapp01jade_22
 
PDE2011 pythonOCC project status and plans
PDE2011 pythonOCC project status and plansPDE2011 pythonOCC project status and plans
PDE2011 pythonOCC project status and plansThomas Paviot
 
Afterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranAfterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranJoseph Glorieux
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist SoftServe
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Demi Ben-Ari
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Codemotion
 
Getting Started with Hadoop
Getting Started with HadoopGetting Started with Hadoop
Getting Started with HadoopJosh Devins
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Tugdual Grall
 
At the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackAt the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackRyan Aydelott
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Demi Ben-Ari
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpNathan Handler
 

Similaire à Softshake 2013: Introduction to NoSQL with Couchbase (20)

Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
 
Google Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 DayGoogle Cloud Computing on Google Developer 2008 Day
Google Cloud Computing on Google Developer 2008 Day
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
Big data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on dockerBig data Argentina meetup 2020-09: Intro to presto on docker
Big data Argentina meetup 2020-09: Intro to presto on docker
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Modern Web development and operations practices
Modern Web development and operations practicesModern Web development and operations practices
Modern Web development and operations practices
 
Kettleetltool 090522005630-phpapp01
Kettleetltool 090522005630-phpapp01Kettleetltool 090522005630-phpapp01
Kettleetltool 090522005630-phpapp01
 
PDE2011 pythonOCC project status and plans
PDE2011 pythonOCC project status and plansPDE2011 pythonOCC project status and plans
PDE2011 pythonOCC project status and plans
 
Afterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écranAfterwork big data et data viz - du lac à votre écran
Afterwork big data et data viz - du lac à votre écran
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
 
Tech
TechTech
Tech
 
Getting Started with Hadoop
Getting Started with HadoopGetting Started with Hadoop
Getting Started with Hadoop
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
At the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with OpenstackAt the Crossroads of HPC and Cloud Computing with Openstack
At the Crossroads of HPC and Cloud Computing with Openstack
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
 

Plus de Tugdual Grall

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Tugdual Grall
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Tugdual Grall
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Tugdual Grall
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopTugdual Grall
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Tugdual Grall
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglotTugdual Grall
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignTugdual Grall
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Tugdual Grall
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDBTugdual Grall
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB ApplicationTugdual Grall
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iotTugdual Grall
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLTugdual Grall
 
Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataTugdual Grall
 
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0Tugdual Grall
 
Open World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudOpen World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudTugdual Grall
 

Plus de Tugdual Grall (20)

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
 
Big Data Journey
Big Data JourneyBig Data Journey
Big Data Journey
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi Workshop
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
MongoDB and Hadoop
MongoDB and HadoopMongoDB and Hadoop
MongoDB and Hadoop
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglot
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema Design
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDB
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB Application
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
 
Neotys conference
Neotys conferenceNeotys conference
Neotys conference
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQL
 
Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big Data
 
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
 
Open World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the CloudOpen World Forum 2012 : eXo & the Cloud
Open World Forum 2012 : eXo & the Cloud
 

Dernier

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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
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
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

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
 
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?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
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
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Softshake 2013: Introduction to NoSQL with Couchbase

  • 1. Introduc)on  to  NoSQL with  Couchbase Tugdual  “Tug”  Grall Technical  Evangelist tug@couchbase.com Monday, October 28, 13 TwiBer:  tgrall
  • 2. {“about”  :  “me”} • Tugdual  “Tug”  Grall -­‐ Couchbase -­‐ -­‐ eXo -­‐ -­‐ Technical  Evangelist CTO Oracle • Web -­‐ -­‐ -­‐    @tgrall      hEp://blog.grallandco.com      tgrall • NantesJUG  co-­‐founder • Pet  Project  : • hEp://www.resultri.com -­‐ • tug@couchbase.com -­‐ -­‐ Developer/Product   Manager Mainly  Java/SOA • tugdual@gmail.com Developer  in  consulAng  firms Monday, October 28, 13
  • 3. RDBMS  are  not  Enough? Monday, October 28, 13
  • 4. Growth  is  the  New  Reality • Instagram  gained  nearly  1  million  users  overnight  when  then   expanded  to  Android Monday, October 28, 13
  • 5. 50  Million  Users  in  50  Days Draw  Something  by  OMGPOP Daily  Ac)ve  Users  (millions) 16 14 12 10 8 6 4 2 2/6 8 10 Monday, October 28, 13 12 14 16 18 20 22 24 26 28 3/1 3 5 7 9 11 13 15 17 19 21
  • 6. How  do  you  take  this  growth? Applica;on  Scales  Out Just  add  more  commodity  web  servers System  Cost Applica;on  Performance   Web/App  Server  Tier Users RDBMS  Scales  Up Get  a  bigger,  more  complex  server System  Cost Applica;on  Performance   Won’t  scale   beyond  this   point Rela2onal  Database Users RDBMS  is  good  for  many  thing,  but  hard  to  scale Monday, October 28, 13
  • 7. Scaling  out  RDBMS • Run  Many  SQL  Servers Web/App  Server  Tier • Data  could  be  sharded Memcached  Tier ­ Done  by  the  applicaAon  code • Caching  for  faster  response  )me MySQL  Tier Monday, October 28, 13
  • 8. NoSQL  Technology  Scales  Out Applica;on  Scales  Out Just  add  more  commodity  web  servers System  Cost Applica;on  Performance   Web/App  Server  Tier Users NoSQL  Database  Scales  Out Cost  and  performance  mirrors  app  ;er System  Cost Applica;on  Performance   NoSQL  Distributed  Data  Store Users Scaling  out  fla?ens  the  cost  and  performance  curves Monday, October 28, 13
  • 9. A  New  Technology? Bigtable November  2006 Dynamo October  2007 Cassandra August  2008 Voldemort February  2009 Building  new  database  to  answer  the  following  requirements • No  schema  required  before  inser)ng  data • No  schema  change  required  to  change  data  format • Auto-­‐sharding  without  applica)on  par)cipa)on • Distributed  queries • Integrated  main  memory  caching • Data  synchroniza)on  (  mul)-­‐datacenter) Very  few  organiza)ons  want  to  (fewer  can)  build  and  maintain  database  so]ware  technology. But  every  organiza)on  building  interac)ve  web  applica)ons  needs  this  technology. Monday, October 28, 13
  • 10. 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   Performance  challenges out  data Source:  Couchbase  Survey,  December  2011,  n  =  1351. Monday, October 28, 13 Cost 12% 11% All  of  these Other
  • 11. NoSQL  Catalog Cache (memory  only) Key-­‐Value Memcached Data  Structure Document Column Graph Redis Database (memory/disk) Coherence Membase Cassandra Neo4j MongoDB Monday, October 28, 13 Couchbase HBase InfiniteGraph
  • 12. Opera)onal  vs.  Analy)c  Databases Real-­‐Pme,   InteracPve  Databases AnalyPc Databases NoSQL Fast  access   to  data Couchbase MongoDB Monday, October 28, 13 Get  insights  from   data Cloudera Cassandra Hortonworks Hbase Mapr
  • 14. Rela;onal  vs  Document  Data  Model C1 C2 C3 C4 { JSON JSON } JSON RelaPonal  data  model Document  data  model Highly-­‐structured  table  organiza;on  with   rigidly-­‐defined  data  formats  and  record   structure. Collec;on  of  complex  documents  with arbitrary,  nested  data  formats  and varying  “record”  format. Monday, October 28, 13
  • 16. Document  Database o::1001 { uid: “ji22jd”, customer: “Ann”, line_items: [ { sku: 0321293533, qty: 2, price: 48.0 }, { sku: 0321601912, qty: 1, price: 39.0 }, { sku: 0131495054, qty: 1, price: 51.0 } ], payment: { type: “Amex”, expiry: “04/2001”, last5: 12345 } } Aggregate  Oriented  Database hEp://marAnfowler.com/bliki/AggregateOrientedDatabase.html   Monday, October 28, 13
  • 17. Schema  Update  :  RDBMS Event  Info ID 1 Title Speaker Speaker_id Paris  JUG ID Name rbin rbin Robin  Johnson 1.  Create  a  new  table 2 tgrall QCON  UK 2.“Prepare”  the  Data    (move  to  new  tgrall drop  column) table,   Tug  Grall A  talk  could  be  done  by  one  or  more  speakers! 3.  Change  the  constraints   3 4 NoSQL  CLN johnz johnz John  Zablo fweigel fweigel Frank  Weigel 4.  Change  the  app Devoxx Monday, October 28, 13
  • 18. Schema  Update  :  Document user:rbin { user:rbin { user:rbin type: “user”, { type: “user”, name: “Robin Johnson”, type: “user”, name: “Robin Johnson”, } } name: “Robin Johnson”, } event:1 { event:1 1. Change  The  ApplicaPon { event:1 type: “event”, { event:1 type: “event”, the   • Update   { event:1 event:1 title: “Paris JUG”, Data  when  “you”  want type: “Paris JUG”, { title: “event”, the  index  to  query  the  new  format “event”, {type: “Paris • speaker: “rbin” JUG”, title: Change   type:“rbin” JUG”, title: “event”, } speaker: “Paris JUG”, type: “Paris title: “event”, } speaker: “rbin” JUG”, title: “rbin” } speaker: “Paris speaker: “rbin” } speaker: [“rbin”,”tgrall”] } } Monday, October 28, 13
  • 20. Couchbase  Server  Core  Principles Easy   Scalability PE RF O R M A N C E Grow  cluster  without  applicaAon   changes,  without  downAme  with   a  single  click Always  On   24x365 No  downAme  for  sodware   upgrades,  hardware  maintenance,   etc. Monday, October 28, 13 Consistent  High   Performance Consistent  sub-­‐millisecond   read  and  write  response  Ames   with  consistent  high  throughput JSON JSON JSO JSON N JSON Flexible  Data   Model JSON  document  model  with  no   fixed  schema.
  • 22. Couchbase  Architecture 8092 11211 Query  API Memcapable    1.0 11210 Memcapable    2.0 New  Persistence  Layer vBucket  state  and  replica;on  manager Node  health  monitor Rebalance  orchestrator Global  singleton  supervisor storage  interface Configura;on  manager Data  Manager Process  monitor Couchbase  EP  Engine Heartbeat Memcached REST  management  API/Web  UI Query  Engine Moxi Cluster  Manager hRp on  each  node one  per  cluster Erlang/OTP HTTP 8091 Monday, October 28, 13 Erlang  port  mapper 4369 Distributed  Erlang 21100  -­‐  21199
  • 23. Couchbase  Architecture 8092 11211 Query  API Memcapable    1.0 11210 Memcapable    2.0 New  Persistence  Layer Disk  Persistence vBucket  state  and  replica;on  manager Node  health  monitor Rebalance  orchestrator Global  singleton  supervisor Configura;on  manager storage  interface Server/Cluster   Management  &   Communica2on (Erlang) hRp Process  monitor RAM  Cache,  Indexing   Couchbase  EP  Engine &  Persistence   Management (C  &  V8) Heartbeat Object-­‐level  Cache REST  management  API/Web  UI Query  Engine Moxi on  each  node one  per  cluster Erlang/OTP The Unreasonable Effectiveness of C by Damien Katz HTTP 8091 Monday, October 28, 13 Erlang  port  mapper 4369 Distributed  Erlang 21100  -­‐  21199
  • 24. Open  Source  Project Apache  2.0 hEps://github.com/couchbase/ hEps://github.com/couchbaselabs/ Monday, October 28, 13 Gerrit: hEp://review.couchbase.org/
  • 25. Cluster-­‐wide  Basic  Opera)on App  Server  1 App  Server  2 COUCHBASE  Client  Library COUCHBASE  Client  Library Cluster  Map Cluster  Map READ/WRITE/UPDATE Server  1 Server  2 Server  3 Ac2ve Ac2ve Ac2ve Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA • Docs  distributed  evenly  across   servers   • Each  server  stores  both  ac)ve  and   replica  docs Only  one  server  acAve  at  a  Ame • Client  library  provides  app  with   simple  interface  to  database • Cluster  map  provides  map   to  which  server  doc  is  on Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc • App  reads,  writes,  updates  docs Doc  8 Doc Doc  2 Doc Doc  5 Doc • Mul)ple  app  servers  can  access  same   document  at  same  )me Couchbase  Server    Cluster User  Configured  Replica  Count  =  1 Monday, October 28, 13 App  never  needs  to  know
  • 26. Add  Nodes  to  Cluster App  Server  1 App  Server  2 COUCHBASE  Client  Library COUCHBASE  Client  Library Cluster  Map Cluster  Map READ/WRITE/UPDATE READ/WRITE/UPDATE Server  1 Server  2 Server  3 Server  4 Server  5 Ac2ve Ac2ve Ac2ve Ac2ve Ac2ve Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc Couchbase  Server    Cluster User  Configured  Replica  Count  =  1 Monday, October 28, 13 • Two  servers  added One-­‐click  opera)on • Docs  automa)cally   rebalanced  across   cluster Even  distribuAon  of  docs Minimum  doc  movement REPLICA REPLICA • Cluster  map  updated • App  database   calls  now  distributed   over  larger  number  of   servers
  • 27. Fail  Over  Node App  Server  1 App  Server  2 COUCHBASE  Client  Library COUCHBASE  Client  Library Cluster  Map Cluster  Map Server  1 Server  2 Server  3 Server  4 Server  5 Ac2ve Ac2ve Ac2ve Ac2ve Ac2ve Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  9 Doc Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  8 Doc Doc  1 Doc  6 Doc Doc Doc  3 REPLICA REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  5 Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  2 Couchbase  Server    Cluster User  Configured  Replica  Count  =  1 Monday, October 28, 13 Doc REPLICA Doc  8 Doc Doc • App  servers  accessing  docs • Requests  to  Server  3  fail • Cluster  detects  server  failed Promotes  replicas  of  docs  to   acAve Updates  cluster  map • Requests  for  docs  now  go  to   appropriate  server • Typically  rebalance   would  follow
  • 28. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP Query SERVER  1 SERVER  2 ACTIVE ACTIVE SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, October 28, 13 • Large  data  set  possible • Queries  combine  the  results  from  required   nodes
  • 29. Couchbase  SDK Official  SDKs Ruby Python Community  SDKs Go Clojure www.couchbase.com/develop Monday, October 28, 13
  • 30. Full  Text  Search • Elastic Search is good for ad-hoc queries and faceted browsing • Our adapter is aware of changing Couchbase topology • Indexed by Elastic Search after stored to disk in Couchbase ElasPcSearch Monday, October 28, 13
  • 31. The  Complete  Mobile  Solu;on Available  now  in  Beta  : hfp://mobile.couchbase.com Monday, October 28, 13
  • 32. Couchbase  Docs www.couchbase.com/docs/ Couchbase  Forums www.couchbase.com/communi;es Meetup hbp://meetup.com/Couchbase-­‐France/ Mobile  (beta) hbp://mobile.couchbase.com/ N1QL  -­‐  New  Query  Engine  (DP) hbp://query.couchbase.com Monday, October 28, 13 Contact  me  on  Twi?er @tgrall Contact  me  by  Email tug@couchbase.com IRC #couchbase #libcouchbase
  • 33. Introduc)on  to  NoSQL with  Couchbase Tugdual  “Tug”  Grall Technical  Evangelist tug@couchbase.com Monday, October 28, 13 TwiBer:  tgrall