SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
How to beat Data Gravity with Kafka
Data in Motion tour – Milano, 6 Ottobre 2022
Aiutiamo il Sistema Paese
a proteggersi dal rischio
e a crescere in modo sostenibile.
OLTRE 3.000
PROFESSIONISTI
2014
CERVED DEBUTTA SUL SEGMENTO MTA
DI BORSA ITALIANA
OLTRE 40M
DI INVESTIMENTI STANZIATI OGNI ANNO
PER AGGIORNARE E ARRICCHIRE I
DATABASE CON NUOVI DATI E FONTI
INFORMATIVE
OLTRE 1.000
RICHIESTE DI INFORMAZIONI AL
MINUTO SU 5,6 MILIONI DI AZIENDE
ATTIVE
600M
EVENTI DI MONITORAGGIO ALL'ANNO
OLTRE 1,1 PETABYTE
DI DATI ARCHIVIATI NEI NOSTRI 1.000 SERVER
Cerved è la data-driven company italiana nata nel 1974, che fornisce ad imprese e istituzioni i dati che guidano le loro
scelte, gli strumenti per interpretarli e un team di persone per trasformarli in azioni.
Siamo leader di mercato perché abbiamo saputo guidare il cambiamento, attraverso l’integrazione di importanti
realtà e l’ingresso in mercati vicini alle nostre attività tradizionali, fino a diventare nel 2014 la prima società quotata
del settore in Italia.
3
Cerved, la data-driven company
4
Una storia che guarda al futuro
FONDAZIONE
Cerved
1974
2009
Bain Capital e Clessidra
acquisiscono e integrano
Centrale dei Bilanci,
Cerved, Lince, Pitagora,
Databank, Finservice e
Consit
CVC acquisisce
Cerved da Bain e
Clessidra
2013
2014
Cerved Information
Solutions S.p.A. - Holding
direzionale del Gruppo
Cerved – debutta sull’MTA
di Borsa Italiana
Cerved Group investe in
SpazioDati, tech-company
fondata nel 2012 specializzata
in big data, sales intelligence
e Lead generation
2014
2016
Cerved Group
acquisisce Click Adv
❨Payclick❩ fondata nel
2006, specializzata in
campagne digital
advertising
Cerved Group acquisisce:
• Proweb Consulting
fondata nel 2009
• SpazioDati
• Bauciweb
fondata nel 2009
2018
• Integrate: startup
specializzata in rating ESG
• Hawk: gruppo specializzato
in soluzioni AML
2020
2019
Cerved Group acquisisce
MBS, fondata nel 1987,
leader nella consulenza
di direzione
2021
Cerved Group Spa entra
in ION Group uno dei
più grandi operatori
Fintech sul mercato
ECOSISTEMA DATI
TECNOLOGIE DI
FRONTIERA
APP VALUE BASED
Il più grande ecosistema di dati in Italia, integrabile con quello dei nostri
partner e dei nostri clienti
Patrimonio informativo ricco, unico, distintivo e costantemente in crescita
Le Tecnologie più innovative ed avanzate per la gestione, elaborazione e
visualizzazione dei dati
Machine Learning, Advanced Analytics e Motori Semantici per trasformare i
dati in soluzioni di valore
«App» pronte all’uso, che non necessitano di attività di integrazione sui
sistemi ❨IT Independent❩
App Cerved per generare valore
5
I nostri elementi distintivi
1
2
3
6
Utilizziamo tecnologie di frontiera
«Raw» Data
Insight
Only «Tech» Business
100% GDPR
compliant
Blockchain
Natural Language Processing
>1.000
Server
600M eventi
annui dati in
monitoraggio
>40M€
di investimenti
annui
>1,1 PetaByte di
dati archiviati
Partizioni
di Data Lake
Artificial Intelligence
Graph database
Cyber Security & Criptazione
Semantic
Text
Analytics
Engine
Piattaforma
API
Ergonomia
Cognitiva e di
Service
Design
DATA LAKE
DATA
ELABORATION
DATA FRUIBILITY
& SECURITY
DATA
VISUALIZATION
Fatturazione
elettronica
7
Cerved è una Data-Driven company con un portafoglio di attività diversificato
Marketing Intelligence
Aiutare i nostri clienti a crescere fornendo
insight per decisioni basate sui dati
Ricavi 2021: €73,3M
Mission
Numeri
Aiutare i nostri clienti a gestire tutti i
rischi rilevanti relativi a credito,
compliance, normative e sostenibilità
Ricavi 2021: €287,9M
56,7%
Delle
vendite
Risk Intelligence
Mission
Numeri
Aiutare i nostri clienti a gestire i
loro crediti durante l'intero ciclo di
vita
Ricavi 2021: €146,4M
Credit Management
Mission
Numeri
28,8% delle
vendite
14,5%
delle
vendite
Guardiamo l’economia da un punto di vista
privilegiato
1° Agenzia in Europa per rating evasi registrata ESMA
Il dataset più completo su aziende italiane, stakeholder e
patrimonio immobiliare
Il più grande Bureau di pagamenti in Italia ❨PayLine❩
Il più grande operatore indipendente di servizi NPL in Italia
Istituzioni locali e internazionali guardano
a Cerved come punto di riferimento per
l'economia italiana
1. Comprese le micro aziende con acquisti su cervedirect.com
95%
delle banche italiane
I nostri clienti
+30.000
aziende1
+150
Pubbliche Autorità
Istituzioni
primarie
che utilizzano
i nostri dati
osservatore chiave sulle PMI per
le consultazioni periodiche
previste dall'articolo IV ❨Country
Surveillance❩
Fornitore di dati sulle
procedure concorsuali e
sui termini di pagamento
delle aziende
Fornitore di indicatore sintetico
del rischio affrontato dalle
aziende e istituzioni finanziarie
Fornitore di dati sulle
procedure concorsuali e sui
termini di pagamento delle
aziende
10
Highlights
Le nostre performance1
1. performance al 31/12/2021
ECONOMICS & MARKETS
89,7%
SODDISFAZIONE
MEDIA CLIENTI
508,1 MILIONI
RICAVI
∼30.000
CLIENTI
GOVERNANCE SOCIAL ENVIRONMENTAL
50%
PRESENZA FEMMINILE
BOARD
70%
INDIPENDENZA
BOARD
11
POLICY ESG
2.800
DIPENDENTI
60%
DIPENDENTI
DONNE
+60.000 ORE
FORMAZIONE EROGATE
83%
ENERGIA ELETTRICA
RINNOVABILE
-9%
CONSUMI
ENERGETICI
-31%
EMISSIONI DI CO2
Cerved è tra i “leader della sostenibilità” nel 2021 e 2022 secondo il Sole24Ore e Statista.
Il riconoscimento premia le aziende che hanno raggiunto importanti risultati in tema ESG.
Big Data Platform in Cerved
12
Obiettivo
L’idea della Big Data Platform, nasce per soddisfare l’esigenza specifica del
prodotto «Silos 3 Query» e consiste nel creare un portafoglio clienti che
consenta alle banche di interrogare ed estrarre informazioni dalla propria
banca dati alimentata dai documenti acquistati e archiviati su GridFS di
MongoDB.
13
• Gestire Big Data
• Paradigma CQRS
• Event-Driven Architecture
• Continuous Processing
• Data Lake Cerved delle Business Rules Statiche
Sfide
14
Data Ecosystem Cerved Data Gravity
Sourcing
Liv.2
Sourcing
Liv. 1
REPOS
SYNTH
Mondo Dati Lince
Dati
clienti
NCA
ERG
EBS
HUB
DWH
MBD
Teradata
Tabula
Mongo4
DW
DB4You
XPCH 2
MATCH
NEMO
Quaest
io
LUDO
Tabula
(su AWS)
nephila
G4U
MBD1
R3
Pragma
Splunk CDR
Mambo
CAS
Dedalo
ELK
CSS
CR-RIBA
(Payline)
15
Limiti sulla parte dati
DB Rel
Quaestio
Search
DWH
Rel
Ludo
Search
Nemo
Search XpCache
Portafoglio Tabula
Aracne
Session
Caching
Logging
CDR
Asincronia tra i database
Distonie sui dati
Rigenerazioni full continue
Complessità Manutenzioni
Duplicazione Business Rules
Poca scalabilità ETL
16
Data Ecosystem
SYNTH
TABULA
CAT
DatiClienti
REPOS
MONDO
R3
QUESTIO MATCH
Mongo4
DW
XP
Cache
LUDO
DB4YOU
ELK SPLUNK
DATALAKE
ERG
CAS
DWHPROD
MBD
GRAPH4YOU ARACNE
CRRIBA NUFA
NEMO
Cerved Data Architecture Overview
Cerved
DBs
CDC
DBs Operational
Online Data
OLTP Processes
Batch
Hadoop DataLake
NoSql
Tabula
…
DynamoDB S3
CDC
Producer
Raw Events
Aggregator
Basic Events
Aggregator
HL Events
Aggregator
NoSql
Ingestion
Sync
Connector
To Cloud
Hadoop
Ingestion
Stream Processing
AWS Lambda SageMeker CloudFront
Back-End API
Front End
Data Layer
17
18
Topic A
Partition A1
Topic A
Partition A3
Topic A
Partition A2
Broker id=0
pkafka01:9092
Topic A
Partition A1
Topic A
Partition A3
Topic A
Partition A2
Broker id=1
pkafka02:9092
p Topic A
Partition A1
Topic A
Partition A3
Topic A
Partition A2
Broker id=2
pkafka03:9092
Cluster Kafka
Zookeeper Cluster
pproxyapp01
2191
Z2 Z3 Z4 Z5
pproxyapp02
2191
pproxyapp03
2191
pproxyapp04
2191
pproxyapp05
2191
Control Center
pkafka01:9021
Schema Registry
pkafka01:8081
pkafka02:8081
pkafka03:8081
UI
pkafka01:8001
pkafka01:9021
Kafka Manager
prproxyint03:9009
Architettura Kafka Cerved
19
High Level Architecture – Big Data Platform Cerved
20
Topic
• 3 Broker
• 2874 Partitions
• 873 Topic (with 50 compact)
• 8.348 Replicas
• 2T Disk
• 2,5Mb/sec. Production - Max 40Mb/sec.
• 1,5Mb/sec. Consuption - Max 40Mb/sec.
CDC : 700
Eventi Grezzi
Aggregator : 60
Eventi di Business di I Livello
NTabula : 40
Eventi di Business di II Livello
altrsogg_ALTRO_SOGGETTO
anagpayl_ANAGRAFICA_PAYLINE
antproce_ANTICIPAZIONE_PROCEDURA
artinews_ARTICOLO_NEWS
atecoimp_ATECO_IMPRESA
bilanci_BILANCI
bilancio_BILANCIO
bilrice_BILANCI_RICCB
capogrpf_CAPOGRUPPO_PF
capogrpg_CAPOGRUPPO_PG
capogrup_CAPOGRUPPO
cessata_CESSATA
cgrpscgr_SCORE_CGR_P
cgrpvsc_VALORE_SOTTOSCORE_P_CALC
cgrpvsot_VALORE_SOTTOSCORE_P
cgrpvssc_VALORE_SSCORE_CGR_P
……
bdp.event.addetti.streaming
bdp.event.anagrafica.streaming
bdp.event.anticipazioneprocedura.streaming
bdp.event.ateco.streaming
bdp.event.bilancio.streaming
bdp.event.catastali.streaming
bdp.event.cigs.streaming
bdp.event.datiimmobiliari.streaming
bdp.event.email.streaming
bdp.event.esponente.streaming
bdp.event.gruppi.streaming
bdp.event.immobile.streaming
bdp.event.lei.streaming
bdp.event.norea.streaming
bdp.event.numerorichieste.streaming
bdp.event.pa.streaming
…..
bdp.ntabula.addetti.streaming
bdp.ntabula.anagraficasoggetto.streaming
bdp.ntabula.attivitaeconomica.streaming
bdp.ntabula.bilanci.streaming
bdp.ntabula.cigs.streaming
bdp.ntabula.datiimmobiliari.streaming
bdp.ntabula.email.streaming
bdp.ntabula.esponentiimpresa.streaming
bdp.ntabula.gruppi.streaming
bdp.ntabula.lei.streaming
bdp.ntabula.norea.streaming
bdp.ntabula.numerorichieste.streaming
bdp.ntabula.pa.streaming
bdp.ntabula.perimetricontrolloimpresa.streaming
bdp.ntabula.perimetricontrollopersona.streaming
bdp.ntabula.posizionirea.streaming
….
BITROCK
22
Introduzione a Bitrock: Applicazioni Data Intensive
Qualsiasi business può essere visto come una serie di eventi lungo una linea temporale.
La gestione delle informazioni diventa sfida critica per quegli ecosistemi caratterizzati da grande quantità di dati,
grande complessità di dati e grande velocità di cambiamento.
Bitrock offre expertise nello sviluppo di Applicazioni Data Intensive.
Nello specifico, ci occupiamo di Data Streaming, gestito tramite l’Event-Driven Architecture.
PARTNERSHIP STRATEGICHE
Qualsiasi intervento a livello di Back-End deve riflettersi adeguatamente in ambito Front-End. Un Design
User-Centered è infatti necessario per gestire adeguatamente i dati in continuo cambiamento, migliorando così il
processo di decision making e creando valore per il business. Questo implica mettere bisogni e necessità dell’utente
sempre al centro del nostro lavoro, includendolo nel life-cycle progettuale.
APPROCCIO END-TO-END
23
Event-Driven Architecture con Kafka
• Integrazione con servizi legacy in modalità pluggable
• Possibilità di evolvere il sistema senza intaccare i servizi esistenti
• Apertura a migrazione in cloud
• Disaccoppiamento Data ecosystem
• Kafka nuova sorgente dati per i sistemi
• Disaccoppiamento servizi
• Semplificazione dei flussi e dell'architettura
• Batch processing > Streaming near real time
Aggregazione di topics multi-schema
con Kafka Streams
Gruppi Cerved: Dall’evento grezzo all’evento di business
CDC
Producer
Raw Events
Aggregator
Basic Events
Aggregator
HL Events
Aggregator
• Cos’è Gruppi Cerved
Algoritmo che analizza tutto il grafo delle aziende italiane, cercando di
determinare quali sono i gruppi di aziende che possono essere raggruppate
come fossero un’entità unica, perché condividono lo stesso management o lo
stesso gruppo di potere che ne controlla le attività.
Cerved
DBs
Dati Business Rules
+ =
• Più di 230.000 gruppi
• Più di 850.000 aziende
nel perimetro (controllo
e semplice possesso)
25
Gruppi Cerved: Il problema
• Problema:
• I Gruppi Italiani sono memorizzati su MongoDB allo scopo di favorire il recupero immediato
dell’informazione completa, senza dover eseguire n processi di lettura su DB
• Aggiornare MongoDB vuol dire intercettare tutte le modifiche effettuate sui dati Oracle e
produrre l’aggiornamento, avendo la sicurezza di avere i Gruppi su MongoDB sempre
allineati ad Oracle
• Ma gli eventi generati dalla struttura relazionale e intercettati tramite CDC sono tanti
Tabula
GRUPPO
SINTESI_GRUPPO
SINTESI_GRUPPO_COMPLESSO CAPO_GRUPPO
CAPO_GRUPPO_PF
STRUTTURA_GRUPPO
COMPONENTE_GRUPPO
GERARCHIA_GRUPPI
CAPO_GRUPPO_PG
Cerved
DBs
26
Aggregazione di eventi eterogenei: Punto di partenza
• I dati sorgente sono separati su tabelle differenti.
• Con il CDC siamo in grado di produrre un changelog di eventi su Kafka creando un topic per tabella.
27
Aggregazione di eventi eterogenei: Possibili approcci
• ksqlDB
• Consumer + Producer API
• Utilizzo di un topic eterogeneo intermedio
• Kafka Streams
28
ksqlDB
• ksqlDB offre una sintassi SQL-like per la creazione di streams.
• Partendo da n topics con schemi differenti, abbiamo la necessità di aggregarli
tramite un’operazione di JOIN in maniera incrementale.
• Limitazioni: Molteplici topic intermedi, molteplici query persistenti potenzialmente lunghe o complesse.
29
Consumer & Producer API
• Consumare i messaggi da differenti topic utilizzando diversi Consumers Kafka.
• Aggregare i dati in memoria tramite una cache condivisa.
• Pubblicare il risultato finale dell'aggregazione su un topic di output tramite un Producer Kafka.
• Limitazioni: Gestione manuale delle finestre temporali per l'aggregazione, introduzione e mantenimento di uno
stato mutabile all'interno dell'applicazione, necessità di gestione di failover in case di errori o riavvii.
30
Utilizzo di un topic eterogeneo intermedio
• Utilizzando name strategy differenti è possibile ottenere topic eterogenei che contengono differenti schemi di dati.
• RecordNameStrategy consente di registrate uno schema per entità.
• TopicRecordNameStrategy consente di registrare uno schema per entità per topic.
• Limitazioni: Necessità di introdurre un nuovo topic che contiene gli stessi dati dei topic in input, aumento di
schemi duplicati registrati nello Schema Registry.
31
Kafka Streams
• Consumare tutti i differenti topic con un unico consumer e deserializzare gli aventi
come record Avro generici (SpecificRecord).
• Aggregare tutti gli eventi applicando a ogni diverso tipo di messaggio la logica di
aggregazione necessaria.
32
• event-gruppi-aggregator
• 9 CDC input topics
• aggregazione degli eventi CDC con window-size= 1min
• event.gruppi.repartition = topic interno necessaria per la ripartizione dei CDC topics
• event.gruppi.changelog = topic interno utilizzato da Kafka Streams per fault-tolerance
• event.gruppi = output topic
Gruppi Cerved: Come è stato implementato
gruppo capogruppo capogruppo_pf capogruppo_pg
componente_grupp
o
gerarchia_grupp
i
struttura_grupp
o
sintesi_gruppo
sintesi_gruppo_compless
o
event_gruppi_repartition
event_gruppi_changelog
event_gruppi
state
33
Gruppi Cerved: Dall’evento grezzo all’evento di business
CDC
Producer
event-gruppi-aggregator
event.gruppi.repartition
event.gruppi.changelog
event.gruppi
cdc.gruppi.tableN
cdc.gruppi.table2
cdc.gruppi.table1
ntabula.gruppi
gruppi-sink-connector Tabula gruppi-source-connector
Evento di Business
34
Grazie

