SlideShare a Scribd company logo
Elasticsearch
federico.panini@fazland.com - CTO
Federico Panini
CTO @ fazland.com
email : federico.panini@fazland.com
linkeIn : https://uk.linkedin.com/in/federicopanini
slides : http://www.slideshare.net/FedericoPanini
Cos’è Elasticsearch ?
federico.panini@fazland.com - CTO
motore di ricerca full text
“Un motore di ricerca (in inglese search engine) è un
sistema automatico che, su richiesta, analizza un insieme di
dati (spesso da esso stesso raccolti) e restituisce un indice
dei contenuti disponibili classificandoli in modo automatico
in base a formule statistico-matematiche che ne indichino il
grado di rilevanza data una determinata chiave di ricerca”.
Cos’è Elasticsearch ?
federico.panini@fazland.com - CTO
motore di ricerca full text
Cos’è Elasticsearch ?
federico.panini@fazland.com - CTO
motore di ricerca full text
“It’s a distributed, scalable, and highly available
Real-time search and analytics software.”
Cos’è Elasticsearch ?
federico.panini@fazland.com - CTO
caratteristiche
Dati disponibili real-time
Analisi dei dati real-time
Ambiente distribuito
Alta disponibilità
Ricerche full-text
Document oriented DB
Schemaless DB
RESTFul Api
Persistenza per-operazione
Open Source
Costruito su Apache Lucene
Optimistic version control
Apache Lucene #1
federico.panini@fazland.com - CTO
E’ il cuore pulsante di Elasticsearch
Lucene è il motore di ricerca di Elasticsearch
Apache Lucene #1
federico.panini@fazland.com - CTO
E’ scritto in Java
E’ un prodotto Apache foundation quindi open source
Elastic cosa ha in più di Lucene?
federico.panini@fazland.com - CTO
ricerche full text
horizontal scaling
high availability
Semplicità d’uso
near real time
Architettura
federico.panini@fazland.com - CTO
requirements - CPU
Per sua natura elasticsearch non necessita di molte
capacità “computazionali”. In generale l’utilizzo della CPU
è molto limitato.
E’ consigliato utilizzare un modello di CPU di ultima
generazione con più di un core.
In genere installazioni standard di ES utilizzano dai 2 agli 8
cores.
Architettura
federico.panini@fazland.com - CTO
requirements - Disco
L’utilizzo del disco è importante per tutte le tipologie di
cluster, nel nostro caso è fondamentale.
E’ consigliato utilizzare dischi SSD.
Architettura
federico.panini@fazland.com - CTO
requirements - Disco - bonus slide …
Unico punto di attenzione è sullo scheduler in uso dal sistema
operativo. Lo scheduler è lo strumento che i sistemi operativi *nix
utilizzano per decidere quando i dati devono essere inviati al disco e
con quale tipo di priorità. Normalmente le installazioni di unix
utilizzano cfq, che è uno scheduler ottimizzato per i dischi classici a
“piatti rotanti”. Se si implementano dischi SSD è consigliato utilizzare
“noop” o “deadline”, scheduler ottimizzati per questa tipologia di
hard disk.
Si riescono a raggiungere miglioramenti nelle prestazioni di 500x
rispetto ad una errata configurazione del Sistema operativo.
Architettura
federico.panini@fazland.com - CTO
Sistema Operativo
Non ci sono particolari
vincoli sul sistema operativo
in quanto ES è sviluppato in
Java, quindi potenzialmente
multipiattaforma. Il consiglio
è di utilizzare l’ultima
versione disponibile della
JDK.
Architettura
federico.panini@fazland.com - CTO
requirements - RAM
Elasticsearch è un divoratore di RAM !!!
https://www.elastic.co/guide/en/elasticsearch/guide/current/
heap-sizing.html
Architettura
federico.panini@fazland.com - CTO
memory !?!?
max 64GB di ram
max 32GB per Java
consigliato l’uso in parallelo di macchine, configurate

