SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
16 APRILE 2021 VIRTUAL EVENT
R. MESSORA – M. SHAHEDI
AZURE SYNAPSE:
DATA LAKE &
MODERN DATA WAREHOUSE
DALLA A ALLA Z
@ROBYMES - @MHMD_BURTON
#GLOBALAZURE
SPONSOR
il partner tecnologico per chi ha idee ambiziose. Innovazione pratica da 15 anni.
empower every person and every organization on the planet to achieve more.
16 APRILE 2021 VIRTUAL EVENT
aka.ms/global-
azure/30D2L
blog.globalazure.net/Swag
#GLOBALAZURE
BUON POMERIGGIO
• Roberto Messora
• Responsabile, Enterprise Architect
• area Business Integration & Architectures
• Mohammad Shahedi
• Big Data Engineer
• area Business Integration & Architectures
CHI SIAMO
#GLOBALAZURE
TOPICS
DI CHE COSA PARLEREMO
• Modern Data Warehouse (per gli amici Data Lakehouse)
• Azure Synapse Analytics
• Pipelines (ETL/ELT/Orchestration)
• Spark Pools & Delta Lake
• SQL pools serverless & dedicated
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
MODERN DATA WAREHOUSE
DATA LAKEHOUSE
#GLOBALAZURE
ARCHITETTURE DATI
• Non esiste una architettura dati buona per tutte le stagioni
• La tecnologia però aiuta a consolidare strumenti che facilitano la gestione
del dato
• Lambda
architecture
• Kappa
architecture
• Data Mesh
• …
https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
#GLOBALAZURE
THE BEST OF BOTH WORLDS
DATA LAKEHOUSE
A Data Lakehouse is a new, open architecture that combines the best
elements of Data Lakes and Data Warehouses
Lakehouses are enabled by a new open and standardized system design
• Implementing similar data structures and data management features to
those in a data warehouse
• Directly on the kind of low cost storage used for data lakes
• They are what you would get if you had to redesign data warehouses in the
modern world
https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
#GLOBALAZURE
KEY FEATURE
DATA LAKEHOUSE
• Transaction support: support for ACID transactions ensures consistency as multiple parties concurrently read or write data
• Schema enforcement and governance: the Lakehouse should have a way to support schema enforcement and
evolution, supporting DW schema architectures such as star/snowflake-schemas
• BI support: lakehouses enable using BI tools directly on the source data
• Storage is decoupled from compute: In practice this means storage and compute use separate clusters, thus these
systems are able to scale to many more concurrent users and larger data sizes
• Openness: The storage formats they use are open and standardized, such as Parquet, and they provide an API
• Support for diverse data type: ranging from unstructured to structured data
• Support for diverse workloads: including data science, machine learning, and SQL and analytics
• End-to-end streaming: support for streaming eliminates the need for separate systems dedicated to serving real-time
data applications
https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
AZURE SYNAPSE ANALYTICS
OVERVIEW
#GLOBALAZURE
AZURE SYNAPSE ANALYTICS
ARCHITETTURA
#GLOBALAZURE
AZURE SYNAPSE ANALYTICS
COMPONENTI
#GLOBALAZURE
IN PILLOLE
AZURE SYNAPSE ANALYTICS
• Razionalizzazione e miglioramento di una serie di servizi di data platform pre-esistenti
all’interno di un unico Workspace (Azure Data Factory, Azure SQL DWH)
• Disponibilità di un ambiente di lavoro unificato, Azure Synapse Studio
• Possibilità di creare e scalare diversi workload di tipo DWH (SQL Pools) e Spark (Spark
Pools)
• Ambiente di monitoraggio e alerting disponibile per ognuno dei componenti (data
integration, DWH, Spark)
• Integrazione con Git in modalità Pull Request
• Classico modello di security Azure basato su RBAC
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
AZURE SYNAPSE PIPELINES
ETL/ELT/ORCHESTRATION
#GLOBALAZURE
MI È PARSO DI VEDERE DATA FACTORY…
SYNAPSE PIPELINES
• Integrazione di Azure Data Factory all’interno del Synapse Workspace
• Motore di ETL/ELT in modalità low-code/no-code dotato di una grande varietà di connettori
verso fonti dati di prodotto e di protocollo
• Synapse Studio è di fatto l’evoluzione dell’ambiente di sviluppo e monitoraggio di Data
Factory
• È disponibile un motore Spark serverless low-code/no-code denominato Data Flow
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
AZURE SYNAPSE SPARK POOLS
APACHE SPARK & DELTA LAKE
#GLOBALAZURE
SYNAPSE SPARK POOLS
• Azure Synapse permette di creare e configurare cluster Apache Spark
serverless in diversi dimensionamenti e capacità di calcolo
• Gli Spark Pool in Azure Synapse sono compatibili con Azure Blob Storage e
Azure Data Lake Storage Gen2
#GLOBALAZURE
IN PILLOLE
SYNAPSE SPARK POOLS
• Efficienza: tempo di del cluster startup di circa 2 minuti sotto i 60 nodi, 5 minuti sopra i 60
nodi
• Notebook integrati: esperienza di sviluppo in Synapse Studio basata su Nteract
(https://nteract.io/)
• REST API: disponibilità di uno Spark job server che espone una API per interagire con il
cluster basata su Apache Livy (http://livy.incubator.apache.org./)
• Librerie Anaconda precaricate
• Supporto per Delta Lake (https://delta.io/)
• Scalabilità: i cluster possono essere abilitati all’auto-scaling
#GLOBALAZURE
DELTA LAKE
Delta Lake è un framework open source che consente di costruire un'architettura Data
Lakehouse su sistemi di storage esistenti come AWS S3, Azure Data Lake Storage, Google
Cloud Storage e HDFS
DATA LAKE ON STEROIDS
#GLOBALAZURE
IN PILLOLE
DELTA LAKE
• Transazioni ACID
• Gestione del metadato scalabile
• Versionamento e storico di audit
• Formato open (Parquet)
• Supporto a batch e streaming
• Imposizione ed evoluzione dello schema
• Supporto a updates e delete
• Compatibile con Apache Spark
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
AZURE SYNAPSE SQL POOLS
SERVERLESS & DEDICATED
#GLOBALAZURE
SQL POOL ARCHITECTURE
OLAP MPP: NON È UN DB TRANSAZIONALE!
#GLOBALAZURE
SQL QUERY ENGINE PER IL DATA LAKE
SERVRLESS SQL POOL
• NON è un DWH e NON ha storage, si possono creare solo external table che puntano ai file
sul Data Lake
• Permette di utilizzare una buona parte del linguaggio T-SQL per interrogare al volo i dati
che si trovano all’interno di Azure Data Lake Storage mediante una tecnologia denominata
Polybase che non necessita di driver o connettori addizionali
• Permette di accedere anche alle Spark Table create negli Spark Pool
• Permette di essere agganciato a Power BI
• Il pricing model è per quantità di dati analizzati in una query con un taglio minimo di 10 MB
#GLOBALAZURE
OLAP DWH (RIPETIAMO: NON È UN DB TRANSAZIONALE…)
DEDICATED SQL POOL
• Data Warehouse Units (DWU): taglio di overall performance/risorse del singolo SQL Pool
che può variare da 1 a 60 Compute Node
• Tabelle:
• External: come per i SQL Pool Serverless permettono di eseguire query T-SQL sui file del
Data Lake mediante Polybase
• Regular: le vere e proprie tabelle del DWH
• Temporary: durano il solo lo spazio della sessione di lavoro
• A differenza degli Spark Pool non ha meccanismo automatico di sospensione e scalabilità,
sono operazioni che possono essere fatte solo manualmente
#GLOBALAZURE
STORAGE E DISTRIBUZIONE
DEDICATED SQL POOL
• Data Movement Service (DMS): tecnologia di trasporto che coordina la movimentazione
del dato fra i compute node
• Tipologie di distribuzione delle tabelle sui compute node:
• Hash: distribuzione delle righe tramite funzione di hash, maggior performance delle
query per join e aggregazioni su grandi volumi
• Round-Robin: distribuzione delle righe in maniera uniforme sui nodi, logica di
distribuzione semplice e non ottimizzata, ideale per tabelle di staging
• Replication: distribuzione della copia della tabella su ogni nodo, maggior performance
per piccoli volumi
#GLOBALAZURE
INDICIZZAZIONE E PARTIZIONAMENTO
DEDICATED SQL POOL
• Tipologie di indici applicabili alle Regular Table
• Clustered Columnstore: indicizzazione di default se non specificata, miglior
compromesso fra compressione e performance, ideale per tabelle con più di 60 milioni
di righe
• Heap: ideale per tabelle di landing perché velocizza i tempi di inserimento e per tabelle
con meno di 60 milioni di righe
• Clustered e Nonclustered: ideale per lookup table da cui ottenere poche righe in
risposta ad una query con filtri molto selettivi
• Le Regular Table possono essere partizionate (tipicamente per campi datetime) per
migliorare le performance di query e delete
16 APRILE 2021 VIRTUAL EVENT
#GLOBALAZURE
AZURE SYNAPSE GOODIES
COSMOS DB LINK
#GLOBALAZURE
SYNAPSE LINK
Synapse Link è un servizio cloud di Hybrid Transactional and Analtyical Processing (HTAP) per
Cosmos DB che sfrutta una sua recente nuova feature: l’Analytical Store
REAL TIME ANALYTICS PER COSMOS DB
16 APRILE 2021 VIRTUAL EVENT
aka.ms/global-
azure/30D2L
blog.globalazure.net/Swag

Contenu connexe

Tendances

Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
 
Microsoft Application Insights
Microsoft Application InsightsMicrosoft Application Insights
Microsoft Application InsightsRoberto Albano
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopData Driven Innovation
 
Geocoding with SQL Server Bing & Google API
Geocoding with SQL Server Bing & Google APIGeocoding with SQL Server Bing & Google API
Geocoding with SQL Server Bing & Google APIAndrea Martorana Tusa
 
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017Codemotion
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft AzureRoberto Albano
 
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAzure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAlessio Biasiutti
 
Cassandra + Hadoop: Analisi Batch con Apache Cassandra
Cassandra + Hadoop: Analisi Batch con Apache CassandraCassandra + Hadoop: Analisi Batch con Apache Cassandra
Cassandra + Hadoop: Analisi Batch con Apache CassandraJeremy Hanna
 
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
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & AnalyticsDavide Mauri
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudDavide Benvegnù
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Andrea Tosato
 

Tendances (20)

Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
 
Microsoft Application Insights
Microsoft Application InsightsMicrosoft Application Insights
Microsoft Application Insights
 
Evoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da HadoopEvoluzioni architetturali a partire da Hadoop
Evoluzioni architetturali a partire da Hadoop
 
Geocoding with SQL Server Bing & Google API
Geocoding with SQL Server Bing & Google APIGeocoding with SQL Server Bing & Google API
Geocoding with SQL Server Bing & Google API
 
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017
Cyber Security in Multi Cloud Architecture - Luca Di Bari - Codemotion Rome 2017
 
Introduzione a Microsoft Azure
Introduzione a Microsoft AzureIntroduzione a Microsoft Azure
Introduzione a Microsoft Azure
 
Power bi + Flow
Power bi + FlowPower bi + Flow
Power bi + Flow
 
Power bi
Power biPower bi
Power bi
 
Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAzure Saturday Pordenone 2018 IoT real time processing for lazy developer
Azure Saturday Pordenone 2018 IoT real time processing for lazy developer
 
Cassandra + Hadoop: Analisi Batch con Apache Cassandra
Cassandra + Hadoop: Analisi Batch con Apache CassandraCassandra + Hadoop: Analisi Batch con Apache Cassandra
Cassandra + Hadoop: Analisi Batch con Apache Cassandra
 
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...
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
Business Intelligence & Analytics
Business Intelligence & AnalyticsBusiness Intelligence & Analytics
Business Intelligence & Analytics
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
 

Similaire à Azure Synapse: data lake & modern data warehouse dalla A alla Z

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 SolutionsMarco Parenzan
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft FabricMarco Pozzan
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseMarco Pozzan
 
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 biMarco Pozzan
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkAlessio Biasiutti
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloudRiccardo Zamana
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBDavide Benvegnù
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudGianluca Hotz
 
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Giuliano Latini
 

Similaire à Azure Synapse: data lake & modern data warehouse dalla A alla Z (20)

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
 
Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless Synapse
 
Data grid
Data gridData grid
Data grid
 
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
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
Data flow
Data flowData flow
Data flow
 
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
 

Plus de Roberto Messora

Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio CodeRoberto Messora
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerRoberto Messora
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScriptRoberto Messora
 
Docker as a hosting target
Docker as a hosting targetDocker as a hosting target
Docker as a hosting targetRoberto Messora
 
Da imperativo a reattivo: Bacon.JS
Da imperativo a reattivo: Bacon.JSDa imperativo a reattivo: Bacon.JS
Da imperativo a reattivo: Bacon.JSRoberto Messora
 
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionEvent streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionRoberto Messora
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page ApplicationsRoberto Messora
 
Single Page web Application
Single Page web ApplicationSingle Page web Application
Single Page web ApplicationRoberto Messora
 
Javascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webJavascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webRoberto Messora
 
Self-adaptive geospatial web applications
Self-adaptive geospatial web applicationsSelf-adaptive geospatial web applications
Self-adaptive geospatial web applicationsRoberto Messora
 
Web technologies and patterns in HTML5 mapping
Web technologies and patterns in HTML5 mappingWeb technologies and patterns in HTML5 mapping
Web technologies and patterns in HTML5 mappingRoberto Messora
 
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!Roberto Messora
 

Plus de Roberto Messora (16)

Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Seminario Big Data
Seminario Big DataSeminario Big Data
Seminario Big Data
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 
Architetture a Microservizi con Docker Container
Architetture a Microservizi con Docker ContainerArchitetture a Microservizi con Docker Container
Architetture a Microservizi con Docker Container
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScript
 
Docker as a hosting target
Docker as a hosting targetDocker as a hosting target
Docker as a hosting target
 
Da imperativo a reattivo: Bacon.JS
Da imperativo a reattivo: Bacon.JSDa imperativo a reattivo: Bacon.JS
Da imperativo a reattivo: Bacon.JS
 
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionEvent streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Javascript Unit Testing
Javascript Unit TestingJavascript Unit Testing
Javascript Unit Testing
 
Single Page web Application
Single Page web ApplicationSingle Page web Application
Single Page web Application
 
Javascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webJavascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il web
 
Self-adaptive geospatial web applications
Self-adaptive geospatial web applicationsSelf-adaptive geospatial web applications
Self-adaptive geospatial web applications
 
Web technologies and patterns in HTML5 mapping
Web technologies and patterns in HTML5 mappingWeb technologies and patterns in HTML5 mapping
Web technologies and patterns in HTML5 mapping
 
Usare Knockout JS
Usare Knockout JSUsare Knockout JS
Usare Knockout JS
 
MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!MV* presentation frameworks in Javascript: en garde, pret, allez!
MV* presentation frameworks in Javascript: en garde, pret, allez!
 

Azure Synapse: data lake & modern data warehouse dalla A alla Z

  • 1. 16 APRILE 2021 VIRTUAL EVENT R. MESSORA – M. SHAHEDI AZURE SYNAPSE: DATA LAKE & MODERN DATA WAREHOUSE DALLA A ALLA Z @ROBYMES - @MHMD_BURTON
  • 2. #GLOBALAZURE SPONSOR il partner tecnologico per chi ha idee ambiziose. Innovazione pratica da 15 anni. empower every person and every organization on the planet to achieve more.
  • 3. 16 APRILE 2021 VIRTUAL EVENT aka.ms/global- azure/30D2L blog.globalazure.net/Swag
  • 4. #GLOBALAZURE BUON POMERIGGIO • Roberto Messora • Responsabile, Enterprise Architect • area Business Integration & Architectures • Mohammad Shahedi • Big Data Engineer • area Business Integration & Architectures CHI SIAMO
  • 5. #GLOBALAZURE TOPICS DI CHE COSA PARLEREMO • Modern Data Warehouse (per gli amici Data Lakehouse) • Azure Synapse Analytics • Pipelines (ETL/ELT/Orchestration) • Spark Pools & Delta Lake • SQL pools serverless & dedicated
  • 6. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE MODERN DATA WAREHOUSE DATA LAKEHOUSE
  • 7. #GLOBALAZURE ARCHITETTURE DATI • Non esiste una architettura dati buona per tutte le stagioni • La tecnologia però aiuta a consolidare strumenti che facilitano la gestione del dato • Lambda architecture • Kappa architecture • Data Mesh • … https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
  • 8. #GLOBALAZURE THE BEST OF BOTH WORLDS DATA LAKEHOUSE A Data Lakehouse is a new, open architecture that combines the best elements of Data Lakes and Data Warehouses Lakehouses are enabled by a new open and standardized system design • Implementing similar data structures and data management features to those in a data warehouse • Directly on the kind of low cost storage used for data lakes • They are what you would get if you had to redesign data warehouses in the modern world https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
  • 9. #GLOBALAZURE KEY FEATURE DATA LAKEHOUSE • Transaction support: support for ACID transactions ensures consistency as multiple parties concurrently read or write data • Schema enforcement and governance: the Lakehouse should have a way to support schema enforcement and evolution, supporting DW schema architectures such as star/snowflake-schemas • BI support: lakehouses enable using BI tools directly on the source data • Storage is decoupled from compute: In practice this means storage and compute use separate clusters, thus these systems are able to scale to many more concurrent users and larger data sizes • Openness: The storage formats they use are open and standardized, such as Parquet, and they provide an API • Support for diverse data type: ranging from unstructured to structured data • Support for diverse workloads: including data science, machine learning, and SQL and analytics • End-to-end streaming: support for streaming eliminates the need for separate systems dedicated to serving real-time data applications https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
  • 10. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE AZURE SYNAPSE ANALYTICS OVERVIEW
  • 13. #GLOBALAZURE IN PILLOLE AZURE SYNAPSE ANALYTICS • Razionalizzazione e miglioramento di una serie di servizi di data platform pre-esistenti all’interno di un unico Workspace (Azure Data Factory, Azure SQL DWH) • Disponibilità di un ambiente di lavoro unificato, Azure Synapse Studio • Possibilità di creare e scalare diversi workload di tipo DWH (SQL Pools) e Spark (Spark Pools) • Ambiente di monitoraggio e alerting disponibile per ognuno dei componenti (data integration, DWH, Spark) • Integrazione con Git in modalità Pull Request • Classico modello di security Azure basato su RBAC
  • 14. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE AZURE SYNAPSE PIPELINES ETL/ELT/ORCHESTRATION
  • 15. #GLOBALAZURE MI È PARSO DI VEDERE DATA FACTORY… SYNAPSE PIPELINES • Integrazione di Azure Data Factory all’interno del Synapse Workspace • Motore di ETL/ELT in modalità low-code/no-code dotato di una grande varietà di connettori verso fonti dati di prodotto e di protocollo • Synapse Studio è di fatto l’evoluzione dell’ambiente di sviluppo e monitoraggio di Data Factory • È disponibile un motore Spark serverless low-code/no-code denominato Data Flow
  • 16. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE AZURE SYNAPSE SPARK POOLS APACHE SPARK & DELTA LAKE
  • 17. #GLOBALAZURE SYNAPSE SPARK POOLS • Azure Synapse permette di creare e configurare cluster Apache Spark serverless in diversi dimensionamenti e capacità di calcolo • Gli Spark Pool in Azure Synapse sono compatibili con Azure Blob Storage e Azure Data Lake Storage Gen2
  • 18. #GLOBALAZURE IN PILLOLE SYNAPSE SPARK POOLS • Efficienza: tempo di del cluster startup di circa 2 minuti sotto i 60 nodi, 5 minuti sopra i 60 nodi • Notebook integrati: esperienza di sviluppo in Synapse Studio basata su Nteract (https://nteract.io/) • REST API: disponibilità di uno Spark job server che espone una API per interagire con il cluster basata su Apache Livy (http://livy.incubator.apache.org./) • Librerie Anaconda precaricate • Supporto per Delta Lake (https://delta.io/) • Scalabilità: i cluster possono essere abilitati all’auto-scaling
  • 19. #GLOBALAZURE DELTA LAKE Delta Lake è un framework open source che consente di costruire un'architettura Data Lakehouse su sistemi di storage esistenti come AWS S3, Azure Data Lake Storage, Google Cloud Storage e HDFS DATA LAKE ON STEROIDS
  • 20. #GLOBALAZURE IN PILLOLE DELTA LAKE • Transazioni ACID • Gestione del metadato scalabile • Versionamento e storico di audit • Formato open (Parquet) • Supporto a batch e streaming • Imposizione ed evoluzione dello schema • Supporto a updates e delete • Compatibile con Apache Spark
  • 21. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE AZURE SYNAPSE SQL POOLS SERVERLESS & DEDICATED
  • 22. #GLOBALAZURE SQL POOL ARCHITECTURE OLAP MPP: NON È UN DB TRANSAZIONALE!
  • 23. #GLOBALAZURE SQL QUERY ENGINE PER IL DATA LAKE SERVRLESS SQL POOL • NON è un DWH e NON ha storage, si possono creare solo external table che puntano ai file sul Data Lake • Permette di utilizzare una buona parte del linguaggio T-SQL per interrogare al volo i dati che si trovano all’interno di Azure Data Lake Storage mediante una tecnologia denominata Polybase che non necessita di driver o connettori addizionali • Permette di accedere anche alle Spark Table create negli Spark Pool • Permette di essere agganciato a Power BI • Il pricing model è per quantità di dati analizzati in una query con un taglio minimo di 10 MB
  • 24. #GLOBALAZURE OLAP DWH (RIPETIAMO: NON È UN DB TRANSAZIONALE…) DEDICATED SQL POOL • Data Warehouse Units (DWU): taglio di overall performance/risorse del singolo SQL Pool che può variare da 1 a 60 Compute Node • Tabelle: • External: come per i SQL Pool Serverless permettono di eseguire query T-SQL sui file del Data Lake mediante Polybase • Regular: le vere e proprie tabelle del DWH • Temporary: durano il solo lo spazio della sessione di lavoro • A differenza degli Spark Pool non ha meccanismo automatico di sospensione e scalabilità, sono operazioni che possono essere fatte solo manualmente
  • 25. #GLOBALAZURE STORAGE E DISTRIBUZIONE DEDICATED SQL POOL • Data Movement Service (DMS): tecnologia di trasporto che coordina la movimentazione del dato fra i compute node • Tipologie di distribuzione delle tabelle sui compute node: • Hash: distribuzione delle righe tramite funzione di hash, maggior performance delle query per join e aggregazioni su grandi volumi • Round-Robin: distribuzione delle righe in maniera uniforme sui nodi, logica di distribuzione semplice e non ottimizzata, ideale per tabelle di staging • Replication: distribuzione della copia della tabella su ogni nodo, maggior performance per piccoli volumi
  • 26. #GLOBALAZURE INDICIZZAZIONE E PARTIZIONAMENTO DEDICATED SQL POOL • Tipologie di indici applicabili alle Regular Table • Clustered Columnstore: indicizzazione di default se non specificata, miglior compromesso fra compressione e performance, ideale per tabelle con più di 60 milioni di righe • Heap: ideale per tabelle di landing perché velocizza i tempi di inserimento e per tabelle con meno di 60 milioni di righe • Clustered e Nonclustered: ideale per lookup table da cui ottenere poche righe in risposta ad una query con filtri molto selettivi • Le Regular Table possono essere partizionate (tipicamente per campi datetime) per migliorare le performance di query e delete
  • 27. 16 APRILE 2021 VIRTUAL EVENT #GLOBALAZURE AZURE SYNAPSE GOODIES COSMOS DB LINK
  • 28. #GLOBALAZURE SYNAPSE LINK Synapse Link è un servizio cloud di Hybrid Transactional and Analtyical Processing (HTAP) per Cosmos DB che sfrutta una sua recente nuova feature: l’Analytical Store REAL TIME ANALYTICS PER COSMOS DB
  • 29. 16 APRILE 2021 VIRTUAL EVENT aka.ms/global- azure/30D2L blog.globalazure.net/Swag