Weitere ähnliche Inhalte

Ähnlich wie How to beat Data Gravity with Kafka

Open source and new architectures
Open source and new architecturesOpen source and new architectures
Open source and new architecturesSergio Patano
 
Smau Bologna | R2B Marco Bozzetti(AIPSI)
Smau Bologna | R2B Marco Bozzetti(AIPSI)Smau Bologna | R2B Marco Bozzetti(AIPSI)
Smau Bologna | R2B Marco Bozzetti(AIPSI)SMAU
 
Hera Elective Program 2016
Hera Elective Program 2016Hera Elective Program 2016
Hera Elective Program 2016Erica Montefiori
 
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...Denodo
 
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Eurotech
 
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Roberto Siagri
 
Analytics 3.0 - Breve storia della Data Analysis ad oggi
Analytics 3.0 - Breve storia della Data Analysis ad oggiAnalytics 3.0 - Breve storia della Data Analysis ad oggi
Analytics 3.0 - Breve storia della Data Analysis ad oggiFilippo Ragazzo
 
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego Sanvito
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego SanvitoKnowledge graph: il percorso di Cerved per connettere i Big Data - Diego Sanvito
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego SanvitoData Driven Innovation
 
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)SMAU
 
NT2 Nuove Tecnologie presentazione v3
NT2 Nuove Tecnologie presentazione v3NT2 Nuove Tecnologie presentazione v3
NT2 Nuove Tecnologie presentazione v3Alessandro Ceccarelli
 
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")Blevrini
 
