Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

How to beat Data Gravity with Kafka

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 35 Anzeige

Weitere Verwandte Inhalte

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

Weitere von confluent (20)

Anzeige

Aktuellste (20)

How to beat Data Gravity with Kafka

  1. 1. How to beat Data Gravity with Kafka Data in Motion tour – Milano, 6 Ottobre 2022
  2. 2. Aiutiamo il Sistema Paese a proteggersi dal rischio e a crescere in modo sostenibile.
  3. 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. 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. 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. 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. 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. 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. 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. 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. 11. Big Data Platform in Cerved
  12. 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. 13 • Gestire Big Data • Paradigma CQRS • Event-Driven Architecture • Continuous Processing • Data Lake Cerved delle Business Rules Statiche Sfide
  14. 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. 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. 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. 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. 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. 19 High Level Architecture – Big Data Platform Cerved
  20. 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 ….
  21. 21. BITROCK
  22. 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. 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. 24. Aggregazione di topics multi-schema con Kafka Streams
  25. 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. 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. 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. 28. Aggregazione di eventi eterogenei: Possibili approcci • ksqlDB • Consumer + Producer API • Utilizzo di un topic eterogeneo intermedio • Kafka Streams 28
  29. 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. 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. 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. 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. 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. 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
  35. 35. Grazie

×