際際滷

際際滷Share a Scribd company logo
Introduzione+a+NoSQL+
e+Couchbase+
Franco+Caporale+
永艶姻界鞄辿+庄鉛+鰻看皆河晦?+
Tre+Nuove+Tendenze+

Big+Data+

MolC+UtenC+

SaaS/Cloud+
Big+Data+
≒ DaC+molto+eterogenei+a+crescita+esponenziale+

Trillions(of(Gigabytes((Ze<abytes)(

2+
1.8+
1.6+
1.4+

DaC+Non+StruMuraC+

1.2+
1+

Text,+Log+Files,+
Click+Streams,+
Blogs,+Tweets,+
Audio,+Video,+etc.+

0.8+
0.6+
0.4+

DaC+StruMuraC(

0.2+
0+
2000+

2006+

Source:(IDC(2011(Digital(Universe(Study((h<p://www.emc.com/collateral/demos/microsites/emcBdigitalBuniverseB2011/index.htm)(

E+necessario+un+modello+dei+daC+piu+鍖essibile+

2011+
MolC+UtenC+
≒ UtenC+da+tuMo+il+mondo,+sempre+connessi+

2 35+ 1
++

Miliardi+

Popolazione+
online+

++

Miliardi+di+ore+

Miliardo+

Ore+passate+
online+

UtenC+
Smartphone+

h<p://www.goBgulf.com/blog/onlineBJme(
h<p://business.Jme.com/2012/02/14/oneBbillionBsmartphonesBbyB2016BhereBcomesBtheBmobileBarmsBrace/(

E+necessario+un+database+facile+da+scalare+
SaaS/Cloud+
≒ Le+nuove+applicazioni+uClizzano+unarchiteMura+a+3+livelli+
ArchiteMura+client/server+

Moderna+architeMura+a+3+livelli+

Client+

User(interface(
Business(and(data(
processing(logic(

INTERNET+

LAN+

Cloud+

Public/Private/Hybrid+Cloud+

Web/App++
Server+Tier(

Database+Server+
Data(

Database+
Server+Tier+

Un+database+che+si+puo+scalare+orizzontalmente+si+adaMa+
bene+alle+applicazioni+su+cloud+
SaaS/Cloud+

Piu+utenC+

Piu+daC+

++

++

NoSQL+

Scalabilita,+performance+e+facilita+di+sviluppo+
In+mancanza+di+una+soluzione+
gli+utenC+se+la+sono+inventata+

Bigtable+

November(2006(

Dynamo+
October(2007(

Cassandra+
August(2008(

Voldemort+
February(2009(

Poche+aziende+sono+in+grado+di+costruirsi+e+mantenersi++
un+database+
Draw+Something+
Zynga+
Draw+Something+diventa+virale+in++
3+seamane+
Daily&Ac)ve&Users&(millions)&
16(

14(

12(

10(

8(

6(

4(

2(

2/6(

8(

10(

12(

14(

16(

18(

20(

22(

24(

26(

28(

3/1(

3(

5(

7(

9(

11(

13(

15(

17(

19(

21(
I+daC+crescono+in+modo+non+lineare+
Daily&Ac)ve&Users&(millions)&
16(

14(

12(

10(

8(

6(

In+un+mese+30,000,000+di+downloads(della(app,(
oltre(5,000+disegni+al(secondo,(
oltre(2,200,000,000+disegni+immagazzinaJ,(
oltre(105,000(operazioni(al(secondo,(
e(oltre(3.3+terabytes(di(daJ(in(totale.(
(

4(

2(

2/6(

8(

10(

12(

14(

16(

18(

20(

22(

24(

26(

28(

3/1(

3(

5(

7(

9(

11(

13(

15(

17(

19(

21(
Invece+con+RDBMS+
The+Simpsons:+Tapped+Out+
Daily&Ac)ve&Users&(millions)&
16(

14(

12(

10(

8(

6(

4(

#2+Free(app(on(iPad(
#3+Free(app(on(iPhone(

2(

2/6(

8(

10(

12(

14(

16(

18(

20(

22(

24(

26(

28(

3/1(

3(

5(

7(

9(

11(

13(

15(

17(

19(

21(
MySQL+o+NoSQL?+
La+maggioranza+delle+applicazioni+
uClizzano+gli+RDBMS+
I+principali+moCvi+per+ladozione++
del+NoSQL+

49%+
35%+

29%+
16%+

Schema+rigido+e+
non+鍖essibile+

Di鍖colta+a+
scalare++

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

Problemi+di+
performance+

CosC+

12%+
Tua+I++
precedenC+

11%+
Altri+
Architettura moderna di unapplicazione web

Application Scales Out
Just add more commodity web servers

Database Scales Up
Get a bigger, more complex server

Nota((I(database(relazionali(sono(una(tecnologia(eccellente(ma(non(per(questo(uso.(
I database NoSQL utilizzano la stessa logica
dellapplicazione

Application Scales Out
Just add more commodity web servers

NoSQL(Database(Servers(

Database Scales Out
Just add more commodity data servers

Scalando orizzontalmente si riducono I costi e aumentano
le performance
Una+StruMura+dei+DaC+Diversa+
Modello+Relazionale+vs.+A+Documento+
C1+

C2+

C3+

C4+

{+
+
+
+
}+

JSON+
JSON+
JSON+

Modello+Relazionale+

Modello+A+documento+

Tabelle(con(schema(rigido(e(stru<ura(
dei(daJ(prede鍖nita(

Collezione(di(documenJ(complessi(con(
formaJ(arbitrari(e(schema(variabile(
Database+a+Documento+
≒ Ogni(record(e(un(documento(a(se(
stante(
≒ Ogni(documento(ha(una(stru<ura(
indipendente(
≒ I(documenJ(possono(essere(complessi(
≒ Richiedono(una(chiave(unica(
≒ I(daJ(sono(immagazzinaJ(in(formato(
JSON,(XML(o(simili(
≒ Il(contenuto(puo(essere(indicizzato(e(
interrogato(
≒ O鍖rono(sharding(automaJco(e(
repliche(

{"
UUID:"21f7f8de0805105b89086
Time:" 2011004001T13:01:02.42
Server:" A2223E,
Calling" Server:" A2213W,
Type:" E100,
Initiating" User:" dsallings@spy.net,
Details:"
{
IP:"10.1.1.22,
API:" InsertDVDQueueItem,
Trace:" cleansed,
Tags:"
[
SERVER,"
US0West,"
API
]
}
}
Esempio+Social+Game++
Pro鍖lo+Giocatore+

{(
("jsonType":("player",(
("uuid":("35767d02Ba958B4b83B8179B616816692de1",(
("name":("Keith4540",(
("hitpoints":(75,(
ID+Utente+
("experience":(663,(
("level":(4,(
("loggedIn":(false(
}(
(
Esempio+Social+Game+
OggeMo+

{(

ID+OggeMo+

("jsonType":("item",(
("name":("Katana_e5890c94B11c6B65746ce6c560",(
("uuid":("e5890c94B11c6B4856Ba7a6B65746ce6c560",(
("ownerId":("Dale9887"(
}(
ID+Utente+
Esempio+Social+Game+
Mostro+

{(
ID+
("jsonType":("monster",(
Mostro+
("name":("Bauchan9932",(
("uuid":("d10dfc1bB0412B4140Bb4ecBa鍖dbf2aa5ec",(
("hitpoints":(370,(
("experienceWhenKilled":(52,(
("itemProbability":(0.5050581341872865(

}(
Esempio+Blog++

Diviso+su+piu+DocumenC+
{"

{ !
UUID :"21f7f8de08051 05b89 086
Time:" 2011 004001T13:01:02.42
_id: Coucbase_Hello_World,!
Server:"
author: A2223E, !
dborkar,
Calling" Server:" A2213W,
type: E100 ,
Type:" post!
Initiating" Us er:" ds allings
title: Hello World,! @s py.net,
D etails :"
format: markdown, !
{
body:IP:"10.1.1.22,
Hello from [Couchbase](
API:" Ins ertDVD QueueItem,
http://couchbase.com)., !
Trace:" cleans ed,
html:Tags :"
<p>Hello from <a href=http: !
[
comments:[!
SERVER,"
US0Wes t,"
!
comment1_Couchbase_Hello_world!
API
!
]!
COMMENTI+
]
}!
}
}
{!
BLOG+
_id: comment1_Couchbase_Hello_World,!
format: markdown, !
body:Awesome post! !
}+
{"
UUID :" 2 1 f7 f8 d e0 8 0 5 1 05 b 8
9 08 6
Time:"  2 0 1 1 0 0 4 00 1 T1 3 :0 1 :0 2
.4 2
Server:" A2 2 2 3 E,
Callin g" Server:" A2 2 1 3 W ,
Typ e:" E1 0 0 ,
In itiatin g" Us er:" d s allin gs @s p y.n et,
D etails :"
{
IP :" 1 0 .1 .1 .2 2 ,
AP I:"  In s ertD VD Qu eu eItem,
Trace:" clean s ed ,
Tags :"
[
SERVER,"
US0Wes t,"
AP I
]
}
}
Esempio:+Pro鍖lo+Utente+
Database'Relazionale'

Informazioni+Utente+

Indirizzo+Utente+

KEY+

First+

Last+

ZIP_id+

ZIP_id+

CITY+

STATE+

ZIP+

1+

DipC+

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+

Per+oMenere+informazioni+su+un+utente+speci鍖co,+devi+e鍖eMuare+un+JOIN+tra+
due+tabelle+
Esempio:+Pro鍖lo+Utente+
Database'a'Documento'

+{+
++++ID:+1,+
++++FIRST:+DipC,+
++++LAST:+Borkar,+
++++ZIP:+94040,+
++++CITY:+MV,+
++++STATE:+CA+
++}+

=+

++

JSON+

Tua+I+daC+di+un+utente+in+un+singolo+documento+
E鍖eMuare+una+Modi鍖ca+su+RDBMS+
Tabella+Foto+

Tabella+Utente+

User+ID+
3+

TEL

Foto+ID+

Commento+

ID+Paese+

ID+Paese+

Nome+Paese+

2+

d043+

NYC+

++001+

001+

USA+

2+

b054+

Bday+

++007+

002+

UK+

001+

5+

c036+

Miami+

++001+

003+

ArgenCna+

94040+

001+

7+

d072+

Sunset+

++133+

004+

Gorin+

NW1+

002+

5002+

e086+

Spain+

++133+

Australia+

005+

Aruba+

Young+

30303+

001+

006+

Austria+

007+

Brazil+

008+

Canada+

009+

Chile+

User+ID+

Nome+

Cognome+

CAP+

ID+Paese+

1+

DipC+

Borkar+

94040+

+001+

2+

Joe+

Smith+

94040+

3+

Ali+

Dodson+

4+

Sarah+

5+

Bob+

6+

Tabella+Paese+

Nancy+

Baker+

10010+

001+

7+

Ray+

Jones+

31311+

001+

8+

Lee+

Chen+

V5V3
M+

008+

≒
≒
≒

.+
.+
.+

++
++
++

Tabella+Status+
User+ID+

Status+ID+

Text+

ID+Paese+

1+

a42+

At+conf+

++134+

4+

b26+

excited+

007+

5+

c32+

hockey+

++008+

12+

d83+

Go+As+

++001+

5000+

e34+

sailing+

++005+

Doug+

Moore+

04252+

50001+

Mary+

White+

SW195+

50002+

Lisa+

Clark+

12425+

001+
002+
001+

++
++
++

130+

Tabella+A鍖liazioni+
User+ID+

50000+

≒
≒
≒

A鍖+ID+

A鍖+Name+

ID+Paese+

2+

a42+

Cal+

++001+

4+

b96+

USC+

++001+

7+

c14+

UW+

++001+

8+

e22+

Oxford+

++002+

Portugal+

131+

Romania+

132+

Russia+

133+

Spain+

134+

Sweden+
Modi鍖che+su+un+database++
a+documento+
+{+
++++ID:+1,+
++++FIRST:+Don,+
++++LAST:+Pinto,+
++++ZIP:+94040,+
++++CITY:+MV,+
++++STATE:+CA,+
++++STATUS:++
++++++{++TEXT:+At+Conf++
}+
,+
+}+++++++GEO_LOC:+134+},+
+ COUNTRY:+USA+
}+
+
++

JSON+

Basta+aggiungere+le+informazioni+sul+documento+
I+Database+NoSQL+
Catalogo+dei+NoSQL+

Database(
(memory/disk)(

Cache(
(memory(only)(

ChiavewValore+

Memcached(

StruMura+DaC+

Documento+

Colonna+

Gra鍖co+

Couchbase(

Cassandra(

Neo4J(

Redis(

MongoDB(
Couchbase+Open+Source+
≒ Il(principale(database(NoSQL(
distribuito(
≒ Supporta(sia(le(applicazioni(
chiaveBvalore(che(a(documento(
≒ Tun(I(componenJ(sono(
disponibili(con(licenza(Apache+
2.0+Public+License+
≒ Disponibile(come(pacche<o(
sooware(sia(nella(versione(
Community(che(in(quella(
Enterprise(

Couchbase 
Open Source Project
+
Principi+Chiave+di+Couchbase+Server+
Scalabilita(
Semplice(
Ingrandisci(il(tuo(cluster(con(un(
click(mentre(lapplicazione(
rimane(live(

Sempre(Live(
24x365(
Lapplicazione(non(e(mai(
inanva(anche(in(caso(di(
aggiornamenJ,(manutenzione(
etc.(

Performance(
Elevate(e(CostanJ(
Tempi(di(risposta(costanJ(so<o(il(
millisecondo(per(operazioni(di(
scri<ura(e(le<ura((

Modello(DaJ(
Flessibile(
Supporto(per(documenJ(JSON(
senza(uno(schema(rigido(
Di鍖erenze+Principali+RispeMo+ad+Altri+
Database+NoSQL+
≒ Perme<e(un(alJssimo(numero(di(
connessioni(contemporanee(
(fondamentale(per(applicazioni(
web(interanve)(
≒ Nessun(locks(
≒ Cache(naJva+
≒ Hash(parJJoning((non(range)((((
!(non(si(formano(hotspots(
≒ Sharding(automaJco(
Dietro+le+Quinte+di+Couchbase+
Server+Singolow+Operazione+ScriMura+con+
Couchbase+
Doc+1+

App(Server(
Couchbase(Server(Node(
3(
2(
Managed(Cache(
ReplicaJon(
Queue(

Doc+1+
Doc+1+

Disk(
Doc+1+

Disk(Queue(

To(other(node(

3(
GET+
Doc+1+

Server+Singolow+Operazione+LeMura+con+
Couchbase+
App(Server(

Couchbase(Server(Node(
3(
2(
Managed(Cache(
ReplicaJon(
Queue(

Doc+1+

Disk(
Doc+1+

Disk(Queue(

To(other(node(

3(
Operazioni+di+Base+sul+Cluster+
APP+SERVER+1+

APP+SERVER+2+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

READ/WRITE/UPDATE+
+
+

SERVER+1+
ACTIVE+

Doc+5+

Doc+

+
+

SERVER+2+
ACTIVE+

Doc+4+

+
+

Doc+

≒Tua+I+nodi+sono+uguali+e+I+
documenC+sono+
ugualmente+distribuiC+

SERVER+3+
ACTIVE+

Doc+1+

Doc+

Doc+2+

Doc+

Doc+7+

Doc+

Doc+3+

Doc+

Doc+9+

Doc+

Doc+8+

Doc+

Doc+6+

≒Ogni+server+conCene+sia+I+
documenC+aavi+che+
quelli+replica+

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(Con鍖gured(Replica(Count(=(1(

≒La+mappa+del+cluster+ha+le+
coordinate+su+dove+si+
trovano+I+documenC+++++++++++++++++++
Lapplicazione(non(ha(bisogno(di(
saperlo(
Aggiungere+Nodi+al+Cluster+
APP+SERVER+1+

APP+SERVER+2+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

READ/WRITE/UPDATE+
+
+

SERVER+1+
ACTIVE+

Doc+5+

Doc+

+
+

SERVER+2+

+
+

ACTIVE+

Doc+4+

Doc+

READ/WRITE/UPDATE+

SERVER+3+
ACTIVE+

Doc+1+

+
+

SERVER+4+
ACTIVE+

+
+

SERVER+5+
ACTIVE+

Doc+

Doc+2+

Doc+

Doc+7+

Doc+

Doc+3+

Doc+

Doc+9+

Doc+

Doc+8+

Doc+

Doc+6+

Doc+

REPLICA+

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(Con鍖gured(Replica(Count(=(1(

REPLICA+

≒ Due+servers+aggiunC+
con+un+solo+click+
≒ I+documenC+vengono+
automaCcamente+
ribilanciaC+aMraverso+il+
cluster+
Col(minimo(
spostamento(di(
documenJ(possibile(
≒ La+mappa+del+cluster+
viene+aggiornata+
≒ Lapplicazione+ora+e+
supportata+da+un+
numero+maggiore+di+
servers.+
Caduta+di+un+Nodo+
APP+SERVER+1+

APP+SERVER+2+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

COUCHBASE+Client+Library+
+
CLUSTER+MAP+
+

≒ I+server+della+app+accedono+
ai+daC+
+
+

SERVER+1+
ACTIVE+

Doc+5+
Doc+2+

Doc+
Doc+

+
+

SERVER+2+

+
+

ACTIVE+

Doc+4+
Doc+7+

Doc+1+

ACTIVE+

Doc+1+

Doc+

REPLICA+

Doc+10+

Doc+
Doc+

+
+

SERVER+4+
ACTIVE+

Doc+9+

Doc+

Doc+8+

+
+

SERVER+5+
ACTIVE+

Doc+6+

Doc+

Doc+

REPLICA+

REPLICA+

Doc+4+

Doc+

Doc+6+

Doc+

Doc+7+

Doc+

Doc+5+

Doc+

Doc+

≒ Le+richieste+della+app+ora+si+
dirigono+sul+server+
appropriato+

Doc+1+

Doc+

Doc+3+

Doc+

Doc+9+

Doc+

Doc+2+

COUCHBASE+SERVER++CLUSTER+

User(Con鍖gured(Replica(Count(=(1(

REPLICA+

Doc+10+

≒ Le+richieste+al+Server+3+
falliscono+
≒ Il+Cluster+idenC鍖ca+che+un+
nodo+e+o鍖ine+

Doc+3+

REPLICA+

Doc+

SERVER+3+

Doc+8+

Doc+

Le(repliche(vengono(promosse(ad(
anve(e(la(mappa(del(cluster(viene(
aggiornata(

≒ Il+tuMo+e+seguito+dal+
ribilanciamento+dei+daC+
Cross+Data+Center+ReplicaCon+(XDCR)+
+
+

SERVER+1+

+
+

ACTIVE+

SERVER+2+

+
+

ACTIVE+

SERVER+3+

Doc++

Doc++

Doc++

Doc++

Doc+9+

Doc++

Doc+

Doc+2+

RAM(

COUCHBASE+SERVER++CLUSTER+
NY+DATA+CENTER+

ACTIVE+

Doc++

Doc+

Doc++

DISK(

RAM(
Doc+

Doc++

RAM(

Doc+

Doc++

Doc+

DISK(

Doc+

Doc+

DISK(

+
+

SERVER+1+

+
+

ACTIVE+

SERVER+2+

+
+

ACTIVE+

SERVER+3+
ACTIVE+

Doc++

COUCHBASE+SERVER++CLUSTER+
SF+DATA+CENTER+

Doc++

Doc++

Doc+2+

RAM(

Doc+
Doc++

Doc++

Doc+9+

Doc++

Doc+

Doc++

DISK(

RAM(
Doc+

Doc++

Doc+

DISK(

RAM(
Doc++

Doc+

Doc+

DISK(

Doc+
Couchbase+Server+Admin+Console+
Introduzione a Couchbase
Altri+Usi+Comuni+del+NoSQL+
Market+AdopCon++Customers+
Internet+Companies+

Enterprises+

More+than+300+customers+ww+5,000+producCon+deployments+worldwide+
CaraMerisCche+dei+DaC+
≒ StruMura+de鍖nita+dallutente+(TwiMer+feeds)+
≒ Serve+supporto+per+crescita+esponenziale+(Apps+virali)+
≒ StruMura+dei+daC+non+omogenea+
≒ Ce+necessita+di+cambiare+struMura+frequentemente+
≒ Lunghezza+dei+documenC+variabile+
≒ StruMura+dei+daC+gerarchica+

+

Couchbase+e+la+scelta+ideale+
+
RequisiC+di+Performance+
≒ Latenze+estremamente+basse+(es.+1millisecondo)+
≒ Tra鍖ci+elevaC+(es.+200000+ops/sec)+
≒ Numero+di+utenC+elevato+
≒ Domanda+non+prevenCvabile+con+crescite+improvvise+
≒ Ce+predominanza+di+accesso+direMo+ai+documenC+
≒ Alto+tra鍖co+in+leMura+e+scriMura+

+

Couchbase+e+la+scelta+ideale+
+
Applicazioni+Comuni+
Social+Gaming+
+

≒ Couchbase(
conJene(I(daJ(sugli(
utenJ(e(I(giochi(
≒ Esempi(clienJ:(
Zynga,(Tapjoy,(
Ubisoo,(Tencent(

+

Pubblicita+Online+ Informazioni+di+Sessione+
+

≒ Couchbase(conJene(
info(sugli(utenJ(per(
un(accesso(veloce(
≒ Esempi(clienJ:(AOL,(
Mediamind,(
Convertro((

+

≒ Couchbase(come(database(
chiaveBvalore(
≒ Esempi(clienJ:(Concur,(Sabre(

+

Metadata+e+ContenuC+

+

+

Apps+Mobili+

+

+

≒ Couchbase(conJene(daJ(
su(utenJ(e(contenuJ(

≒ Couchbase(come(database(
chiaveBvalore(

+

+

Cache+ad+Alta+Disponibilita+
+

≒ Couchbase(uJlizzato(come(livello(di(cache(
≒ Esempi(clienJ:(Orbitz(

≒ Esempi(clienJ:(McGraw(Hill(

+

≒ Esempi(clienJ:(Tunewiki(

≒ Esempi(clienJ:(Kobo,(
PlayJka((

+

≒ Couchbase(insieme(ad(
ElasJcsearch(

Pro鍖li+UtenC+

+

Aggregazione+DaC+
+

≒ Couchbase(aggrega(I(daJ(dai(social(
media(
≒ Esempi(clienJ:(Sambacloud(

+
Esempio+duso:+Pro鍖li+UtenC+
Pro鍖li+UtenC+

Tipologia+di+DaC+
≒Informazioni+sui+pro鍖li+
utenC+
≒Informazioni+di+registrazione+
≒Nomi+utenC+e+password+
+

RequisiC+dellapplicazione+
Accesso+chiavewvalore+con+le+
seguenC+caraMerisCche:++
≒Alta+consistenza+
≒Scalabilita+per+gesCre+cenCnaia+
di+milioni+di+utenC+
≒Il+sistema+devessere+sempre+live+
24x7x365+

Perche+NoSQL+e+Couchbase+
≒Alta+consistenza+a+livello+del+cluster.+
≒Il+cluster+puo+essere+allargato+o+ristreMo+per+supportare+la+
crescita+esponenziale+di+utenC+
≒Il+cluster+devessere+disponibile+24/365.+Con+Couchbase+tuMe+le+
operazioni+di+manutenzione,+aggiornamento+e+riparazione+
vengono+e鍖eMuate+lasciando+lapplicazione+live.+Grazie+al+cross+
datacenter+replicaCon+epossibile+collegare+due+centri+daC+diversi+
per+ridurre+I+rischi+di+perdita+daC+e+per+una+maggiore+prossimita+
agli+utenC+

h<p://blog.couchbase.com/couchbaseBnosqlBtunewikiBbillionB
documentsBandBcounJng((
Esempio+duso:+Pubblicita+Online+
Pubblicita+Online+

Tipologia+di+DaC+
≒Preferenze+utenC+e+daC+
psicogra鍖ci+
≒Cronologia+delle+ricerche+
≒Cronologia+delle+parole+
chiave+acquistate+
dallazienda+
≒Cronologia+delle+pubblicita+
visualizzate+

RequisiC+dellApplicazione+
≒Alte+performance+per+soddisfare+
I+tempi+ristreassimi+degli+utenC+
(soMo+I+40ms+in+totale)+
≒Scalabilita+per+sostenere+tra鍖ci+
elevaC+e+cenCnaia+di+milioni+di+
utenC+
≒Sistema+disponibile+24x7x365+
per+evitare+perdite+di+guadagni+

Perche+NoSQL+e+Couchbase+
≒Accesso+ai+daC+in+meno+di+un+millisecondo+costante,+lasciando+
quindi+piu+tempo+per+lanalisi+
≒Facilita+a+scalare+il+cluster+a+cenCnaia+di+servers+se+necessario+
≒Il+cluster+rimarra+sempre+live+e+disponibile,+evitando+quindi+
perdite+di+pro鍖a..+

h<p://www.couchbase.com/ad_platorms((
Esempio+duso:+Cache+ad+Alta+
Disponibilita+
Cache+ad+alta+disponibilita+

Tipologia+di+daC+
≒Oggea+dellapplicazione+
≒RisultaC+delle+ricerche+
≒Informazioni+di+sessione+
≒Pagine+web+ad+alto+uClizzo+
≒Metadata+

RequisiC+dellapplicazione+
≒Tempi+di+risposta+brevissimi+e+
costanC+
≒Alta+disponibilitaw+24x7x365+
≒Facile+da+gesCre+mantenendo+
lapplicazione+sempre+live+
≒SosCtuisce+lintero+livello+di+
caching+

Perche+NoSQL+e+Couchbase+
≒Basse+latenze+(soMo+il+millisecondo)+e+prestazioni+costanC+e+
prevedibili+
≒TuMe+le+operazioni+possono+essere+e鍖eMuate+lasciando+live+
lapplicazione+
≒CompaCbile+con+memcached.+La+migrazione+a+Couchbase+viene+
e鍖eMuata+lasciando+intaMa+lapplicazione+
≒Alta+disponibilita+con+repliche+allinterno+del+cluster+e+allesterno+
(XDCR)+per+essere+garanCC+anche+in+caso+di+disastri+

h<p://www.couchbase.com/memcached(
(
QuesCons?+
Demo+
Non+dimenCcate+di+
Scaricare+e+fare+praCca+con+Couchbase+
Server+
hMp://www.couchbase.com/download+

Iscrivervi+sul+gruppo+di+Couchbase+Italia+su+
LinkedIn+
hMp://www.linkedin.com/groups/CouchbasewItaliaw4932288+

Iscrivervi+sul+nostro+Community+Portal+
hMp://www.couchbase.com/communiCes/user/register+
Grazie+a+Tua!+

franco@couchbase.com+
Ad

Recommended

14 grasp-1
14 grasp-1
Rahul Jain
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"
Franco Caporale
Tiff Arcella Stop wasting money and valuable opportunities: How to optimize...
Tiff Arcella Stop wasting money and valuable opportunities: How to optimize...
Sean Bradley
Automotive Internet Sales Department - growing-internetstaffv2
Automotive Internet Sales Department - growing-internetstaffv2
Automotive Digital Marketing Professional Community
Spark and shark
Spark and shark
DataWorks Summit
Enterprise Architecture vs. Data Architecture
Enterprise Architecture vs. Data Architecture
DATAVERSITY
NOSQL
NOSQL
akbarashaikh
Couchbase 3.0.2 d1
Couchbase 3.0.2 d1
Sachin Kumar Kansal
NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013
Facundo Farias
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
No SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
Bethmi Gunasekara
際際滷s: Enterprise Architecture vs. Data Architecture
際際滷s: Enterprise Architecture vs. Data Architecture
DATAVERSITY
NoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern Success
Arun Gupta
NoSQL, the Vital Open Source Ingredient for Modern Success
NoSQL, the Vital Open Source Ingredient for Modern Success
All Things Open
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
pohumiprnjak
The Why, When, and How of NoSQL - A Practical Approach
The Why, When, and How of NoSQL - A Practical Approach
DATAVERSITY
NoSql - mayank singh
NoSql - mayank singh
Mayank Singh
CouchBase The Complete NoSql Solution for Big Data
CouchBase The Complete NoSql Solution for Big Data
Debajani Mohanty
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
Inside Analysis
001 hbase introduction
001 hbase introduction
Scott Miao
Couchbase - Introduction
Couchbase - Introduction
Knoldus Inc.
What is CRATE?
What is CRATE?
Jodok Batlogg
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
DATAVERSITY
NoSQL_Night
NoSQL_Night
Clarence J M Tauro
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
NoSQL
NoSQL
Radu Vunvulea
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak

More Related Content

Similar to Introduzione a Couchbase (20)

NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013
Facundo Farias
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
No SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
Bethmi Gunasekara
際際滷s: Enterprise Architecture vs. Data Architecture
際際滷s: Enterprise Architecture vs. Data Architecture
DATAVERSITY
NoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern Success
Arun Gupta
NoSQL, the Vital Open Source Ingredient for Modern Success
NoSQL, the Vital Open Source Ingredient for Modern Success
All Things Open
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
pohumiprnjak
The Why, When, and How of NoSQL - A Practical Approach
The Why, When, and How of NoSQL - A Practical Approach
DATAVERSITY
NoSql - mayank singh
NoSql - mayank singh
Mayank Singh
CouchBase The Complete NoSql Solution for Big Data
CouchBase The Complete NoSql Solution for Big Data
Debajani Mohanty
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
Inside Analysis
001 hbase introduction
001 hbase introduction
Scott Miao
Couchbase - Introduction
Couchbase - Introduction
Knoldus Inc.
What is CRATE?
What is CRATE?
Jodok Batlogg
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
DATAVERSITY
NoSQL_Night
NoSQL_Night
Clarence J M Tauro
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
NoSQL
NoSQL
Radu Vunvulea
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak
NoSQL Databases Introduction - UTN 2013
NoSQL Databases Introduction - UTN 2013
Facundo Farias
NoSQL for SQL Server Developers using Couchbase
NoSQL for SQL Server Developers using Couchbase
Brant Burnett
No SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
Bethmi Gunasekara
際際滷s: Enterprise Architecture vs. Data Architecture
際際滷s: Enterprise Architecture vs. Data Architecture
DATAVERSITY
NoSQL - Vital Open Source Ingredient for Modern Success
NoSQL - Vital Open Source Ingredient for Modern Success
Arun Gupta
NoSQL, the Vital Open Source Ingredient for Modern Success
NoSQL, the Vital Open Source Ingredient for Modern Success
All Things Open
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
Nosql Essentials Navigating The World Of Nonrelational Databases Kameron Huss...
pohumiprnjak
The Why, When, and How of NoSQL - A Practical Approach
The Why, When, and How of NoSQL - A Practical Approach
DATAVERSITY
NoSql - mayank singh
NoSql - mayank singh
Mayank Singh
CouchBase The Complete NoSql Solution for Big Data
CouchBase The Complete NoSql Solution for Big Data
Debajani Mohanty
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
Inside Analysis
001 hbase introduction
001 hbase introduction
Scott Miao
Couchbase - Introduction
Couchbase - Introduction
Knoldus Inc.
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
際際滷s: NoSQL Data Modeling Using JSON Documents A Practical Approach
DATAVERSITY
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
Couchbase overview033113long
Couchbase overview033113long
Jeff Harris
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak

Introduzione a Couchbase