Smau Torino 2013 Dedagroup
Smau Torino 2013 DedagroupSmau Torino 2013 Dedagroup
Smau Torino 2013 DedagroupSMAU
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaProfesia Srl, Lynx Group
 
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...SAS Italy
 
Smau Bologna 2015 - Eurocloud
Smau Bologna 2015 - EurocloudSmau Bologna 2015 - Eurocloud
Smau Bologna 2015 - EurocloudSMAU
 

Ähnlich wie How to beat Data Gravity with Kafka (20)

Open source and new architectures
Open source and new architecturesOpen source and new architectures
Open source and new architectures
 
Smau Bologna | R2B Marco Bozzetti(AIPSI)
Smau Bologna | R2B Marco Bozzetti(AIPSI)Smau Bologna | R2B Marco Bozzetti(AIPSI)
Smau Bologna | R2B Marco Bozzetti(AIPSI)
 
Perchè Agile deve tornare Eutelia
Perchè Agile deve tornare Eutelia Perchè Agile deve tornare Eutelia
Perchè Agile deve tornare Eutelia
 
Hera Elective Program 2016
Hera Elective Program 2016Hera Elective Program 2016
Hera Elective Program 2016
 
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
 
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
 
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
Vivere del Cambiamento: tracciare la rotta verso l'industria 4.0
 
