Questo è l'ultimo webinar della serie Back to Basics
che ti offrirà un'introduzione al database MongoDB. Questo webinar ti guiderà attraverso tutti i passaggi per l'implementazione della produzione.
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)MongoDB
Come incrementare le prestazioni di scrittura e il volume di dati in MongoDB
Come costruire un semplice cluster partizionato
Come scegliere una chiave della partizione
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
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.
Deploy MongoDB su Infrastruttura Amazon Web ServicesStefano Dindo
Lo scopo della presentazione è quella di fornire una visione a 360 gradi su come realizzare un'architettura MongoDB su un'infrastruttura Cloud Amazon Web Services.
La presentazione è suddivisa in quattro aree:
- Introduzione di base su MongoDB
- Preview delle caratteristiche di MongoDB 3
- Come organizzare architetture Replica Set e Sharding di MongoDB in VPC Cloud di Amazon Web Services
- Introduzione alle logiche di Schema Design di MongoDB
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...MongoDB
Questo è il terzo webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar ti spiegherà l'architettura dei database di documenti.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)MongoDB
Come incrementare le prestazioni di scrittura e il volume di dati in MongoDB
Come costruire un semplice cluster partizionato
Come scegliere una chiave della partizione
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
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.
Deploy MongoDB su Infrastruttura Amazon Web ServicesStefano Dindo
Lo scopo della presentazione è quella di fornire una visione a 360 gradi su come realizzare un'architettura MongoDB su un'infrastruttura Cloud Amazon Web Services.
La presentazione è suddivisa in quattro aree:
- Introduzione di base su MongoDB
- Preview delle caratteristiche di MongoDB 3
- Come organizzare architetture Replica Set e Sharding di MongoDB in VPC Cloud di Amazon Web Services
- Introduzione alle logiche di Schema Design di MongoDB
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...MongoDB
Questo è il terzo webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Questo webinar ti spiegherà l'architettura dei database di documenti.
Back to Basics, webinar 5: Introduzione ad Aggregation FrameworkMongoDB
Questo è il quinto webinar della serie Back to Basics che ti offrirà un'introduzione al database MongoDB. Con questo webinar ti presentiamo Aggregation Framework.
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningMongoDB
L’ultimo webinar della serie discuterà quali metriche sono importanti e come gestire e monitorare la vostra applicazione per migliorare le performance.
Massimo Brignoli:
Massimo ha 44 anni e vive a Milano. Ha lavorato nell’IT per 23 anni per aziende di trasporti, società web e database company. Nel 1998 è entrato una una piccola startup come sviluppatore aiutandola a diventare il più importante portale web italiano, venduto 3 anni più tardi per 700 milioni di dollari. E’ entrato a lavorare in MySQL come pre-vendita viaggiando in tutto il mondo e aiutando le società telecom ad adottare MySQL Cluster. Nel 2012 è entrato in SkySQL come product manager, seguendo l’integrazione con MariaDB e successivamente ha deciso di entrare in MongoDB per seguire nuove sfide professionali. Attualmente e’ Senior Solutions Architect.
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
Il TechAdvisor Mirko Conte spiega come progettare, installare e configurare MySQL Cluster, la versione di punta del database open source più utilizzato al mondo.
Durante la presentazione, Mirko ha condiviso numerose informazioni teoriche e pratiche per comprendere dove, come e quando utilizzare al meglio MySQL Cluster. In questa sessione ha trattato i seguenti punti:
- Valutare MySQL Cluster nel proprio progetto
- Esempi di architettura
- Requisiti hardware/network
- Sessione hands-on
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/progettare-installare-gestire-e-ottimizzare-mysql-cluster#progettare
Per il corso di Sistemi Operativi Avanzati ho studiato l'articolo "Google File System" scritto da Sanjay Ghemawat, Howard Gobioff, e Shun-Tak Leung, inquadrandone il contesto storico, gli obiettivi, le prestazioni e le principali differenze con l'HDFS.
Structured Streaming è il modulo di Stream Processing costruito sul motore Spark SQL. In poche parole garantisce l'esecuzione di un messaggio esattamente una volta, è scalabile e fault-tolerant. È possibile definire le analisi stream nello stesso modo in cui si definirebbe un calcolo batch sui dati usando i Dataset/DataFrame API in Scala, Java, Python or R utilizzando l'engine SQL di Spark.
Durante la sessione vedremo un'overview delle funzionalità e un esempio di di come sia possibile eseguire l'ingestion dei dati con Event Hub (Kafka enabled) eseguire un'analisi con Spark e salvare i risultati su Cosmos DB.
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
La realizzazione di un software per l'automazione di un processo di
lavoro ha portato all'implementazione di un sistema di storage in
grado di gestire imponenti flussi di dati (raw data, immagini...).
Il core del sistema di archiviazione e` il database NoSql Riak. A
quasi un anno dall'entrata in produzione, tale configurazione si e`
confermata robusta e performante (vengono acquisiti in modo
ridondato centinaia di migliaia di files ogni mese, realizzando un
archivio permanente in costante crescita dell'ordine di terabytes).
Nel corso dell'intervento verranno mostrate le motivazioni che hanno
portato a questa scelta.
Oltre ad una rapida panoramica volta ad illustrare le funzionalita`
di Riak si intende condividere in modo pratico il know-how acquisito
ripercorrendo le problematiche riscontrate durante il setup, la
configurazione e la gestione di un cluster Riak (ambienti di
sviluppo e produzione, ottimizzazioni, deploy del cluster, backup,
disaster recovery, ...).
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...Fulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningMongoDB
L’ultimo webinar della serie discuterà quali metriche sono importanti e come gestire e monitorare la vostra applicazione per migliorare le performance.
Massimo Brignoli:
Massimo ha 44 anni e vive a Milano. Ha lavorato nell’IT per 23 anni per aziende di trasporti, società web e database company. Nel 1998 è entrato una una piccola startup come sviluppatore aiutandola a diventare il più importante portale web italiano, venduto 3 anni più tardi per 700 milioni di dollari. E’ entrato a lavorare in MySQL come pre-vendita viaggiando in tutto il mondo e aiutando le società telecom ad adottare MySQL Cluster. Nel 2012 è entrato in SkySQL come product manager, seguendo l’integrazione con MariaDB e successivamente ha deciso di entrare in MongoDB per seguire nuove sfide professionali. Attualmente e’ Senior Solutions Architect.
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
Il TechAdvisor Mirko Conte spiega come progettare, installare e configurare MySQL Cluster, la versione di punta del database open source più utilizzato al mondo.
Durante la presentazione, Mirko ha condiviso numerose informazioni teoriche e pratiche per comprendere dove, come e quando utilizzare al meglio MySQL Cluster. In questa sessione ha trattato i seguenti punti:
- Valutare MySQL Cluster nel proprio progetto
- Esempi di architettura
- Requisiti hardware/network
- Sessione hands-on
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/progettare-installare-gestire-e-ottimizzare-mysql-cluster#progettare
Per il corso di Sistemi Operativi Avanzati ho studiato l'articolo "Google File System" scritto da Sanjay Ghemawat, Howard Gobioff, e Shun-Tak Leung, inquadrandone il contesto storico, gli obiettivi, le prestazioni e le principali differenze con l'HDFS.
Structured Streaming è il modulo di Stream Processing costruito sul motore Spark SQL. In poche parole garantisce l'esecuzione di un messaggio esattamente una volta, è scalabile e fault-tolerant. È possibile definire le analisi stream nello stesso modo in cui si definirebbe un calcolo batch sui dati usando i Dataset/DataFrame API in Scala, Java, Python or R utilizzando l'engine SQL di Spark.
Durante la sessione vedremo un'overview delle funzionalità e un esempio di di come sia possibile eseguire l'ingestion dei dati con Event Hub (Kafka enabled) eseguire un'analisi con Spark e salvare i risultati su Cosmos DB.
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
La realizzazione di un software per l'automazione di un processo di
lavoro ha portato all'implementazione di un sistema di storage in
grado di gestire imponenti flussi di dati (raw data, immagini...).
Il core del sistema di archiviazione e` il database NoSql Riak. A
quasi un anno dall'entrata in produzione, tale configurazione si e`
confermata robusta e performante (vengono acquisiti in modo
ridondato centinaia di migliaia di files ogni mese, realizzando un
archivio permanente in costante crescita dell'ordine di terabytes).
Nel corso dell'intervento verranno mostrate le motivazioni che hanno
portato a questa scelta.
Oltre ad una rapida panoramica volta ad illustrare le funzionalita`
di Riak si intende condividere in modo pratico il know-how acquisito
ripercorrendo le problematiche riscontrate durante il setup, la
configurazione e la gestione di un cluster Riak (ambienti di
sviluppo e produzione, ottimizzazioni, deploy del cluster, backup,
disaster recovery, ...).
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...Fulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
Master: Amministratore Linux - Livello Avanzato
Nel contesto della formazione professionale rivolta ad aziende ed enti pubblici, sono stati preparati ed erogati dei corsi di Amministratore di sistemi Linux, al livello base ed al livello avanzato.
Il contenuto del corso è allineato con alcuni moduli della certificazione LPIC (Linux Professional Institute Certification), a cavallo tra i livelli 1 e 2. Tutto il materiale didattico è disponibile liberamente con licenza Creative Commons BY-NC-SA.
I docenti del corso sono i proff. Giovanni Squillero, Bartolomeo Montrucchio e Fulvio Corno.
Maggiori informazioni: http://elite.polito.it/index.php/teaching/current-courses/255-master-linux-admin
Al DjangoVillage di Orvieto 2014, ha partecipato il nostro Matteo Durighetto, area DB di Miriade e vicepresidente ITPUG, con un intervento sulle ultime novità di PostgreSQL 9.4. In queste slide verrano esposte le feature maggiori di PostgreSQL 9.3 come la cascanding replication con il remastering, le updatable view, il parallel pg dump e i nuovi costrutti di query come i lateral join ma l’attenzione si focalizza sulle nuove feature che porterà con sè la nuova versione 9.4.
Sono state esposte le feature maggiori di PostgreSQL 9.3 come la cascanding replication con il remastering, le updatable view, il parallel pg dump e i nuovi costrutti di query come i lateral join ma l’attenzione si è focalizzata sulle nuove feature che porterà con sè la nuova versione 9.4.
Working between the clouds (versione completa)Davide Cerbo
Da un po' di tempo a questa parte quando uno sviluppatore software sente la parola "Clouds" non pensa più alle nuovole, ma a...? Durante l'intervento risponderò a questa domanda e mostrerò come una applicazione web sviluppata con Spring Framework, Apache Maven e JPA può essere installata facilmente e (quasi) gratuitamente sulla piattaforma per il cloud computing messa a disposizione da Google. Vedremo poi come applicare i principali pattern relativi alla scalabilità utilizzando gli strumenti messi a disposizione dalla piattaforma di Google.
Linux Capabilities: Un miglior root di SUID root.
Traduzione in lingua italiana delle diapositive presentate alla conferenza organizzata dalla Linux Foundation LinuxCon2014, Düsseldorf, 15 ottobre 2014.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
Il 10 novembre 2015 viene rilasciato TYPO3 CMS 7.6, la nuova versione LTS con supporto fino al 2018. Queste le differenze con la versione 7.5 e fra qualche giorno i documenti con tutte le differenze tra TYPO3 CMS 6.2 LTS e TYPO3 CMS 7 LTS
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
Il TechAdvisor Michelangelo Uberti fornisce una panoramica generale inerente le soluzioni di alta disponibilità con MySQL.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise
- Cause, effetti e reali esigenze di HA
- Funzionamento, benefici e limiti dei principali approcci:
- Replica di database
- Cluster attivo/passivo
- Cluster attivo/attivo: shared-nothing
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/soluzioni-di-alta-disponibilita-con-mysql
Tightening the screws è lo slogan che caratterizza questo nuovo rilascio di TYPO3 CMS. La versione 8.1 introduce aggiornamenti sull'interfaccia grafica del modulo workspace, la gestione dei database con Doctrine e molti altri miglioramenti.
Similar to Back to Basics, webinar 6: Messa in esercizio (20)
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
During this talk we'll navigate through a customer's journey as they migrate an existing MongoDB deployment to MongoDB Atlas. While the migration itself can be as simple as a few clicks, the prep/post effort requires due diligence to ensure a smooth transfer. We'll cover these steps in detail and provide best practices. In addition, we’ll provide an overview of what to consider when migrating other cloud data stores, traditional databases and MongoDB imitations to MongoDB Atlas.
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
MongoDB Kubernetes operator and MongoDB Open Service Broker are ready for production operations. Learn about how MongoDB can be used with the most popular container orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications. A demo will show you how easy it is to enable MongoDB clusters as an External Service using the Open Service Broker API for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
Humana, like many companies, is tackling the challenge of creating real-time insights from data that is diverse and rapidly changing. This is our journey of how we used MongoDB to combined traditional batch approaches with streaming technologies to provide continues alerting capabilities from real-time data streams.
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
Time series data is increasingly at the heart of modern applications - think IoT, stock trading, clickstreams, social media, and more. With the move from batch to real time systems, the efficient capture and analysis of time series data can enable organizations to better detect and respond to events ahead of their competitors or to improve operational efficiency to reduce cost and risk. Working with time series data is often different from regular application data, and there are best practices you should observe.
This talk covers:
Common components of an IoT solution
The challenges involved with managing time-series data in IoT applications
Different schema designs, and how these affect memory and disk utilization – two critical factors in application performance.
How to query, analyze and present IoT time-series data using MongoDB Compass and MongoDB Charts
At the end of the session, you will have a better understanding of key best practices in managing IoT time-series data with MongoDB.
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
Our clients have unique use cases and data patterns that mandate the choice of a particular strategy. To implement these strategies, it is mandatory that we unlearn a lot of relational concepts while designing and rapidly developing efficient applications on NoSQL. In this session, we will talk about some of our client use cases, the strategies we have adopted, and the features of MongoDB that assisted in implementing these strategies.
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
Encryption is not a new concept to MongoDB. Encryption may occur in-transit (with TLS) and at-rest (with the encrypted storage engine). But MongoDB 4.2 introduces support for Client Side Encryption, ensuring the most sensitive data is encrypted before ever leaving the client application. Even full access to your MongoDB servers is not enough to decrypt this data. And better yet, Client Side Encryption can be enabled at the "flick of a switch".
This session covers using Client Side Encryption in your applications. This includes the necessary setup, how to encrypt data without sacrificing queryability, and what trade-offs to expect.
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
MongoDB Kubernetes operator is ready for prime-time. Learn about how MongoDB can be used with most popular orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications.
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
When you need to model data, is your first instinct to start breaking it down into rows and columns? Mine used to be too. When you want to develop apps in a modern, agile way, NoSQL databases can be the best option. Come to this talk to learn how to take advantage of all that NoSQL databases have to offer and discover the benefits of changing your mindset from the legacy, tabular way of modeling data. We’ll compare and contrast the terms and concepts in SQL databases and MongoDB, explain the benefits of using MongoDB compared to SQL databases, and walk through data modeling basics so you feel confident as you begin using MongoDB.
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
Query performance should be the unsung hero of an application, but without proper configuration, can become a constant headache. When used properly, MongoDB provides extremely powerful querying capabilities. In this session, we'll discuss concepts like equality, sort, range, managing query predicates versus sequential predicates, and best practices to building multikey indexes.
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
MongoDB Atlas Data Lake is a new service offered by MongoDB Atlas. Many organizations store long term, archival data in cost-effective storage like S3, GCP, and Azure Blobs. However, many of them do not have robust systems or tools to effectively utilize large amounts of data to inform decision making. MongoDB Atlas Data Lake is a service allowing organizations to analyze their long-term data to discover a wealth of information about their business.
This session will take a deep dive into the features that are currently available in MongoDB Atlas Data Lake and how they are implemented. In addition, we'll discuss future plans and opportunities and offer ample Q&A time with the engineers on the project.
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
Virtual assistants are becoming the new norm when it comes to daily life, with Amazon’s Alexa being the leader in the space. As a developer, not only do you need to make web and mobile compliant applications, but you need to be able to support virtual assistants like Alexa. However, the process isn’t quite the same between the platforms.
How do you handle requests? Where do you store your data and work with it to create meaningful responses with little delay? How much of your code needs to change between platforms?
In this session we’ll see how to design and develop applications known as Skills for Amazon Alexa powered devices using the Go programming language and MongoDB.
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
aux Core Data, appréciée par des centaines de milliers de développeurs. Apprenez ce qui rend Realm spécial et comment il peut être utilisé pour créer de meilleures applications plus rapidement.
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
Il n’a jamais été aussi facile de commander en ligne et de se faire livrer en moins de 48h très souvent gratuitement. Cette simplicité d’usage cache un marché complexe de plus de 8000 milliards de $.
La data est bien connu du monde de la Supply Chain (itinéraires, informations sur les marchandises, douanes,…), mais la valeur de ces données opérationnelles reste peu exploitée. En alliant expertise métier et Data Science, Upply redéfinit les fondamentaux de la Supply Chain en proposant à chacun des acteurs de surmonter la volatilité et l’inefficacité du marché.
3. Riassunto
• Webinar 1 – Introduzione a NoSQL
– I diversi tipi di database NoSQL
– MongoDB come document database
• Webinar 2 – La nostra prima applicazione
– Creazione di database e collectione
– CRUD, indici e explain
• Webinar 3 – Schema Design
– Schema dinamico
– Approcci all’Embedding
• Webinar 4 –Indici Full-Text e geospaziali
• Webinar 5 – Aggregation Framework
4. Perché la Replicazione?
• Quanto spesso avete avuto dei fermi di server?
• Quanti sono stati svegliati dal sonno per fare un failover?
• Quanti hanno avuto problemi a causa della rete lenta?
• Differenziare il workload
– Normal processing
– Analytics
13. Quando Considerare lo Sharding?
• Quando una risorsa specifica diventa un collo di bottoglia su
una macchina singola o su un replica set
• RAM
• Disk IO
• Storage
• Concurrency
16. Partizionamento
• L’utente definisce una chiave di sharding
• La chiave di sharding definisce un intervallo di dati
• Lo spazio delle chiavi è come I punti di una linea
• Un intervallo è un segmento di quella linea
17. Distribuzione dei Dati
• Inizialmente 1 chunk
• Gradezza dei chunk di default: 64MB
• MongoDB divide e migra i chunk automaticamente
18. Che cosa è un Shard?
• Shard è un elemento del cluster
• Shard può essere un singolo mongod o un replica set
19. Meta Data Storage
• Config Server
– Memorizza gli intervalli dei chunk e il posizionamento
– Può avere 1 o 3 membri (in produzione sono 3)
– E’- un replica set
20. Indirizzare e Gestire I Dati
• Mongos
– Si comporta come un router/balancer
– Non ha dati locali (che persistono nel database di config)
– Possono essercene 1 o tanti
23. Tools & Tecniche
• mongodump & mongorestore
• Copia del Files system
• Files system snapshot
• Non usate mongoimport & mongoexport!
//mongodump Example
server> mongodump -h myhost -d cms -c articles
24. Mongodump
• Crea un .bson file
– (e un file json di metadati)
– Sulla rete o sul file system.
>mongodump –h myhost -d cms -c articles
connected to: myhost
2014-04-16T12:54:56.758+0100 DATABASE: cms to dump/cms
2014-04-16T12:54:56.759+0100 cms.articles to
dump/cms/articles.bson
2014-04-16T12:54:56.816+0100 7 documents
2014-04-16T12:54:56.817+0100 Metadata for cms.articles to
dump/cms/articles.metadata.json
25. Da dove posso fare i backup?
• Sulla rete può introdurre dei page faults
• I nodi Primary e Secondary sono identici
– A parte la latenza
• Usate secondary per backup
– Oppure hidden secondary
mongodump
26. Consistenza dei Dati di Backup
• I dati potenzialmente possono essere inconsistenti
– mongodump legge i file del database sequenziale
– Per esempio, fate update di oggetti uno prima e uno dopo il backup
• Due opzioni per mantenere l’integrità dei dati
– Usate il parametro –oplog switch sul mongodump.
– Lockate il database in scrittura durante il backup
27. Esempi di --oplog e --oplogReplay
//Backup with –oplog
//--oplog richiede di effettuare il backup di tutti I
database/collection di quel server
>mongodump –h myhost –oplog
//Per fare il restore usate mongorestore con il parametro
--oplogRelay switch
>mongorestore –h myhost –oplogReplay ./cms/dump
28. Lock del Database in Scrittura
• Sia per I nodi primari che secondari
– Fa il flish dei dati su disco e fa il lock di tutte le scritture
– Usate db.fsyncLock() & db.fsyncUnlock()
//use fsync and lock from the mongo shell
> db.fsyncLock()
{
"info" : "now locked against writes, use db.fsyncUnlock() to
unlock",
"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
"ok" : 1
}
//Perform file system backup… then unlock with… unlocked
secondaries will catchup.
> db.fsyncUnlock()
{ "ok" : 1, "info" : "unlock completed" }
29. Backup a livello di Storage-level
• Copiate I file della vostra directory dei dati (e.g. /data/db)
– Da usare assieme a fsync+lock
• File system or block storage snapshot
– Ad esempio snapshot LVM
• Metodo più veloce di backup/restore
• Considerazioni
– Journal, Consistenza
– Granularità del Backup (whole file system back up?)
– Esperienza di Ops
– Dove memorizzare I backup o gli snapshopt?
30. Backup di un Cluster Sharded
• Fermate il processo di bilanciamento
– Aspettate le fine delle migrazioni in corso
– Fate il backup di ogni shard
– Non dimenticate di fare il backup del config!
//Switch the balancer off…
mongos> sh.setBalancerState(false)
//Check to see if the balance is currently doing any migrations.
mongos> sh.isBalancerRunning()
31. Recovery
• In caso di una failure
– Restore dal backup
• Snapshot / mongodump etc.
• Restart del nodo
– Re-sync da un altro nodo
• I file possono essere copiato da un membro di un replica set all’altro.
• O I dati se non sono troppo grandi possono essere sincronizzati via network
39. Definite il livello di log
• Aumentate il livello di log
– Per vedere maggior informazioni sulle performance delle operazioni
– Efficienza degli indici
– Spostamenti di documenti
– Tempo di esecuzione delle operazioni
//Increase log level verbosity from the shell
> db.adminCommand( { setParameter:1, logLevel:1 } )
{ "was" : 0, "ok" : 1 }
>
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
40. Esempio di output del Log
• Problemi di Pinpoint
– In questo esempio possiamo vedere che c’è stato uno spostamento del
documento
2014-05-02T13:55:02.047+0100 [conn7] update cms.articles query: { _id:
ObjectId('532198379fb5ba99a6bd4063') } update: { $inc: { comment_count: 1 }, $push: {
comments: { $each: [ { date: new Date(1399035302013), text: "Data locality provides an
amazing performance boost over relational" } ], $slice: -10, $sort: { date: 1 } } } }
nscanned:1 nscannedObjects:1 nmoved:1 nMatched:1 nModified:1 keyUpdates:0
numYields:0 locks(micros) w:33529 33ms
44. Tool del Sistema Operativo
• iostat
– Utilizzo dell’IO dei dischi
– Controllate la % di utilizzo del disco
– Un’alta percentuale
• Se è sostenuta, dovresti aumentare l’IO del disco
– Sharding
– RAID 1+0
– Partizionare su dischi differenti
– Provisioned IOPS
prompt> iostat –xmt 1
45. Sommario
• Dimensione in modo opportuno sul vostro working set
• Shard solo quando ne avete bisogno, non prima
• Attenzione a scegliere la shard key!
• Scegliere la soluzione di backup giusta per voi
• Attenzione al livello di integrità dei dati richiesto
• Recovery
– Dal Backup o da un altro secondary
• Cloud/Ops Manager Backup disponibile
Basic explanation
2 or more nodes form the set
Quorum
Initialize -> Election
Primary + data replication from primary to secondary
Primary down/network failure
Automatic election of new primary if majority exists
New primary elected
Replication established from new primary
Down node comes up
Rejoins sets
Recovery and then secondary
Indexes should be contained in working set.
From mainframes, to RAC Oracle servers... People solved problems by adding more resources to a single machine.
Large scale operation can be combined with high performance on commodity hardware through horizontal scaling
Build
- Document oriented database maps perfectly to object oriented languages
Scale
- MongoDB presents clear path to scalability that isn't ops intensive
- Provides same interface for sharded cluster as single instance
mongodump -d cms -c articles
connected to: myhost
2014-04-16T12:54:56.758+0100 DATABASE: cms to dump/cms
2014-04-16T12:54:56.759+0100 cms.articles to dump/cms/articles.bson
2014-04-16T12:54:56.816+0100 7 documents
2014-04-16T12:54:56.817+0100 Metadata for cms.articles to dump/cms/articles.metadata.json
mongodump -d cms -c articles
connected to: myhost
2014-04-16T12:54:56.758+0100 DATABASE: cms to dump/cms
2014-04-16T12:54:56.759+0100 cms.articles to dump/cms/articles.bson
2014-04-16T12:54:56.816+0100 7 documents
2014-04-16T12:54:56.817+0100 Metadata for cms.articles to dump/cms/articles.metadata.json