44
Fast Data Platforms @HUG_Italy Meetup (17/4/2015) @andrea_gioia

Fast data platforms - Hadoop User Group (Italy)

Embed Size (px)

Citation preview

Fast Data Platforms@HUG_Italy Meetup (17/4/2015)

@andrea_gioia

Un po’ di storia

VoltDB e i Fast Data

Utilizzo di VoltDB in una Enterprise Data Platform

Un po’ di storia

VoltDB e i Fast Data

Utilizzo di VoltDB in una Enterprise Data Platform

FASE 1: ONE SIZE FIT ALL

FASE 2: OLAP vs OLTP

FASE 2: ARCHITETTURA DATI

…MA I VOLUMI CRESCONO VELOCEMENTE

PROBLEMA: SCALABILITA’ SOLO VERTICALE

SOLUZIONE: CODE + SHARDING

SOLUZIONE: CODE + SHARDING

Partition-1 Partition-2 Partition-3 Partition-4 Partition-5 Partition-6

…MA I VOLUMI CRESCONO VELOCEMENTE

Problemi

PROBLEMI

1. Gestione dei fault

2. Gestione applicativa del cluster

3. Ricalcolo massivo

FASE 3: HADOOP 1.0

Componenti1. Dati distribuiti (HDFS)2. Computazione distribuita (Map-Reduce)

Vantaggi1. Maschera la complessità della gestione

del cluster2. Minimizza gli spostamenti dei dati3. Scala orizzontalmente su commodity

hardware

FASE 3: ARCHITETTURA

FASE 3: DATA LAKE

Caratteristiche1. Tutti i dati al massimo livello di

dettaglio (Volume)2. Dati strutturati e non (Varietà)3. Dati aggiunti appena disponibili

(Velocità)4. Dati processabili in modalità

distribuita (Valore)

DATA LAKE != DWH

PROBLEMA: BIG MA NON FAST

COLLECT EXPLORE

ANALYZEACT

RISULTATI1. Scoperta2. Interrogazione3. Ottimizzazione

FASE 4: SQL on HADOOP

FASE 4: ARCHITETTURA

PROBLEMA: VELOCE MA NON ABBASTANZA

…PERCHE’ I DATI CRESCONO IN VOLUME E IN VELOCITA’

FASE 5: SPECIALIZZAZIONE

FASE 5: LAMBDA ARCHITECTURE

Marged View(QUERY)

LAMBDA ARCHITECTURE: PAIN POINTS

Problematiche1. Duplicazione della logica di calcolo2. Integrazione viste effettuata a livello

applicativo3. Molte componenti software da

gestire4. Molte componenti hardware

esposte a possibili fault5. Velocità del fast layer limitata dal

sistema di storage dello stato utilizzato

FAST LAYER SEMPLIFICATO

Un po’ di storia

VoltDB e i Fast Data

Utilizzo di VoltDB in una Enterprise Data Platform

VoltDB è un database…1. In memory2. Partitioned3. Single-threaded4. Distributed5. ACID compliant

COS’E’?

A tutte quelle applicazioni che hanno bisogno di processare grosse quantità di dati in modo affidabile e veloce (fast data)

Requisiti chiave per queste applicazioni sono…

1. Altissimo throughput2. Scalabilità3. Affidabilità4. High Availability

A CHI SERVE

A CHI NON SERVE

A tutte quelle applicazioni che hanno bisogno di immagazzinare e confrontare grosse quantità di dati storici suddivisi su più tabelle (dwhe bi)

DATA PARTITIONING

DATA REPLICATION

DISTRIBUTED PROCESSING

Garantita per mezzo di …1. Replica delle partizioni

(K-SAFETY)

HIGH AVAILABILITY

DURABILITY

Garantita per mezzo di …1. Snapshots periodici2. Command logging (sincrono o

asincrono)3. Replication (business continuity)

Un po’ di storia

VoltDB e i Fast Data

Utilizzo di VoltDB in una Enterprise Data Platform

DATA PLATFORM 1

DATA PLATFORM 2

DATA PLATFORM 2

DATA PLATFORM 2

DATA PLATFORM 2

APP APP

GRAZIE!

DOMANDE?

BIBLIOGRAFIA

1. How to beat the CAP (Nathan Marz)2. Questioning the Lambda Architecture (Jay Kreps)3. The Log: What every software engineer should know about real-

time data's unifying abstraction (Jay Kreps)4. Polyglot Persistence (Martin Fowler)5. Fast Data and the New Enterprise Data Architecture (Scott Jarr)6. Simplifying the (complex) Lambda architecture (John Piekos)