in cluster.
Architettura
federico.panini@fazland.com - CTO
installazione
curl -L -O http://download.elasticsearch.org/PATH/TO/
VERSION.zip
unzip elasticsearch-$VERSION.zip
cd elasticsearch-$VERSION
sono disponibili distribuzioni Debian o RPM packages
oltre a moduli chef e puppet.
Java based
federico.panini@fazland.com - CTO
elastic questo sconosciuto
Elasticsearch è sviluppato in Java
Robusto
Scalabile
Multipiattaforma
Comunicare con Elastic
federico.panini@fazland.com - CTO
clients Java #1
Per Java sono disponibili 2 client:
Node client: con questo tipo di
approccio il client fa una join al cluster
come “nodo non contenente dati”, il
nodo in se non ha dati ma sa
perfettamente su quale nodo del
cluster si trovano i dati che sta
cercando
Comunicare con Elastic
federico.panini@fazland.com - CTO
clients Java #2
Per Java sono disponibili 2 client:
Transport client : è molto più “snello”
del precedente ed è lo strumento
utilizzato per comunicare con cluster
in remoto.
Comunicare con Elastic
federico.panini@fazland.com - CTO
clients Java #2
Per Java sono disponibili 2 client:
Tutti e due i tipi di client comunicano con
il cluster sulla porta 9300, che tra l’altro
la stessa porta con la quale comunicano
i nodi stessi del cluster.
Comunicare con Elastic
federico.panini@fazland.com - CTO
client API RESTful
Tutti gli altri linguaggi possono comunicare
con Elasticsearch utilizzando le API Rest
disponibili sulla porta 9200.
Esistono client ufficiale per questi
linguaggi :
Groovy, JavaScript, .NET, PHP,
Perl, Python, e Ruby
Elastic
federico.panini@fazland.com - CTO
Document oriented
NoSql
Elasticsearch è un database
document oriented. Questo
significa che i dati inseriti non
sono “costretti” a nessun tipo di
forma tabellare ma è possibile
inserire oggetti o meglio
documenti direttamente.
A seguito dell’inserimento,
Elasticsearch provvede anche ad
indicizzare i dati appena inseriti.
Elastic
federico.panini@fazland.com - CTO
Document oriented
JSON
E l a s t i c s e a rc h s t e r i l i z z a i
documenti inseriti tramite
l’utilizzo di JSON.
Elastic
federico.panini@fazland.com - CTO
glossario
cluster
nodes
indexes
shards
replica
segments
in-memory buffers
translog
Elastic
federico.panini@fazland.com - CTO
cluster
Un cluster è un insieme a cui appartiene uno o più
nodi, che condividono la stessa proprietà
cluster.name. Il cluster server per bilanciare il carico
delle richieste che provengono ad Elasticsearch.
Un nodo può essere eliminato o aggiunto al cluster,
questo sarà responsabile di riorganizzarsi.
Elastic
federico.panini@fazland.com - CTO
cluster
All’interno del cluster un nodo è eletto come Master.
Questo nodo è responsabile di gestire operazioni
sugli indici come la loro creazione o eliminazione,
aggiungere o rimuovere un nodo dal cluster. Ogni
nodo può essere Master.
Elastic
federico.panini@fazland.com - CTO
nodes
E’ l’elemento minimo che garantisce il funzionamento
dell’istanza di Elasticsearch.
Elastic
federico.panini@fazland.com - CTO
Index
Database RDBMS Elasticsearch
DATABASE INDEX
Elastic
federico.panini@fazland.com - CTO
Type
Database RDBMS Elasticsearch
TABELLA TYPE
Elastic
federico.panini@fazland.com - CTO
Document
Database RDBMS Elasticsearch
ROW DOCUMENT
Elastic
federico.panini@fazland.com - CTO
Fields
Database RDBMS Elasticsearch
COLUMNS FIELDS
Elastic
federico.panini@fazland.com - CTO
shards
Se vogliamo iniziare a salvare dati su Elasticsearch è
necessario creare un indice. Il termine Indice è solamente
una definizione logica e rappresenta un puntatore ad uno
o più elementi definiti SHARDS.
Elastic
federico.panini@fazland.com - CTO
shards
Lo shard è considerato un elemento di basso livello
nell’infrastruttura di ES. Lo shard contiene un subset di
tutti i dati contenuti nell’indice.
Lo shard, fisicamente rappresenta una singola istanza di
Apache Lucene.
Elastic
federico.panini@fazland.com - CTO
Replica shards
Gli shards di tipo replica sono delle copie esatte degli
shards utilizzate per proteggere i nostri dati da errori
hardware. Allo stesso modo degli shards “servono”
richieste e ricerche sugli indici.
Elastic
federico.panini@fazland.com - CTO
shards immutability
IL numero di shards è prestabilito all’atto della creazione
dell’indice ed è IMMUTABILE.
Elastic
federico.panini@fazland.com - CTO
shards immutability
curl -X http://localhost:9200/blogs
-d ‘{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}’
Elastic
federico.panini@fazland.com - CTO
shards immutability
curl http://localhost:9200/_cluster/health“{
"cluster_name": "elasticsearch",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 3,
"active_shards": 3,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 3
}”
Elastic
federico.panini@fazland.com - CTO
shards immutability
Shards di tipo replica sullo stesso nodo sono
assolutamente inutili… perde di ogni significato il
concetto di ridondanza per il quale sono stati creati. E’
necessario eseguire un nuovo nodo. In automatico il
cluster si renderà responsabile di creare 3 replica shards
per il nostro indice.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #1
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #2 : Pessimistic Concurrency Control
Gestito ed utilizzato normalmente nei RDBMS
Questo approccio parte dall’assunto che i conflitti
possano avvenire di frequente e quindi per evitarli blocca
la risorsa alla quale sta accedendo.
Il processo blocca l’accesso alla row prima di accedere ai
suoi dati in lettura, avendo così la garanzia che solamente
questo thread possa modificarla e nessun altro.
Al termine dell’operazione rilascerà il LOCK.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #3 : Optimistic Concurrency Control
Elasticsearch utilizza questo approccio
Al contrario l’assunzione, è che i conflitti avvengano poco
di frequente. E quindi il DB non blocca la risorsa quando
vi accede.
La responsabilità è applicativa : quando i dati sono
modificati tra una lettura ed una scrittura allora
l’aggiornamento fallisce. In questo caso è necessario
recuperare il dato “fresco” e rifarne l’update.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #4 : Optimistic Concurrency Control
Elasticsearch è per sua natura distribuito, concorrente ed
asincrono. Quando un documento è creato/aggiornato/
eliminato è necessario che questa informazine sia
replicata su tutti i nodi del cluster.
Ogni informazione è inviata ai vari nodi in parallelo e può
succedere che un dato arrivi a destinazione già scaduto.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #5 : Optimistic Concurrency Control
E’ necessario che Elasticsearch abbia un
modo per non aggiornare un dato più
“aggiornato”.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #6 : Optimistic Concurrency Control
VERSIONING
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #7 : Optimistic Concurrency Control
In ogni documento è presente un campo :
_version
Questo campo è incrementato ogni volta che un
operazione sul documento è avvenuta con successo. In
questo modo un aggiornamento della versione 3 non
andrà mai ad aggiornare un document che è già alla
versione 4.
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #8 : Optimistic Concurrency Control
Attenzione la responsabilità di implementare questa
soluzione è tutta APPLICATIVA! quindi nostra. Se
vogliamo essere assolutamente sicuri di non avere perdite
di dati dobbiamo effettuare scritture utilizzando il version
number del documento che vogliamo aggiornare!
Elastic
federico.panini@fazland.com - CTO
BONUS : gestione dei conflitti #9 : Optimistic Concurrency Control
http://www.jillesvangurp.com/2014/12/03/optimistic-
locking-for-updates-in-elasticsearch/
https://aphyr.com/posts/317-call-me-maybe-
elasticsearch
https://www.elastic.co/guide/en/elasticsearch/resiliency/
current/index.html
Elastic
federico.panini@fazland.com - CTO
Simple searches #1
Create Index
API Rest
GET
DELETE
POST
SEARCH
Elastic
federico.panini@fazland.com - CTO
Simple searches - CREATE AN INDEX
curl -XPUT http://fazlab.fazland.com:9200/fazlab
-d
"{ "settings" :
{
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}"
Elastic
federico.panini@fazland.com - CTO
Simple searches - INDEX A DOCUMENT
curl -XPUT
http://fazlab.fazland.com:9200/fazlab/categories/1?pretty
-d '
{
nome: "Federico"
}'
Elastic
federico.panini@fazland.com - CTO
Simple searches - GET A DOCUMENT
curl http://fazlab.fazland.com:9200/fazlab/categories/1?pretty
Elastic
federico.panini@fazland.com - CTO
Simple searches - DELETE A DOCUMENT
curl -XDELETE
http://fazlab.fazland.com:9200/fazlab/categories/2?pretty
Elastic
federico.panini@fazland.com - CTO
Simple searches #1
DEMO SEARCHES!
Elastic
federico.panini@fazland.com - CTO
mapping and analysis
EXACT MATCH vs FULL TEXT
Elastic
federico.panini@fazland.com - CTO
mapping and analysis
EXACT MATCH vs FULL TEXT
Exact match Full Text
where name = ‘Federico’
and user_id = 2
and date > “2014-09-15”
“Federico è andato al
mare”
Federico / FEDERICO /
federico
Elastic
federico.panini@fazland.com - CTO
mapping and analysis
EXACT MATCH vs FULL TEXT
Exact match
Full Text
binario : il documento contiene questi valori ?
Quanto è rilevante il documento per la query
digitata ?
Elastic
federico.panini@fazland.com - CTO
mapping and analysis
Elasticsearch per facilitare la ricerca full-text analizza il
testo ed utilizza il risultato di questa analisi per costruire
un inverted index.
Inverted Index Analyzer
Elastic
federico.panini@fazland.com - CTO
Inverted Index
1. The quick brown fox jumped
over the lazy dog
2. Quick brown foxes leap over
lazy dogs in summer
Elastic
federico.panini@fazland.com - CTO
Inverted Index
Se dobbiamo cercare la parola
“quick” e “brown” prendiamo i
documenti dove sono presenti
entrambe i termini
1. The quick brown fox jumped
over the lazy dog
2. Quick brown foxes leap over
lazy dogs in summer
Elastic
federico.panini@fazland.com - CTO
Inverted Index
E’ stato portato tutto in lowercase,
stemmer, e synonyms (leap)
1. The quick brown fox jumped
over the lazy dog
2. Quick brown foxes leap over
lazy dogs in summer
Elastic
federico.panini@fazland.com - CTO
ANALYZERS
Un Analyzer è un elemento che include 3 funzioni:
Character filters
Tokenizer
Token Filters
Elastic
federico.panini@fazland.com - CTO
ANALYZERS - Character Filters
Il primo step è passare ogni stringa ad un character filter
il quale è responsabile di ripulire / riordinare le string
prima della fase di Tokenizing.
in questa fase vengono eliminati i caratteri HTML o “&” è
convertito in “and”.
Elastic
federico.panini@fazland.com - CTO
ANALYZERS - Tokenizer
Successivamente la stringa è suddivisa in singoli termini
in funzione del Tokenizer selezionato.
Elastic
federico.panini@fazland.com - CTO
ANALYZERS - Token Filters
Successivamente alla fase di Tokenizzazione delle
stringhe in singoli termini (terms), i filtri (selezionati) sono
applicati in sequenza.
Per esempio :
- lowercase di tutto il testo
- rimuovi le stop words
- aggiungi termini come sinonimi
Elastic
federico.panini@fazland.com - CTO
Standard Analyzer
“Set the shape to semi-transparent by calling
set_trans(5)”
Lo standard analyzer è l’analyzer di default di
Elasticsearch. Separa il testo in singole parole e
rimuove buona parte della punteggiatura.
“set, the, shape, to, semi, transparent, by, calling,
set_trans, 5”
Elastic
federico.panini@fazland.com - CTO
Simple Analyzer
“Set the shape to semi-transparent by calling
set_trans(5)”
Il simple analyzer rimuove tutti i caratteri che non sono
lettere e mette tutto il testo in minuscolo.
“set, the, shape, to, semi, transparent, by, calling,
set, trans”
Elastic
federico.panini@fazland.com - CTO
Whitespace Analyzer
“Set the shape to semi-transparent by calling
set_trans(5)”
Tokenizza utilizzando gli spazi e non forze le stringhe in
minuscolo.
“Set, the, shape, to, semi, transparent, by, calling,
set_trans(5)”
Elastic
federico.panini@fazland.com - CTO
Language Analyzer
“Set the shape to semi-transparent by calling
set_trans(5)”
Questo analyzer utilizza le specificità del linguaggio
naturale. Può eliminare le stop words e fare stemming.
“set, shape, semi, transpar, call, set_tran, 5”
Elastic
federico.panini@fazland.com - CTO
Language Analyzer
arabic, armenian, basque, brazilian, bulgarian, catalan,
chinese, cjk, czech, danish, dutch, english, finnish,
french, galician, german, greek, hindi, hungarian,
indonesian, irish, italian, latvian, norwegian, persian,
portuguese, romanian, russian, sorani, spanish,
swedish, turkish, thai.
Elastic
federico.panini@fazland.com - CTO
Pre-built Analyzers
Standard Analyzer
Simple Analyzer
Whitespace Analyzer
Stop Analyzer
Keyword Analyzer
Pattern Analyzer
Language Analyzers
Snowball Analyzer
Custom Analyzer
Elastic
federico.panini@fazland.com - CTO
Tokenizer
Standard Tokenizer
Edge NGram Tokenizer
Keyword Tokenizer
Letter Tokenizer
Lowercase Tokenizer
NGram Tokenizer
Whitespace Tokenizer
Pattern Tokenizer
UAX Email URL Tokenizer
Path Hierarchy Tokenizer
Elastic
federico.panini@fazland.com - CTO
Token Filters
Standard Token Filter
ASCII Folding Token Filter
Length Token Filter
Lowercase Token Filter
NGram Token Filter
Edge NGram Token Filter
Porter Stem Token Filter
Shingle Token Filter
Stop Token Filter
…
circa 32 Filters
Elastic
federico.panini@fazland.com - CTO
Token Filters
THE END.
References
• Elasticsearch : The Definitive Guide
• https://en.wikipedia.org/wiki/Full_text_search
• https://www.elastic.co/guide/en/elasticsearch/guide/current/
hardware.html
• https://www.elastic.co/guide/en/elasticsearch/guide/current/
heap-sizing.html
• https://mtalavera.wordpress.com/2015/02/16/monitoring-with-
collectd-and-kibana/
• Fuzzy search : https://www.found.no/foundation/fuzzy-search/
• Phonetic-plugin : https://github.com/elastic/elasticsearch-
analysis-phonetic
federico.panini@fazland.com - CTO