Analytics 3.0 - Breve storia della Data Analysis ad oggi
Analytics 3.0 - Breve storia della Data Analysis ad oggiAnalytics 3.0 - Breve storia della Data Analysis ad oggi
Analytics 3.0 - Breve storia della Data Analysis ad oggi
 
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego Sanvito
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego SanvitoKnowledge graph: il percorso di Cerved per connettere i Big Data - Diego Sanvito
Knowledge graph: il percorso di Cerved per connettere i Big Data - Diego Sanvito
 
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)
Smau Milano 2016 - Corporate Meeting (fabbrica 4.0)
 
NT2 Nuove Tecnologie presentazione v3
NT2 Nuove Tecnologie presentazione v3NT2 Nuove Tecnologie presentazione v3
NT2 Nuove Tecnologie presentazione v3
 
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")
ASSI presentation at " I 20 DELL'INNOVAZIONE" ("WINDS OF INNOVATION")
 
Data Lake
Data LakeData Lake
Data Lake
 
Smau Torino 2013 Dedagroup
Smau Torino 2013 DedagroupSmau Torino 2013 Dedagroup
Smau Torino 2013 Dedagroup
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...
The importance of now: rivedere il ciclo tradizionale del dato alla luce dell...
 
Smau Bologna 2015 - Eurocloud
Smau Bologna 2015 - EurocloudSmau Bologna 2015 - Eurocloud
Smau Bologna 2015 - Eurocloud
 
