Franco Caporale, technology evangelist di Couchbase, parla di database NoSQL, scalabilità di applicazioni web e mobile games. In particolare viene trattato il caso Draw Something, il gioco di Zynga che l'anno scorso ha raggiunto 50 milioni di utenti e oltre 2 miliardi di disegni in sole 6 settimane.
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"Franco Caporale
In questa presentazione spiegheremo quali sono i trend che hanno portato alla nascita dei database NoSQL. Verranno illustrate le differenze tra i database relazionali e i database NoSQL come Couchbase, mostrando i vantaggi di quest'ultimi e le loro principali applicazioni. Inoltre, presenteremo in dettaglio l'architettura di Couchbase e le sue principali caratteristiche (performance elevate e costanti, facile da scalare, modello dati flessibile e sempre live 24x365). La presentazione si chiudera' con una descrizione delle applicazioni che attualmente utilizzano Couchbase in produzione.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Pietro Polsinelli, responsabile Game Design di OpenLab, illustra il design e lo sviluppo di una mobile web app scritta interamente in HTML5 e Javascript che usa Facebook Open Graph come unico livello di persistenza (quindi senza alcun codice server side). La web app è particolarmente interessante perché comprende un sistema di generazione immagini on-the-fly basato su SVG e canvas.
Odeta Ioana worked as a history and humanities teacher from 2000 to 2010. She obtained additional training as a documentarist teacher. Currently, she works as a documentarist teacher at Corneliu Medrea High School in Zlatna. As a documentarist teacher, she facilitates access to information, documentation, new technologies, and information literacy for students, teachers, and the local community. Her roles include educational, cultural, and communication activities like projects, cultural events, and promoting the information center. She shares pictures of Zlatna from the past and present, including old views of the city, traditional clothing, the gold mining industry, and her current workplace at the Information and Documentation Center.
Couchbase Meetup - "Introduzione a NoSQL e Couchbase"Franco Caporale
In questa presentazione spiegheremo quali sono i trend che hanno portato alla nascita dei database NoSQL. Verranno illustrate le differenze tra i database relazionali e i database NoSQL come Couchbase, mostrando i vantaggi di quest'ultimi e le loro principali applicazioni. Inoltre, presenteremo in dettaglio l'architettura di Couchbase e le sue principali caratteristiche (performance elevate e costanti, facile da scalare, modello dati flessibile e sempre live 24x365). La presentazione si chiudera' con una descrizione delle applicazioni che attualmente utilizzano Couchbase in produzione.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Pietro Polsinelli, responsabile Game Design di OpenLab, illustra il design e lo sviluppo di una mobile web app scritta interamente in HTML5 e Javascript che usa Facebook Open Graph come unico livello di persistenza (quindi senza alcun codice server side). La web app è particolarmente interessante perché comprende un sistema di generazione immagini on-the-fly basato su SVG e canvas.
Odeta Ioana worked as a history and humanities teacher from 2000 to 2010. She obtained additional training as a documentarist teacher. Currently, she works as a documentarist teacher at Corneliu Medrea High School in Zlatna. As a documentarist teacher, she facilitates access to information, documentation, new technologies, and information literacy for students, teachers, and the local community. Her roles include educational, cultural, and communication activities like projects, cultural events, and promoting the information center. She shares pictures of Zlatna from the past and present, including old views of the city, traditional clothing, the gold mining industry, and her current workplace at the Information and Documentation Center.
Emanuele Bolognesi, responsabile del progetto AppsFuel, analizza le possibilità di distribuzione, promozione e monetizzazione del mobile web, facendo un confronto tra app native e web app, evidenziando le problematiche, ma anche le opportunità offerte da queste due tecnologie.
This document provides information about a high school named after Stefan Procopiu located in Vaslui, Romania. Vaslui is a county in the northeast of Romania with 50,000 inhabitants. The high school has around 2,000 students aged 15-19 and 50 students aged 13-14, with 50 classrooms, 21 labs, and various facilities. It was established in 1972 and has participated in over 30 European projects since 1999 related to fields like mechanics, computers, and languages. The school focuses on volunteer activities and celebrates its traditions.
The document is a paper presented by Jadeja Poojaba G. to the Department of English at M. K. Bhavnagar University about Tom Jones being considered a realistic novel. The paper discusses how the novel uses a middle class society as its subject matter and depicts characters with vices and virtues. It also examines how Tom Jones functions as a mirror of society, depicts the nature of human beings, delivers social satire through realism, and conveys a moral message.
Struggle of duty and doubt in African LiteraturePoojaba Jadeja
This document summarizes the theme of struggle between duty and doubt in African literature. It discusses how after World War II, African authors wrote about demanding independence from colonial rule and the clash between indigenous and colonial cultures. It analyzes several novels where characters maintain doubts about social customs and political power and position, struggling between their social/political duties and inner doubts. Novels like Things Fall Apart, Waiting for Barbarians, and The Swamp Dweller are discussed where characters doubt their culture or position as colonizer. Grain of Wheat also depicts the struggle for independence through characters like Mugo.
In this update of his past presentations on Mobile Eating the World -- delivered most recently at The Guardian's Changing Media Summit -- a16z’s Benedict Evans takes us through how technology is universal through mobile. How mobile is not a subset of the internet anymore. And how mobile (and accompanying trends of cloud and AI) is also driving new productivity tools.
In fact, mobile -- which encompasses everything from drones to cars -- is everything.
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
Una panoramica su OpenStreetMap, un servizio di web mapping open source cui si può contribuire in stile Wikipedia. In questa presentazione viene mostrato come poter contribuire ad OSM e "sfruttare" il relativo database per creare servizi innovativi. La presentazione è stata realizzata per il Linux Day 2014 a Napoli (www.linuxdaynapoli.org)
Introduzione ai Big Data e alla scienza dei dati - Exploratory Data AnalysisVincenzo Manzoni
Lezione 2 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. Seconda lezione dedicata all'Exploratory Data Analysis.
Esistono diversi strumenti per l’analisi forense per indagare gli attacchi sulla rete. In questa presentazione discuteremo degli strumenti alcuni disponibili gratuitamente e altri a pagamento
Innanzitutto, la presentazione inizia con la descrizione del tool NetworkMiner e con un relativo esempio su come rilevare un malware Zyklon utilizzando l’apposito strumento.
Poi la presentazione continua con il tool Colasoft Copsa un software che permette di acquisire e analizzare il traffico di rete, verranno spiegate le sezioni che si trovano nel menù principale dell’applicazione e infine come rilevare il worm SQL Slammer.
Infine, viene presentato il tool E-Detective un sistema di intercettazione (sniffing), analisi forense, auditing e record keeping , verrà spiegato brevemente come viene implementato il sistema e le principali funzionalità della GUI Web.
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in più agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialità di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarità è la potenziale versatilità di tale sistema e la sua applicabilità a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrerà l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Ortocloud è arrivata seconda all'ICS del developer competition di IBM.
Permette di vedere come è stato possibile sfruttare i servizi weather di Bluemix con le XPages e noSQL Database di Domino
Emanuele Bolognesi, responsabile del progetto AppsFuel, analizza le possibilità di distribuzione, promozione e monetizzazione del mobile web, facendo un confronto tra app native e web app, evidenziando le problematiche, ma anche le opportunità offerte da queste due tecnologie.
This document provides information about a high school named after Stefan Procopiu located in Vaslui, Romania. Vaslui is a county in the northeast of Romania with 50,000 inhabitants. The high school has around 2,000 students aged 15-19 and 50 students aged 13-14, with 50 classrooms, 21 labs, and various facilities. It was established in 1972 and has participated in over 30 European projects since 1999 related to fields like mechanics, computers, and languages. The school focuses on volunteer activities and celebrates its traditions.
The document is a paper presented by Jadeja Poojaba G. to the Department of English at M. K. Bhavnagar University about Tom Jones being considered a realistic novel. The paper discusses how the novel uses a middle class society as its subject matter and depicts characters with vices and virtues. It also examines how Tom Jones functions as a mirror of society, depicts the nature of human beings, delivers social satire through realism, and conveys a moral message.
Struggle of duty and doubt in African LiteraturePoojaba Jadeja
This document summarizes the theme of struggle between duty and doubt in African literature. It discusses how after World War II, African authors wrote about demanding independence from colonial rule and the clash between indigenous and colonial cultures. It analyzes several novels where characters maintain doubts about social customs and political power and position, struggling between their social/political duties and inner doubts. Novels like Things Fall Apart, Waiting for Barbarians, and The Swamp Dweller are discussed where characters doubt their culture or position as colonizer. Grain of Wheat also depicts the struggle for independence through characters like Mugo.
In this update of his past presentations on Mobile Eating the World -- delivered most recently at The Guardian's Changing Media Summit -- a16z’s Benedict Evans takes us through how technology is universal through mobile. How mobile is not a subset of the internet anymore. And how mobile (and accompanying trends of cloud and AI) is also driving new productivity tools.
In fact, mobile -- which encompasses everything from drones to cars -- is everything.
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
Una panoramica su OpenStreetMap, un servizio di web mapping open source cui si può contribuire in stile Wikipedia. In questa presentazione viene mostrato come poter contribuire ad OSM e "sfruttare" il relativo database per creare servizi innovativi. La presentazione è stata realizzata per il Linux Day 2014 a Napoli (www.linuxdaynapoli.org)
Introduzione ai Big Data e alla scienza dei dati - Exploratory Data AnalysisVincenzo Manzoni
Lezione 2 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. Seconda lezione dedicata all'Exploratory Data Analysis.
Esistono diversi strumenti per l’analisi forense per indagare gli attacchi sulla rete. In questa presentazione discuteremo degli strumenti alcuni disponibili gratuitamente e altri a pagamento
Innanzitutto, la presentazione inizia con la descrizione del tool NetworkMiner e con un relativo esempio su come rilevare un malware Zyklon utilizzando l’apposito strumento.
Poi la presentazione continua con il tool Colasoft Copsa un software che permette di acquisire e analizzare il traffico di rete, verranno spiegate le sezioni che si trovano nel menù principale dell’applicazione e infine come rilevare il worm SQL Slammer.
Infine, viene presentato il tool E-Detective un sistema di intercettazione (sniffing), analisi forense, auditing e record keeping , verrà spiegato brevemente come viene implementato il sistema e le principali funzionalità della GUI Web.
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in più agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialità di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarità è la potenziale versatilità di tale sistema e la sua applicabilità a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrerà l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Ortocloud è arrivata seconda all'ICS del developer competition di IBM.
Permette di vedere come è stato possibile sfruttare i servizi weather di Bluemix con le XPages e noSQL Database di Domino
(in)Sicurezza nella PA: la storia di uno dei tanti problemi di sicurezza che abbiamo scoperto e segnalato, esempi pratici di vulnerabilità in applicativi web e cosa ci riserva il futuro. Lo sviluppo sicuro delle applicazioni web spiegato ai fornitori di tecnologia della Pubblica Amministrazione.
Structured Streaming è il modulo di Stream Processing costruito sul motore Spark SQL. In poche parole garantisce l'esecuzione di un messaggio esattamente una volta, è scalabile e fault-tolerant. È possibile definire le analisi stream nello stesso modo in cui si definirebbe un calcolo batch sui dati usando i Dataset/DataFrame API in Scala, Java, Python or R utilizzando l'engine SQL di Spark.
Durante la sessione vedremo un'overview delle funzionalità e un esempio di di come sia possibile eseguire l'ingestion dei dati con Event Hub (Kafka enabled) eseguire un'analisi con Spark e salvare i risultati su Cosmos DB.
BigData & Graphs in Rome
OrientDB & Big Data:storie di vita vissuta
Da un caso di successo a un futuro che “spacca”
Un backstage di un caso di successo con un occhio critico ai problemi avuti, ma con la consapevolezza di un futuro brillante.
Il riassunto della nascita di una suite di business intelligence.
By Luca Bianconi
@LucaBianconi74
Deployment ripetibili e automatizzati con Saltitbabu
Gestisci uno o centinaia di server?
Hai intenzione di mettere in produzione il tuo primo progetto con Django?
Diventi matto ogni volta che devi fare una modifica ad un server in produzione?
Ti è stato appena assegnato il progetto di un programmatore che ha appena lasciato l'azienda, e hai appena scoperto che quello che c'è sul server di produzione è diverso da quello che c'è scritto nella wiki aziendale?
Allora... questo talk fa per te.
Il deployment è un passo fondamentale di qualsiasi progetto. Purtroppo può diventare un'operazione ripetitiva, complicata e rischiosa.
Questo talk sarà un'introduzione su come ottenere installazioni ripetibili e automatizzate di Django utilizzando Salt, un software Open Source scritto in Python
5. I dati crescono in modo non lineare…
191715131197533/12826242220181614121082/6
Daily Active Users (millions)
21
2
4
6
8
10
12
14
16
In un mese 30,000,000 di downloads della app,
oltre 5,000 disegni al secondo,
oltre 2,200,000,000 disegni immagazzinati,
oltre 105,000 operazioni al secondo,
e oltre 3.3 terabytes di dati in totale.
12. I principali motivi per l’adozione
del NoSQL
Schema rigido e
non flessibile
Difficolta’ a
scalare
Problemi di
performance
Costi Tutti I
precedenti
Altri
49%
35%
29%
16%
12%
11%
Source: Couchbase Survey, December 2011, n = 1351.
13. Architettura moderna di un’applicazione 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.
14. I database NoSQL utilizzano la stessa logica
dell’applicazione
Application Scales Out
Just add more commodity web servers
Database Scales Out
Just add more commodity data servers
Scalando orizzontalmente si riducono I costi e aumentano
le performance
NoSQL Database Servers
16. Modello Relazionale vs. A Documento
Modello “Relazionale” Modello “A documento”
Collezione di documenti complessi con
formati arbitrari e schema variabile
Tabelle con schema rigido e struttura
dei dati predefinita
JSON
JSON
JSON
C1 C2 C3 C4
{
}
17. Database a Documento
• Ogni record e’ un documento a se’
stante
• Ogni documento ha una struttura
indipendente
• I documenti possono essere complessi
• Richiedono una chiave unica
• I dati sono immagazzinati in formato
JSON, XML o simili
• Il contenuto puo’ essere indicizzato e
interrogato
• Offrono sharding automatico e
repliche
{
“UUID”: “21f7f8de-8051-5b89-86
“Time”: “2011-04-01T13: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”,
“US-West”,
“API”
]
}
}
18. Esempio Social Game
Profilo Giocatore
{
"jsonType": "player",
"uuid": "35767d02-a958-4b83-8179-616816692de1",
"name": "Keith4540",
"hitpoints": 75,
"experience": 663,
"level": 4,
"loggedIn": false
}
ID Utente
19. Esempio Social Game
Oggetto
{
"jsonType": "item",
"name": "Katana_e5890c94-11c6-65746ce6c560",
"uuid": "e5890c94-11c6-4856-a7a6-65746ce6c560",
"ownerId": "Dale9887"
}
ID Oggetto
ID Utente
20. Esempio Social Game
Mostro
{
"jsonType": "monster",
"name": "Bauchan9932",
"uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec",
"hitpoints": 370,
"experienceWhenKilled": 52,
"itemProbability": 0.5050581341872865
}
ID
Mostro
22. Esempio: Profilo Utente
Database Relazionale
Indirizzo Utente
1 DEN 30303CO
2 MV 94040CA
3 CHI 60609IL
Informazioni Utente
KEY First ZIP_idLast
4 NY 10010NY
1 Dipti 2Borkar
2 Joe 2Smith
3 Ali 2Dodson
4 John 3Doe
ZIP_id CITY ZIPSTATE
1 2
2 MV 94040CA
Per ottenere informazioni su un utente specifico, devi effettuare un JOIN tra due
tabelle
23. Tutti I dati di un utente in un singolo documento
{
“ID”: 1,
“FIRST”: “Dipti”,
“LAST”: “Borkar”,
“ZIP”: “94040”,
“CITY”: “MV”,
“STATE”: “CA”
}
JSON
= +
Esempio: Profilo Utente
Database a Documento
24. User ID Nome Cognome CAP
1 Dipti Borkar 94040
2 Joe Smith 94040
3 Ali Dodson 94040
4 Sarah Gorin NW1
5 Bob Young 30303
6 Nancy Baker 10010
7 Ray Jones 31311
8 Lee Chen
V5V3
M
•
•
•
50000 Doug Moore 04252
50001 Mary White SW195
50002 Lisa Clark 12425
ID Paese
TEL
3
001
ID Paese Nome Paese
001 USA
002 UK
003 Argentina
004 Australia
005 Aruba
006 Austria
007 Brazil
008 Canada
009 Chile
•
•
•
130 Portugal
131 Romania
132 Russia
133 Spain
134 Sweden
User ID Foto ID Commento
2 d043 NYC
2 b054 Bday
5 c036 Miami
7 d072 Sunset
5002 e086 Spain
Tabella Foto
001
007
001
133
133
User ID Status ID Text
1 a42 At conf
4 b26 excited
5 c32 hockey
12 d83 Go A’s
5000 e34 sailing
Tabella Status
134
007
008
001
005
Tabella Paese
User ID Affl ID Affl Name
2 a42 Cal
4 b96 USC
7 c14 UW
8 e22 Oxford
Tabella Affiliazioni
ID Paese
001
001
001
002
ID Paese
ID Paese
001
001
002
001
001
001
008
001
002
001
Tabella Utente
.
.
.
Effettuare una Modifica su RDBMS
25. Modifiche 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”
Basta aggiungere le informazioni sul documento
JSON
,}
28. Come scegliere il database NoSQL
piu’ adatto?
Crescita rapida
Reattivita’ del gioco
Gioco globalizzato e
sempre attivo
Modifiche frequenti
e veloci
Scalabilita’
Performance
Sempre live
Modello dei
dati flessibile
29. Couchbase Open Source
• Il principale database NoSQL
distribuito
• Supporta sia le applicazioni
chiave-valore che a documento
• Tutti I componenti sono
disponibili con licenza Apache
2.0 Public License
• Disponibile come pacchetto
software sia nella versione
Community che in quella
Enterprise
Couchbase
Open Source Project
31. Scalabilita’
Semplice
Performance
Elevate e Costanti
Sempre Live
24x365
Ingrandisci il tuo cluster con un
click mentre l’applicazione
rimane live
Tempi di risposta costanti sotto il
millisecondo per operazioni di
scrittura e lettura
L’applicazione non e’ mai
inattiva anche in caso di
aggiornamenti, manutenzione
etc.
Modello Dati
Flessibile
Supporto per documenti JSON
senza uno schema rigido
Principi Chiave di Couchbase Server
32. Differenze Principali Rispetto ad Altri
Database NoSQL
• Permette un altissimo numero di
connessioni contemporanee
(fondamentale per applicazioni
web interattive)
• Nessun locks
• Cache nativa
• Hash partitioning (non range)
non si formano “hotspots”
• Sharding automatico
34. 33 2
Server Singolo- Operazione Scrittura con
Couchbase
Managed Cache
DiskQueue
Replication
Queue
App Server
Doc 1’
Doc 1
Doc 1’Doc 1
Doc 1’
Disk
To other node
Couchbase Server Node
35. GET
Doc1
33 2
Server Singolo- Operazione Lettura con
Couchbase
DiskQueue
Replication
Queue
App Server
Doc 1
Doc 1Doc 1
Managed Cache
Disk
To other node
Couchbase Server Node
36. COUCHBASE SERVER CLUSTER
Operazioni di Base sul Cluster
• Tutti I nodi sono uguali e I
documenti sono
ugualmente distribuiti
• Ogni server contiene sia I
documenti attivi che
quelli replica
• La mappa del cluster ha le
coordinate su dove si
trovano I documenti
L’applicazione non ha bisogno di
saperlo
User Configured Replica Count = 1
READ/WRITE/UPDATE
ACTIVE
Doc 5
Doc 2
Doc
Doc
Doc
SERVER 1
ACTIVE
Doc 4
Doc 7
Doc
Doc
Doc
SERVER 2
Doc 8
ACTIVE
Doc 1
Doc 3
Doc
Doc
Doc
REPLICA
Doc 4
Doc 1
Doc 8
Doc
Doc
Doc
REPLICA
Doc 6
Doc 3
Doc 2
Doc
Doc
Doc
REPLICA
Doc 7
Doc 9
Doc 5
Doc
Doc
Doc
SERVER 3
Doc 6
APP SERVER 1
COUCHBASE Client Library
CLUSTER MAP
COUCHBASE Client Library
CLUSTER MAP
APP SERVER 2
Doc 9
37. Aggiungere Nodi al Cluster
• Due servers aggiunti
con un solo click
• I documenti vengono
automaticamente
ribilanciati attraverso il
cluster
Col minimo
spostamento di
documenti possibile
• La mappa del cluster
viene aggiornata
• L’applicazione ora e’
supportata da un
numero maggiore di
servers.
REPLICA
ACTIVE
Doc 5
Doc 2
Doc
Doc
Doc 4
Doc 1
Doc
Doc
SERVER 1
REPLICA
ACTIVE
Doc 4
Doc 7
Doc
Doc
Doc 6
Doc 3
Doc
Doc
SERVER 2
REPLICA
ACTIVE
Doc 1
Doc 3
Doc
Doc
Doc 7
Doc 9
Doc
Doc
SERVER 3 SERVER 4 SERVER 5
REPLICA
ACTIVE
REPLICA
ACTIVE
Doc
Doc 8 Doc
Doc 9 Doc
Doc 2 Doc
Doc 8 Doc
Doc 5 Doc
Doc 6
READ/WRITE/UPDATE READ/WRITE/UPDATE
APP SERVER 1
COUCHBASE Client Library
CLUSTER MAP
COUCHBASE Client Library
CLUSTER MAP
APP SERVER 2
COUCHBASE SERVER CLUSTER
User Configured Replica Count = 1
38. Caduta di un Nodo
REPLICA
ACTIVE
Doc 5
Doc 2
Doc
Doc
Doc 4
Doc 1
Doc
Doc
SERVER 1
REPLICA
ACTIVE
Doc 4
Doc 7
Doc
Doc
Doc 6
Doc 3
Doc
Doc
SERVER 2
REPLICA
ACTIVE
Doc 1
Doc 10
Doc
Doc
Doc 7
Doc 9
Doc
Doc
SERVER 3 SERVER 4 SERVER 5
REPLICA
ACTIVE
REPLICA
ACTIVE
Doc 9
Doc 8
Doc Doc 6 Doc
Doc
Doc 5 Doc 10
Doc 2
Doc 8 Doc
Doc
• I server della app accedono
ai dati
• Le richieste al Server 3
falliscono
• Il Cluster identifica che un
nodo e’ offline
Le repliche vengono promosse ad
attive e la mappa del cluster
viene aggiornata
• Le richieste della app ora si
dirigono sul server
appropriato
• Il tutto e’ seguito dal
ribilanciamento dei dati
Doc
Doc 1 Doc 3
APP SERVER 1
COUCHBASE Client Library
CLUSTER MAP
COUCHBASE Client Library
CLUSTER MAP
APP SERVER 2
User Configured Replica Count = 1
COUCHBASE SERVER CLUSTER
39. Cross Data Center Replication (XDCR)
COUCHBASE SERVER CLUSTER
NY DATA CENTER
ACTIVE
Doc
Doc 2
SERVER 1
Doc 9
SERVER 2 SERVER 3
RAM
Doc Doc Doc
ACTIVE
Doc
Doc
Doc
RAM
ACTIVE
Doc
Doc
Doc
RAM
DISK
Doc Doc Doc
DISK
Doc Doc Doc
DISK
COUCHBASE SERVER CLUSTER
SF DATA CENTER
ACTIVE
Doc
Doc 2
SERVER 1
Doc 9
SERVER 2 SERVER 3
RAM
Doc Doc Doc
ACTIVE
Doc
Doc
Doc
RAM
ACTIVE
Doc
Doc
Doc
RAM
DISK
Doc Doc Doc
DISK
Doc Doc Doc
DISK
41. Market Adoption – Customers
Internet Companies Enterprises
More than 300 customers -- 5,000 production deployments worldwide
42. Caratteristiche dei Dati
• Struttura definita dall’utente (Twitter feeds)
• Serve supporto per crescita esponenziale (Apps virali)
• Struttura dei dati non omogenea
• C’e’ necessita’ di cambiare struttura frequentemente
• Lunghezza dei documenti variabile
• Struttura dei dati gerarchica
Couchbase e’ la scelta ideale
43. Requisiti di Performance
• Latenze estremamente basse (es. 1millisecondo)
• Traffici elevati (es. 200000 ops/sec)
• Numero di utenti elevato
• Domanda non preventivabile con crescite improvvise
• C’e’ predominanza di accesso diretto ai documenti
• Alto traffico in lettura e scrittura
Couchbase e’ la scelta ideale
44. Applicazioni Comuni
Social Gaming
• Couchbase
contiene I dati sugli
utenti e I giochi
• Esempi clienti:
Zynga, Tapjoy,
Ubisoft, Tencent
Apps Mobili
• Couchbase contiene dati
su utenti e contenuti
• Esempi clienti: Kobo,
Playtika
Pubblicita’ Online
• Couchbase contiene
info sugli utenti per
un accesso veloce
• Esempi clienti: AOL,
Mediamind,
Convertro
Informazioni di Sessione
• Couchbase come database
chiave-valore
• Esempi clienti: Concur, Sabre
Profili Utenti
• Couchbase come
database chiave-valore
• Esempi clienti: Tunewiki
Cache ad Alta Disponibilita’
• Couchbase utilizzato come livello di cache
• Esempi clienti: Orbitz
Metadata e Contenuti
• Couchbase insieme ad
Elasticsearch
• Esempi clienti: McGraw Hill
Aggregazione Dati
• Couchbase aggrega I dati dai social
media
• Esempi clienti: Sambacloud
46. Non dimenticate di………
Scaricare e fare pratica con Couchbase
Server
http://www.couchbase.com/download
Iscrivervi sul gruppo di Couchbase Italia su
LinkedIn
http://www.linkedin.com/groups/Couchbase-Italia-4932288
Iscrivervi sul nostro Community Portal
http://www.couchbase.com/communities/user/register