CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
.Net 5 e' appena diventato GA ma e' gia supportato sia da GitHub che da Azure DevOps. In questa sessione vedremo come fare CI CD per le nostre applicazioni .Net 5 e Asp.net Core 5 usando Azure Pipelines e GitHub Actions
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
Realizzare un’unica piattaforma che garantisce Omni-channel, Zero-downtime, Functional-decomposition e Auto-scaling è possibile? Vi raccontiamo un caso reale di come, utilizzando Zuul, Eureka, SpringBoot, Docker abbiamo realizzato i desideri del cliente e attuato questa trasformazione.
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
"Real Time Monitoring and Analitycs : Customer Experience in Production" by Simone Cellini, Simone Gaddeo
Come aiutare un cliente a evolvere il proprio Business da "Reactive" a "Proactive" convincendolo ad utilizzare tecnologie avanzate? In questo talk vi raccontiamo su un caso reale come abbiamo fatto. Utilizzando Kafka, ElastichSearch, Kibana, Java NIO & Concurrent API siamo riusciti a monitorare lo Stack Applicativo che eroga business, ad analizzarne i comportamenti e a garantire una "Availability" 24x7. Buona Visione
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions Davide Benvegnù
.Net 5 e' appena diventato GA ma e' gia supportato sia da GitHub che da Azure DevOps. In questa sessione vedremo come fare CI CD per le nostre applicazioni .Net 5 e Asp.net Core 5 usando Azure Pipelines e GitHub Actions
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
Realizzare un’unica piattaforma che garantisce Omni-channel, Zero-downtime, Functional-decomposition e Auto-scaling è possibile? Vi raccontiamo un caso reale di come, utilizzando Zuul, Eureka, SpringBoot, Docker abbiamo realizzato i desideri del cliente e attuato questa trasformazione.
Real Time Monitoring and Analitycs : Customer Experience in ProductionCodemotion
"Real Time Monitoring and Analitycs : Customer Experience in Production" by Simone Cellini, Simone Gaddeo
Come aiutare un cliente a evolvere il proprio Business da "Reactive" a "Proactive" convincendolo ad utilizzare tecnologie avanzate? In questo talk vi raccontiamo su un caso reale come abbiamo fatto. Utilizzando Kafka, ElastichSearch, Kibana, Java NIO & Concurrent API siamo riusciti a monitorare lo Stack Applicativo che eroga business, ad analizzarne i comportamenti e a garantire una "Availability" 24x7. Buona Visione
Back to Basics webinar 1 IT 17 - Introduzione ai NoSQLMongoDB
Il significato del termine NoSQL
Le differenze tra gli archivi di tipo chiave-valore, orientati alle colonne e orientati ai documenti
Il significato del termine multi-modello
MongoDB - Back to Basics 2017 - Introduzione a NoSQLMassimo Brignoli
Questa è la prima puntata della serie Back to Basics edizione 2017. Vedremo un'introduzione ai NoSQL: che cosa sono e come si differenziano tra di loro.
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
Con Azure Synapse abbiamo finalmente a disposizione un ambiente integrato in cui poter implementare compiutamente un modern Data Warehouse. Abbiamo ormai capito sul campo che non ha senso mettere in competizione fra di loro data lake e data warehouse, con Azure Synapse la piena collaborazione fra di loro diventa il punto di forza di una strategia sui dati che unifica in un unico ambiente data ingestion, data preparation e analytics.In questa sessione verrà mostrato come Azure Synapse permetta di fare tutto questo a partire dal dato grezzo proveniente dalle più svariate fonti dati.
CDays15 - AZ08 - DocumentDB: il NoSql secondo AzureDavide Benvegnù
DocumentDB è il nuovo database documentale NoSQL disponibile su Microsoft Azure, particolarmente adatto agli scenari in cui è richiesta una grande scalabilità ed alte prestazioni nell'accesso ai dati.
In questa sessione analizzeremo le sue caratteristiche, capiremo come si usa e come poter sviluppare applicazioni reali che lo utilizzano.
Crea il TUO database con LevelDB e Node.jsMatteo Collina
Avete mai pensato di scrivere un vostro database? Un Key/Value store, o un database documentale? Oppure un Graph DB? O magari volete un database che si sincronizzi fra Browser e Server in modo trasparente? Nodebase è il movimento che fa per voi!
Un gruppo di mad scientist nella comunità Node.js hanno preso l'ultraveloce LevelDB e hanno sviluppato decine di piccole librerie che consentono di aggiungerci tutte le funzionalità di cui avete bisogno, dalla replicazione all'indicizzazione: stiamo parlando di LevelUp!
I database No-SQL sono sempre più diffusi ed utilizzati nelle applicazioni. Vediamo come Microsoft ha deciso di implementare questa strategia dentro Azure con DocumentDB.
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...MongoDB
Questo è il quarto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar guarda supporto all'indice full-text e il supporto geospaziale.
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
Let's find out in this session how Azure Synapse Analytics, with its SQL Serverless Pool, ADX, Data Factory, Notebooks, Spark can be useful for managing data analysis in an IoT solution.
Costruire un PoC IoT completo: gestione allarmi, device heartbeat, real-time e batch analysis e integrazione con Dynamics 365. L'intera soluzione sarà costruita utilizzando la piattaforma Cloud Microsoft (Stream Analytics, Logic Apps, SQL Database, Power BI, Dynamics 365).
Il tutto in 1 ora e come sempre scrivendo meno codice possibile!
Come costruire un PoC IoT completo: gestione allarmi, device heartbeat, real-time. L'intera soluzione sarà costruita utilizzando la piattaforma Cloud Microsoft (Stream Analytics, Logic Apps, SQL Database, Power BI, Dynamics 365).
Il tutto in 1 ora e come sempre scrivendo meno codice possibile!
Il formato JSON oltre ad essere diventato lo standard più diffuso per lo scambio di dati tra le applicazioni, viene anche usato per l’archiviazione dei dati nei database NoSQL.
In SQL Server ci permette invece di combinare concetti NoSQL e concetti relazionali nello stesso database.
E' possibile inoltre sfruttarlo al meglio in combinazione con altre feature come la Fulltext Search e Columnstore Index.
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
Power BI Dataflow è il componente di trasformazione dei dati in Power BI. È un processo di Power Query che viene eseguito nel cloud. Bene, questa potrebbe non sembrare una funzionalità molto nuova, giusto? Quindi cosa c'è di nuovo con Dataflow? Le risposte alle vostre domande saranno nella mia sessione :-)
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAlessio Biasiutti
In this session I explained how to develop a IoT E2E solution writing as less code as possible. I designed the solution using Azure Event Hub, Azure Service Bus, Azure Logic Apps e Azure SQL Database
Normalmente parliamo e presentiamo Azure IoT (Central) con un taglio un po' da "maker". In questa sessione, invece, vediamo di parlare allo SCADA engineer. Come si configura Azure IoT Central per il mondo industriale? Dov'è OPC/UA? Cosa c'entra IoT Plug & Play in tutto questo? E Azure IoT Central...quali vantaggi ci da? Cerchiamo di rispondere a queste e ad altre domande in questa sessione...
Allo sviluppatore Azure piacciono i servizi PaaS perchè sono "pronti all'uso". Ma quando proponiamo le nostre soluzioni alle aziende, ci scontriamo con l'IT che apprezza gli elementi infrastrutturali, IaaS. Perchè non (ri)scoprirli aggiungendo anche un pizzico di Hybrid che con il recente Azure Kubernetes Services Edge Essentials si può anche usare in un hardware che si può tenere anche in casa? Quindi scopriremo in questa sessione, tra gli altri, le VNET, le VPN S2S, Azure Arc, i Private Endpoints, e AKS EE.
Back to Basics webinar 1 IT 17 - Introduzione ai NoSQLMongoDB
Il significato del termine NoSQL
Le differenze tra gli archivi di tipo chiave-valore, orientati alle colonne e orientati ai documenti
Il significato del termine multi-modello
MongoDB - Back to Basics 2017 - Introduzione a NoSQLMassimo Brignoli
Questa è la prima puntata della serie Back to Basics edizione 2017. Vedremo un'introduzione ai NoSQL: che cosa sono e come si differenziano tra di loro.
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
Con Azure Synapse abbiamo finalmente a disposizione un ambiente integrato in cui poter implementare compiutamente un modern Data Warehouse. Abbiamo ormai capito sul campo che non ha senso mettere in competizione fra di loro data lake e data warehouse, con Azure Synapse la piena collaborazione fra di loro diventa il punto di forza di una strategia sui dati che unifica in un unico ambiente data ingestion, data preparation e analytics.In questa sessione verrà mostrato come Azure Synapse permetta di fare tutto questo a partire dal dato grezzo proveniente dalle più svariate fonti dati.
CDays15 - AZ08 - DocumentDB: il NoSql secondo AzureDavide Benvegnù
DocumentDB è il nuovo database documentale NoSQL disponibile su Microsoft Azure, particolarmente adatto agli scenari in cui è richiesta una grande scalabilità ed alte prestazioni nell'accesso ai dati.
In questa sessione analizzeremo le sue caratteristiche, capiremo come si usa e come poter sviluppare applicazioni reali che lo utilizzano.
Crea il TUO database con LevelDB e Node.jsMatteo Collina
Avete mai pensato di scrivere un vostro database? Un Key/Value store, o un database documentale? Oppure un Graph DB? O magari volete un database che si sincronizzi fra Browser e Server in modo trasparente? Nodebase è il movimento che fa per voi!
Un gruppo di mad scientist nella comunità Node.js hanno preso l'ultraveloce LevelDB e hanno sviluppato decine di piccole librerie che consentono di aggiungerci tutte le funzionalità di cui avete bisogno, dalla replicazione all'indicizzazione: stiamo parlando di LevelUp!
I database No-SQL sono sempre più diffusi ed utilizzati nelle applicazioni. Vediamo come Microsoft ha deciso di implementare questa strategia dentro Azure con DocumentDB.
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...MongoDB
Questo è il quarto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar guarda supporto all'indice full-text e il supporto geospaziale.
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
Let's find out in this session how Azure Synapse Analytics, with its SQL Serverless Pool, ADX, Data Factory, Notebooks, Spark can be useful for managing data analysis in an IoT solution.
Costruire un PoC IoT completo: gestione allarmi, device heartbeat, real-time e batch analysis e integrazione con Dynamics 365. L'intera soluzione sarà costruita utilizzando la piattaforma Cloud Microsoft (Stream Analytics, Logic Apps, SQL Database, Power BI, Dynamics 365).
Il tutto in 1 ora e come sempre scrivendo meno codice possibile!
Come costruire un PoC IoT completo: gestione allarmi, device heartbeat, real-time. L'intera soluzione sarà costruita utilizzando la piattaforma Cloud Microsoft (Stream Analytics, Logic Apps, SQL Database, Power BI, Dynamics 365).
Il tutto in 1 ora e come sempre scrivendo meno codice possibile!
Il formato JSON oltre ad essere diventato lo standard più diffuso per lo scambio di dati tra le applicazioni, viene anche usato per l’archiviazione dei dati nei database NoSQL.
In SQL Server ci permette invece di combinare concetti NoSQL e concetti relazionali nello stesso database.
E' possibile inoltre sfruttarlo al meglio in combinazione con altre feature come la Fulltext Search e Columnstore Index.
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-serviceMarco Pozzan
Power BI Dataflow è il componente di trasformazione dei dati in Power BI. È un processo di Power Query che viene eseguito nel cloud. Bene, questa potrebbe non sembrare una funzionalità molto nuova, giusto? Quindi cosa c'è di nuovo con Dataflow? Le risposte alle vostre domande saranno nella mia sessione :-)
Azure Saturday Pordenone 2018 IoT real time processing for lazy developerAlessio Biasiutti
In this session I explained how to develop a IoT E2E solution writing as less code as possible. I designed the solution using Azure Event Hub, Azure Service Bus, Azure Logic Apps e Azure SQL Database
Normalmente parliamo e presentiamo Azure IoT (Central) con un taglio un po' da "maker". In questa sessione, invece, vediamo di parlare allo SCADA engineer. Come si configura Azure IoT Central per il mondo industriale? Dov'è OPC/UA? Cosa c'entra IoT Plug & Play in tutto questo? E Azure IoT Central...quali vantaggi ci da? Cerchiamo di rispondere a queste e ad altre domande in questa sessione...
Allo sviluppatore Azure piacciono i servizi PaaS perchè sono "pronti all'uso". Ma quando proponiamo le nostre soluzioni alle aziende, ci scontriamo con l'IT che apprezza gli elementi infrastrutturali, IaaS. Perchè non (ri)scoprirli aggiungendo anche un pizzico di Hybrid che con il recente Azure Kubernetes Services Edge Essentials si può anche usare in un hardware che si può tenere anche in casa? Quindi scopriremo in questa sessione, tra gli altri, le VNET, le VPN S2S, Azure Arc, i Private Endpoints, e AKS EE.
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxMarco Parenzan
Did interfaces in C# need evolution? Maybe yes. Are they violating some fundamental principles? We see. Are we asking for some hoops? Let's see all this by telling a story (of code, of course)
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
Dal 2015 gli utilizzatori di Power BI hanno potuto analizzare dati in real-time grazie all'integrazione con altri prodotti e servizi Microsoft. Con streaming dataflow, si porterà l'analisi in tempo reale completamente all'interno di Power BI, rimuovendo la maggior parte delle restrizioni che avevamo, integrando al contempo funzionalità di analisi chiave come la preparazione dei dati in streaming e nessuna creazione di codice. Per vederlo in funzione, studieremo un caso specifico di streaming come l'IoT con Azure IoT Central.
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
Dal 2015 gli utilizzatori di Power BI hanno potuto analizzare dati in real-time grazie all'integrazione con altri prodotti e servizi Microsoft. Con streaming dataflow, si porterà l'analisi in tempo reale completamente all'interno di Power BI, rimuovendo la maggior parte delle restrizioni che avevamo, integrando al contempo funzionalità di analisi chiave come la preparazione dei dati in streaming e nessuna creazione di codice. Per vederlo in funzione, studieremo un caso specifico di streaming come l'IoT con Azure IoT Central.
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
Since 2015, Power BI users have been able to analyze data in real-time thanks to the integration with other Microsoft products and services. With streaming dataflow, you'll bring real-time analytics completely within Power BI, removing most of the restrictions we had, while integrating key analytics features like streaming data preparation and no coding. To see it in action, we will study a specific case of streaming such as IoT with Azure IoT Central.
What are the actors? What are they used for? And how can we develop them? And how are they published and used on Azure? Let's see how it's done in this session
Generic Math, funzionalità ora schedulata per .NET 7, e Azure IoT PnP mi hanno risvegliato un argomento che nel mio passato mi hanno portato a fare due/tre viaggi, grazie all'Università di Trieste, a Cambridge (2006/2007 circa) e a Seattle (2010, quando ho parlato pubblicamente per la prima volta di Azure :) e che mi ha fatto conoscere il mito Don Box!), a parlare di codice in .NET che aveva a che fare con la matematica e con la fisica: le unità di misura e le matrici. L'avvento dei Notebook nel mondo .NET e un vecchio sogno legato alla libreria ANTLR (e tutti i miei esercizi di Code Generation) mi portano a mettere in ordine 'sto minestrone di idee...o almeno ci provo (non so se sta tutto in piedi).
322 / 5,000
Translation results
.NET is better every year for a developer who still dreams of developing a video game. Without pretensions and without talking about Unity or any other framework, just "barebones" .NET code, we will try to write a game (or parts of it) in the 80's style (because I was a kid in those years). In Christmas style.
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Marco Parenzan
IoT scenarios necessarily pass through the Edge component and the Raspberry PI is a great way to explore this world. If we need to receive IoT events from sensors, how do I implement an MQTT endpoint? Kafka is a clever way to do this. And how do I process the data? Kafka? Spark? Rabbit ?. How do we write custom code for these environments? .NET, now in version 6 is another clever way to do it! And maybe, we can also communicate with Azure. We'll see in this session if we can make it all work!
How can you handle defects? If you are in a factory, production can produce objects with defects. Or values from sensors can tell you over time that some values are not "normal". What can you do as a developer (not a Data Scientist) with .NET o Azure to detect these anomalies? Let's see how in this session.
Quali vantaggi ci da Azure? Dal punto di vista dello sviluppo software, uno di questi è certamente la varietà dei servizi di gestione dei dati. Questo ci permette di cominciare a non essere SQL centrici ma utilizzare il servizio giusto per il problema giusto fino ad applicare una strategia di Polyglot Persistence (e vedremo cosa significa) nel rispetto di una corretta gestione delle risorse IT e delle pratiche di DevOps.
C'è ancora diffidenza nei confronti dell'Internet of Things e il costo delle soluzioni custom non aiuta. Azure IoT Central è un servizio SaaS personalizzabile che rende accessibile a costi sostenibili. Vediamo quali sonole peculiarità di questo servizio.
Come puoi gestire i difetti? Se sei in una fabbrica, la produzione può produrre oggetti con difetti. Oppure i valori dei sensori possono dirti nel tempo che alcuni valori non sono "normali". Cosa puoi fare come sviluppatore (non come Data Scientist) con .NET o Azure per rilevare queste anomalie? Vediamo come in questa sessione.
It happens that we have to develop several services and deploy them in Azure. They are small, repetitive but different, often not very different. Why not use code generation techniques to simplify the development and implementation of these services? Let's see with .NET comes to meet us and helps us to deploy in Azure.
Running Kafka and Spark on Raspberry PI with Azure and some .net magicMarco Parenzan
IoT scenarios necessarily pass through the Edge component and the Raspberry PI is a great way to explore this world. If we need to receive IoT events from sensors, how do I implement an MQTT endpoint? Kafka is a clever way to do this. And how do I process the data in Kafka? Spark is another clever way of doing this. How do we write custom code for these environments? .NET, now in version 6 is another clever way to do it! And maybe, we also communicate with Azure. We'll see in this session if we can make it all work!
Time Series Anomaly Detection with Azure and .NETTMarco Parenzan
f you have any device or source that generates values over time (also a log from a service), you want to determine if in a time frame, the time serie is correct or you can detect some anomalies. What can you do as a developer (not a Data Scientist) with .NET o Azure? Let's see how in this session.
It happens that we have to develop several services and deploy them in Azure. They are small, repetitive but different, often not very different. Why not use code generation techniques to simplify the development and implementation of these services? Let's see with .NET comes to meet us and helps us to deploy in Azure.
2. Hi! I’m Emanuele Zanchettin
• 15+ anni di esperienza in ambito IT
• Data architect e consulente per
SQLServer e Azure SQL Database
• Coordinatore team di sviluppo presso
@ Sci-Tech Labs Daresbury (UK)
• Co-founder thinkIT
• ezanchettin@thinkit.it
http://www.thinkit.it/
• Co-coordinatore 1nn0va
Official Microsoft Community
• Speaker a user-group e conferenze
nazionali e internazionali su
SQLServer e Azure SQL Database
9. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – Storia
In informatica, nell'ambito della
programmazione web, JSON, acronimo di
JavaScript Object Notation, è un formato
adatto all'interscambio di dati fra applicazioni
client-server
https://it.wikipedia.org/wiki/JavaScript_Object_Notation
• Basato su STD JS Dicembre 1999
• Indipendete
• Alternativa a XML
10. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – tipi di dato
• booleani
• numeri
• stringhe
• array
• array associativi
• null
• oggetti
• date … (stringa )
• binari … (base64 )
11. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – confronto XML e JSON
• XML
<impiegati>
<impiegato>
<nome>Pippo</nome>
<genere>M</genere>
</impiegato>
<impiegato>
<nome>Pluto</nome>
<genere>M</genere>
</impiegato>
</impiegati>
• JSON
{
"impiegati": [
{
"nome": "Pippo",
"genere": "M"
},
{
"nome": "Pluto",
"genere": "M"
}
]
}
12. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – regole JSON
• Un oggetto va sempre racchiuso tra { e }
• Le coppie chiavi/valori sono separate da :
• Le collezioni di coppie chiavi/valori vanno separati da ,
• Gli array sono rappresentati da [ ] e i valori separati da ,
Il «valore» può essere stringa, numero, oggetto, array, true, false e null
13. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – le stringhe
• Fare attenzione nel caso di gestione di stringhe UNICODE eccetto " e
e caratteri di controllo, ad esempio
" doppie virgolette
barra retroversa
/ barra
b indietro
f fine pagina
r ritorno a capo
n nuova riga
t tabulazione
u<hex 4 digit> qualiasi carattere in esadecimale
14. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Introduzione a JSON – conversione tipi
• JSON tipi «valore»
• Numero, segnato decimale con eventuale frazione ed esponente E
• Stringa, delimitata da " e gestita con come carattere di escape
• Boolean, true o false
• Null
• Array, delimitato da [] come lista vuota o con elementi separati da ,
• Oggetto, delimitato da { } con eventuali coppie chiave/valore separati di ,
Semplice no!?
20. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Assoluta - scrittura
dato B
dato B
dato A
dato B
replica 1
replica 2
replica 3
async
21. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Assoluta - lettura
dato B
dato B
dato A
dato B
replica 1
replica 2
replica 3
22. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Obsolescenza Aassociata - scrittura
dato B
dato B
dato A
dato A
replica 1
replica 2
replica 3
async
23. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Obsolescenza Aassociata - lettura
dato B
dato B
dato A
dato B
replica 1
replica 2
replica 3
24. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Sessione - scrittura
dato B
dato B
dato A
dato A
replica 1
replica 2
replica 3
async
Sessione 1
25. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Sessione - lettura
dato B
dato B
dato A
dato A
replica 1
replica 2
replica 3
async
Sessione 1
dato A
26. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Finale - scrittura
dato B
dato B
dato A
dato A
replica 1
replica 2
replica 3
async
27. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Coerenza Finale - lettura
dato A/B/?
dato B
dato A
dato A
replica 1
replica 2
replica 3
28. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Indici
• Nessun schema richiesto
• No indici secondari
• Chiavi senza blocchi e strutturate in Log
• Attivazione/Disattivazione Indicizzazione automatica
• Inclusione/Esclusione documenti
• Inclusione/Esclusione percorsi
• Aggiornamenti sincroni/asincroni
34. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
DocumentDb Performance
• Data is saved on SSD
• All writes to the primary are replicated across two secondary replicas
• (Replicas are spread on different hardware in same region to protect
against failures)
• All reads are distributed across the three copies (when and how
depend on consistency level for db account and query)
35. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Collections
• A unit of scale for transaction
• for stored procedures and triggers
• A unit of query throughput
• capacity units allocated uniformly across all collections)
• A unit of replication
• A collection is replicated three times
• A container of JSON documents
• JSON docs inside of a collection can vary dramatically
36. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Unit of query throughput
• Collection-based RU Reservation
• Capacity units allocated uniformly across all collections)
• Standard pricing tier with hourly billing
• Performance levels can be adjusted
• Each collection = 10GB of SSD
• Limit of 100 collections (1 TB)
• Soft limit, can be lifted as needed per account (with Support)
38. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Request Units
• Predictable Performance
• Each DocumentDB collection has
reserved throughput in terms of
request units (RUs)
• Normalized currency across
database operations
• RU== 𝑓 𝑀𝑒𝑚𝑜𝑟𝑦, 𝐶𝑃𝑈, 𝐼𝑂
• RUs offer accurate accounting in
face of diverse database
operations
Operation RU
Consumed
Reading a single 1KB document 1
Reading a single 2KB document 2
Query with a simple predicate for a 1KB
document
3
Creating a single 1 KB document with 10
JSON properties (consistent indexing)
14
Create a single 1 KB document with 100
JSON properties (consistent indexing)
20
Replacing a single 1 KB document 28
Execute a stored procedure with two create
documents
30
43. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Mano al codice
DEMO
«Hello World» con DocumentDB
44. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Conclusioni
• Valida alternativa al modello relazione
• Alte prestazioni e predicibili
• Flessibilità totale
• Scalabilità praticamente assoluta
• Utilizzo di strumenti e linguaggi noti
• Altro????
45. Pordenone, 22 aprile 2017#GlobalAzure
#Pordenone
Links
• Introduzione a DocumentDB: un Database NoSQL JSON
https://docs.microsoft.com/it-it/azure/documentdb/documentdb-introduction
• Modello di risorse gerarchico e concetti di base relativi a DocumentDB
https://docs.microsoft.com/it-it/azure/documentdb/documentdb-resources
• Livelli di coerenza dei dati ottimizzabili in DocumentDB
https://docs.microsoft.com/it-it/azure/documentdb/documentdb-consistency-levels
• Casi di utilizzo comuni di DocumentDB
https://docs.microsoft.com/it-it/azure/documentdb/documentdb-use-cases