Il Cloud a Km.0
Il Cloud a Km.0Il Cloud a Km.0
Il Cloud a Km.0
 
Il Cloud a KM 0
Il Cloud a KM 0Il Cloud a KM 0
Il Cloud a KM 0
 
Cloud a Km. 0
Cloud a Km. 0Cloud a Km. 0
Cloud a Km. 0
 

Mehr von confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

Mehr von confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

How to beat Data Gravity with Kafka

  • 1. How to beat Data Gravity with Kafka Data in Motion tour – Milano, 6 Ottobre 2022
  • 2. Aiutiamo il Sistema Paese a proteggersi dal rischio e a crescere in modo sostenibile.
  • 3. OLTRE 3.000 PROFESSIONISTI 2014 CERVED DEBUTTA SUL SEGMENTO MTA DI BORSA ITALIANA OLTRE 40M DI INVESTIMENTI STANZIATI OGNI ANNO PER AGGIORNARE E ARRICCHIRE I DATABASE CON NUOVI DATI E FONTI INFORMATIVE OLTRE 1.000 RICHIESTE DI INFORMAZIONI AL MINUTO SU 5,6 MILIONI DI AZIENDE ATTIVE 600M EVENTI DI MONITORAGGIO ALL'ANNO OLTRE 1,1 PETABYTE DI DATI ARCHIVIATI NEI NOSTRI 1.000 SERVER Cerved è la data-driven company italiana nata nel 1974, che fornisce ad imprese e istituzioni i dati che guidano le loro scelte, gli strumenti per interpretarli e un team di persone per trasformarli in azioni. Siamo leader di mercato perché abbiamo saputo guidare il cambiamento, attraverso l’integrazione di importanti realtà e l’ingresso in mercati vicini alle nostre attività tradizionali, fino a diventare nel 2014 la prima società quotata del settore in Italia. 3 Cerved, la data-driven company
  • 4. 4 Una storia che guarda al futuro FONDAZIONE Cerved 1974 2009 Bain Capital e Clessidra acquisiscono e integrano Centrale dei Bilanci, Cerved, Lince, Pitagora, Databank, Finservice e Consit CVC acquisisce Cerved da Bain e Clessidra 2013 2014 Cerved Information Solutions S.p.A. - Holding direzionale del Gruppo Cerved – debutta sull’MTA di Borsa Italiana Cerved Group investe in SpazioDati, tech-company fondata nel 2012 specializzata in big data, sales intelligence e Lead generation 2014 2016 Cerved Group acquisisce Click Adv ❨Payclick❩ fondata nel 2006, specializzata in campagne digital advertising Cerved Group acquisisce: • Proweb Consulting fondata nel 2009 • SpazioDati • Bauciweb fondata nel 2009 2018 • Integrate: startup specializzata in rating ESG • Hawk: gruppo specializzato in soluzioni AML 2020 2019 Cerved Group acquisisce MBS, fondata nel 1987, leader nella consulenza di direzione 2021 Cerved Group Spa entra in ION Group uno dei più grandi operatori Fintech sul mercato
  • 5. ECOSISTEMA DATI TECNOLOGIE DI FRONTIERA APP VALUE BASED Il più grande ecosistema di dati in Italia, integrabile con quello dei nostri partner e dei nostri clienti Patrimonio informativo ricco, unico, distintivo e costantemente in crescita Le Tecnologie più innovative ed avanzate per la gestione, elaborazione e visualizzazione dei dati Machine Learning, Advanced Analytics e Motori Semantici per trasformare i dati in soluzioni di valore «App» pronte all’uso, che non necessitano di attività di integrazione sui sistemi ❨IT Independent❩ App Cerved per generare valore 5 I nostri elementi distintivi 1 2 3
  • 6. 6 Utilizziamo tecnologie di frontiera «Raw» Data Insight Only «Tech» Business 100% GDPR compliant Blockchain Natural Language Processing >1.000 Server 600M eventi annui dati in monitoraggio >40M€ di investimenti annui >1,1 PetaByte di dati archiviati Partizioni di Data Lake Artificial Intelligence Graph database Cyber Security & Criptazione Semantic Text Analytics Engine Piattaforma API Ergonomia Cognitiva e di Service Design DATA LAKE DATA ELABORATION DATA FRUIBILITY & SECURITY DATA VISUALIZATION Fatturazione elettronica
  • 7. 7 Cerved è una Data-Driven company con un portafoglio di attività diversificato Marketing Intelligence Aiutare i nostri clienti a crescere fornendo insight per decisioni basate sui dati Ricavi 2021: €73,3M Mission Numeri Aiutare i nostri clienti a gestire tutti i rischi rilevanti relativi a credito, compliance, normative e sostenibilità Ricavi 2021: €287,9M 56,7% Delle vendite Risk Intelligence Mission Numeri Aiutare i nostri clienti a gestire i loro crediti durante l'intero ciclo di vita Ricavi 2021: €146,4M Credit Management Mission Numeri 28,8% delle vendite 14,5% delle vendite
  • 8. Guardiamo l’economia da un punto di vista privilegiato 1° Agenzia in Europa per rating evasi registrata ESMA Il dataset più completo su aziende italiane, stakeholder e patrimonio immobiliare Il più grande Bureau di pagamenti in Italia ❨PayLine❩ Il più grande operatore indipendente di servizi NPL in Italia
  • 9. Istituzioni locali e internazionali guardano a Cerved come punto di riferimento per l'economia italiana 1. Comprese le micro aziende con acquisti su cervedirect.com 95% delle banche italiane I nostri clienti +30.000 aziende1 +150 Pubbliche Autorità Istituzioni primarie che utilizzano i nostri dati osservatore chiave sulle PMI per le consultazioni periodiche previste dall'articolo IV ❨Country Surveillance❩ Fornitore di dati sulle procedure concorsuali e sui termini di pagamento delle aziende Fornitore di indicatore sintetico del rischio affrontato dalle aziende e istituzioni finanziarie Fornitore di dati sulle procedure concorsuali e sui termini di pagamento delle aziende
  • 10. 10 Highlights Le nostre performance1 1. performance al 31/12/2021 ECONOMICS & MARKETS 89,7% SODDISFAZIONE MEDIA CLIENTI 508,1 MILIONI RICAVI ∼30.000 CLIENTI GOVERNANCE SOCIAL ENVIRONMENTAL 50% PRESENZA FEMMINILE BOARD 70% INDIPENDENZA BOARD 11 POLICY ESG 2.800 DIPENDENTI 60% DIPENDENTI DONNE +60.000 ORE FORMAZIONE EROGATE 83% ENERGIA ELETTRICA RINNOVABILE -9% CONSUMI ENERGETICI -31% EMISSIONI DI CO2 Cerved è tra i “leader della sostenibilità” nel 2021 e 2022 secondo il Sole24Ore e Statista. Il riconoscimento premia le aziende che hanno raggiunto importanti risultati in tema ESG.
  • 11. Big Data Platform in Cerved
  • 12. 12 Obiettivo L’idea della Big Data Platform, nasce per soddisfare l’esigenza specifica del prodotto «Silos 3 Query» e consiste nel creare un portafoglio clienti che consenta alle banche di interrogare ed estrarre informazioni dalla propria banca dati alimentata dai documenti acquistati e archiviati su GridFS di MongoDB.
  • 13. 13 • Gestire Big Data • Paradigma CQRS • Event-Driven Architecture • Continuous Processing • Data Lake Cerved delle Business Rules Statiche Sfide
  • 14. 14 Data Ecosystem Cerved Data Gravity Sourcing Liv.2 Sourcing Liv. 1 REPOS SYNTH Mondo Dati Lince Dati clienti NCA ERG EBS HUB DWH MBD Teradata Tabula Mongo4 DW DB4You XPCH 2 MATCH NEMO Quaest io LUDO Tabula (su AWS) nephila G4U MBD1 R3 Pragma Splunk CDR Mambo CAS Dedalo ELK CSS CR-RIBA (Payline)
  • 15. 15 Limiti sulla parte dati DB Rel Quaestio Search DWH Rel Ludo Search Nemo Search XpCache Portafoglio Tabula Aracne Session Caching Logging CDR Asincronia tra i database Distonie sui dati Rigenerazioni full continue Complessità Manutenzioni Duplicazione Business Rules Poca scalabilità ETL
  • 16. 16 Data Ecosystem SYNTH TABULA CAT DatiClienti REPOS MONDO R3 QUESTIO MATCH Mongo4 DW XP Cache LUDO DB4YOU ELK SPLUNK DATALAKE ERG CAS DWHPROD MBD GRAPH4YOU ARACNE CRRIBA NUFA NEMO
  • 17. Cerved Data Architecture Overview Cerved DBs CDC DBs Operational Online Data OLTP Processes Batch Hadoop DataLake NoSql Tabula … DynamoDB S3 CDC Producer Raw Events Aggregator Basic Events Aggregator HL Events Aggregator NoSql Ingestion Sync Connector To Cloud Hadoop Ingestion Stream Processing AWS Lambda SageMeker CloudFront Back-End API Front End Data Layer 17
  • 18. 18 Topic A Partition A1 Topic A Partition A3 Topic A Partition A2 Broker id=0 pkafka01:9092 Topic A Partition A1 Topic A Partition A3 Topic A Partition A2 Broker id=1 pkafka02:9092 p Topic A Partition A1 Topic A Partition A3 Topic A Partition A2 Broker id=2 pkafka03:9092 Cluster Kafka Zookeeper Cluster pproxyapp01 2191 Z2 Z3 Z4 Z5 pproxyapp02 2191 pproxyapp03 2191 pproxyapp04 2191 pproxyapp05 2191 Control Center pkafka01:9021 Schema Registry pkafka01:8081 pkafka02:8081 pkafka03:8081 UI pkafka01:8001 pkafka01:9021 Kafka Manager prproxyint03:9009 Architettura Kafka Cerved
  • 19. 19 High Level Architecture – Big Data Platform Cerved
  • 20. 20 Topic • 3 Broker • 2874 Partitions • 873 Topic (with 50 compact) • 8.348 Replicas • 2T Disk • 2,5Mb/sec. Production - Max 40Mb/sec. • 1,5Mb/sec. Consuption - Max 40Mb/sec. CDC : 700 Eventi Grezzi Aggregator : 60 Eventi di Business di I Livello NTabula : 40 Eventi di Business di II Livello altrsogg_ALTRO_SOGGETTO anagpayl_ANAGRAFICA_PAYLINE antproce_ANTICIPAZIONE_PROCEDURA artinews_ARTICOLO_NEWS atecoimp_ATECO_IMPRESA bilanci_BILANCI bilancio_BILANCIO bilrice_BILANCI_RICCB capogrpf_CAPOGRUPPO_PF capogrpg_CAPOGRUPPO_PG capogrup_CAPOGRUPPO cessata_CESSATA cgrpscgr_SCORE_CGR_P cgrpvsc_VALORE_SOTTOSCORE_P_CALC cgrpvsot_VALORE_SOTTOSCORE_P cgrpvssc_VALORE_SSCORE_CGR_P …… bdp.event.addetti.streaming bdp.event.anagrafica.streaming bdp.event.anticipazioneprocedura.streaming bdp.event.ateco.streaming bdp.event.bilancio.streaming bdp.event.catastali.streaming bdp.event.cigs.streaming bdp.event.datiimmobiliari.streaming bdp.event.email.streaming bdp.event.esponente.streaming bdp.event.gruppi.streaming bdp.event.immobile.streaming bdp.event.lei.streaming bdp.event.norea.streaming bdp.event.numerorichieste.streaming bdp.event.pa.streaming ….. bdp.ntabula.addetti.streaming bdp.ntabula.anagraficasoggetto.streaming bdp.ntabula.attivitaeconomica.streaming bdp.ntabula.bilanci.streaming bdp.ntabula.cigs.streaming bdp.ntabula.datiimmobiliari.streaming bdp.ntabula.email.streaming bdp.ntabula.esponentiimpresa.streaming bdp.ntabula.gruppi.streaming bdp.ntabula.lei.streaming bdp.ntabula.norea.streaming bdp.ntabula.numerorichieste.streaming bdp.ntabula.pa.streaming bdp.ntabula.perimetricontrolloimpresa.streaming bdp.ntabula.perimetricontrollopersona.streaming bdp.ntabula.posizionirea.streaming ….
  • 22. 22 Introduzione a Bitrock: Applicazioni Data Intensive Qualsiasi business può essere visto come una serie di eventi lungo una linea temporale. La gestione delle informazioni diventa sfida critica per quegli ecosistemi caratterizzati da grande quantità di dati, grande complessità di dati e grande velocità di cambiamento. Bitrock offre expertise nello sviluppo di Applicazioni Data Intensive. Nello specifico, ci occupiamo di Data Streaming, gestito tramite l’Event-Driven Architecture. PARTNERSHIP STRATEGICHE Qualsiasi intervento a livello di Back-End deve riflettersi adeguatamente in ambito Front-End. Un Design User-Centered è infatti necessario per gestire adeguatamente i dati in continuo cambiamento, migliorando così il processo di decision making e creando valore per il business. Questo implica mettere bisogni e necessità dell’utente sempre al centro del nostro lavoro, includendolo nel life-cycle progettuale. APPROCCIO END-TO-END
  • 23. 23 Event-Driven Architecture con Kafka • Integrazione con servizi legacy in modalità pluggable • Possibilità di evolvere il sistema senza intaccare i servizi esistenti • Apertura a migrazione in cloud • Disaccoppiamento Data ecosystem • Kafka nuova sorgente dati per i sistemi • Disaccoppiamento servizi • Semplificazione dei flussi e dell'architettura • Batch processing > Streaming near real time
  • 24. Aggregazione di topics multi-schema con Kafka Streams
  • 25. Gruppi Cerved: Dall’evento grezzo all’evento di business CDC Producer Raw Events Aggregator Basic Events Aggregator HL Events Aggregator • Cos’è Gruppi Cerved Algoritmo che analizza tutto il grafo delle aziende italiane, cercando di determinare quali sono i gruppi di aziende che possono essere raggruppate come fossero un’entità unica, perché condividono lo stesso management o lo stesso gruppo di potere che ne controlla le attività. Cerved DBs Dati Business Rules + = • Più di 230.000 gruppi • Più di 850.000 aziende nel perimetro (controllo e semplice possesso) 25
  • 26. Gruppi Cerved: Il problema • Problema: • I Gruppi Italiani sono memorizzati su MongoDB allo scopo di favorire il recupero immediato dell’informazione completa, senza dover eseguire n processi di lettura su DB • Aggiornare MongoDB vuol dire intercettare tutte le modifiche effettuate sui dati Oracle e produrre l’aggiornamento, avendo la sicurezza di avere i Gruppi su MongoDB sempre allineati ad Oracle • Ma gli eventi generati dalla struttura relazionale e intercettati tramite CDC sono tanti Tabula GRUPPO SINTESI_GRUPPO SINTESI_GRUPPO_COMPLESSO CAPO_GRUPPO CAPO_GRUPPO_PF STRUTTURA_GRUPPO COMPONENTE_GRUPPO GERARCHIA_GRUPPI CAPO_GRUPPO_PG Cerved DBs 26
  • 27. Aggregazione di eventi eterogenei: Punto di partenza • I dati sorgente sono separati su tabelle differenti. • Con il CDC siamo in grado di produrre un changelog di eventi su Kafka creando un topic per tabella. 27
  • 28. Aggregazione di eventi eterogenei: Possibili approcci • ksqlDB • Consumer + Producer API • Utilizzo di un topic eterogeneo intermedio • Kafka Streams 28
  • 29. ksqlDB • ksqlDB offre una sintassi SQL-like per la creazione di streams. • Partendo da n topics con schemi differenti, abbiamo la necessità di aggregarli tramite un’operazione di JOIN in maniera incrementale. • Limitazioni: Molteplici topic intermedi, molteplici query persistenti potenzialmente lunghe o complesse. 29
  • 30. Consumer & Producer API • Consumare i messaggi da differenti topic utilizzando diversi Consumers Kafka. • Aggregare i dati in memoria tramite una cache condivisa. • Pubblicare il risultato finale dell'aggregazione su un topic di output tramite un Producer Kafka. • Limitazioni: Gestione manuale delle finestre temporali per l'aggregazione, introduzione e mantenimento di uno stato mutabile all'interno dell'applicazione, necessità di gestione di failover in case di errori o riavvii. 30
  • 31. Utilizzo di un topic eterogeneo intermedio • Utilizzando name strategy differenti è possibile ottenere topic eterogenei che contengono differenti schemi di dati. • RecordNameStrategy consente di registrate uno schema per entità. • TopicRecordNameStrategy consente di registrare uno schema per entità per topic. • Limitazioni: Necessità di introdurre un nuovo topic che contiene gli stessi dati dei topic in input, aumento di schemi duplicati registrati nello Schema Registry. 31
  • 32. Kafka Streams • Consumare tutti i differenti topic con un unico consumer e deserializzare gli aventi come record Avro generici (SpecificRecord). • Aggregare tutti gli eventi applicando a ogni diverso tipo di messaggio la logica di aggregazione necessaria. 32
  • 33. • event-gruppi-aggregator • 9 CDC input topics • aggregazione degli eventi CDC con window-size= 1min • event.gruppi.repartition = topic interno necessaria per la ripartizione dei CDC topics • event.gruppi.changelog = topic interno utilizzato da Kafka Streams per fault-tolerance • event.gruppi = output topic Gruppi Cerved: Come è stato implementato gruppo capogruppo capogruppo_pf capogruppo_pg componente_grupp o gerarchia_grupp i struttura_grupp o sintesi_gruppo sintesi_gruppo_compless o event_gruppi_repartition event_gruppi_changelog event_gruppi state 33
  • 34. Gruppi Cerved: Dall’evento grezzo all’evento di business CDC Producer event-gruppi-aggregator event.gruppi.repartition event.gruppi.changelog event.gruppi cdc.gruppi.tableN cdc.gruppi.table2 cdc.gruppi.table1 ntabula.gruppi gruppi-sink-connector Tabula gruppi-source-connector Evento di Business 34