More Related Content

Similar to Elasticsearch a quick introduction

Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
CRS4 Research Center in Sardinia
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
Massimiliano Dessì
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Marco Pozzan
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
Myti S.r.l.
 
MongoDB
MongoDBMongoDB
MongoDB
NaLUG
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
Massimo Romano
 
Deploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web ServicesDeploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web Services
Stefano Dindo
 
Iaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdataIaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdata
Vincenzo Fogliaro
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
ICTeam S.p.A.
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Amazon Web Services
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
Ugo Landini
 
Google File System - GFS
Google File System - GFSGoogle File System - GFS
Google File System - GFS
Gabriele Lombari
 
The Google File System
The Google File SystemThe Google File System
The Google File System
Alessandra Zullo
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
Andrea Dottor
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
Par-Tec S.p.A.
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
MariaDB plc
 

Similar to Elasticsearch a quick introduction (20)

Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power biBig data analytics quanto vale e come sfruttarlo con stream analytics e power bi
Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
 
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
No sql introduzione. Corso Sistemi Informativi Politecnico di Milano 12-11-2013
 
MongoDB
MongoDBMongoDB
MongoDB
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
 
Deploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web ServicesDeploy MongoDB su Infrastruttura Amazon Web Services
Deploy MongoDB su Infrastruttura Amazon Web Services
 
Iaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdataIaa s con openstack per l'analisi di bigdata
Iaa s con openstack per l'analisi di bigdata
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
Google File System - GFS
Google File System - GFSGoogle File System - GFS
Google File System - GFS
 
The Google File System
The Google File SystemThe Google File System
The Google File System
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
 
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackMySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle Openstack
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
 

More from Federico Panini

Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is dead
Federico Panini
 
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Federico Panini
 
Vagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headlessVagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headless
Federico Panini
 
Aws vpc : addressing cidr
Aws vpc : addressing cidrAws vpc : addressing cidr
Aws vpc : addressing cidr
Federico Panini
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stash
Federico Panini
 
Symfony & Mailcatcher
Symfony & MailcatcherSymfony & Mailcatcher
Symfony & Mailcatcher
Federico Panini
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
Federico Panini
 

More from Federico Panini (7)

Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is dead
 
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
 
Vagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headlessVagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headless
 
Aws vpc : addressing cidr
Aws vpc : addressing cidrAws vpc : addressing cidr
Aws vpc : addressing cidr
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stash
 
Symfony & Mailcatcher
Symfony & MailcatcherSymfony & Mailcatcher
Symfony & Mailcatcher
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 

Elasticsearch a quick introduction