Ciao! Io sono Alberto Olla, lo sviluppatore di mongodbitalia.it, questo è un corso base totalmente gratuito rivolto a tutte quelle persone che vogliono imparare ad utilizzare un database no-sql come MongoDB.
Trovi i link per scaricare le slide in PDF, assieme alla lista delle altre lezioni, in questa pagina http://university.mongodbitalia.it/
Se hai problemi o dubbi con questa lezione puoi lasciare un commento qui sotto oppure andare sul sito mongodbitalia.it, lì troverai il forum e ci sarà sicuramente qualcuno che ti saprà aiutare :)
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.
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 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.
Ciao! Io sono Alberto Olla, lo sviluppatore di mongodbitalia.it, questo è un corso base totalmente gratuito rivolto a tutte quelle persone che vogliono imparare ad utilizzare un database no-sql come MongoDB.
Trovi i link per scaricare le slide in PDF, assieme alla lista delle altre lezioni, in questa pagina http://university.mongodbitalia.it/
Se hai problemi o dubbi con questa lezione puoi lasciare un commento qui sotto oppure andare sul sito mongodbitalia.it, lì troverai il forum e ci sarà sicuramente qualcuno che ti saprà aiutare :)
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.
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 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.
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDBLuca Marignati
The project concerned the processing and treatment of twitter messages in order to highlight the most frequent words in the various feelings (anger, anticipation, disgust, fear, joy, sadness, surprise, trust) in appropriate WORDCLOUD.
Furthermore, twitter messages have been compared with studies by psychologists regarding different lexicons in order to highlight the frequency of use of lexicon words in twitter messages.
Finally, the two architectures were compared: MySQL and MongoDB. MongoDB, in particular, is suitable for BigData.
Language: Python
DB: MySQL, MongoDB.
Back to Basics, webinar 6: Messa in esercizioMongoDB
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.
This document discusses how to call JavaScript, JQuery, and Angular $scope functions from the browser console. It provides an example Angular application with different functions and demonstrates calling each from the console. To call a JavaScript function, enter its name directly. To call a JQuery function, use $().functionName(). To call an Angular $scope function, use angular.element(element).scope().functionName(), where element is the DOM element with the ng-controller.
NoSQL, No Worries: Vecchi Problemi, Nuove SoluzioniSteve Maraspin
Slide del talk sulle basi di dati non relazionali (NoSQL) al Codemotion di Venezia del 17/11/2012. Presentato un caso di studio di architettura basata su CouchDB, MongoDB, Redis e OrientDB, oltre che diversi concetti relativi ai datastore NoSQL.
Take a look at the real-time streaming datasets in Power BI. Covering what is the streaming API, how to push data to it and then display that in dashboards and reports. A look at sample data that is well suited to real-time display.
Data Analytics and Distribution with Power BIdesertislesql
Learn how to apply predictive data forecasting, natural language Q&A, and distribute updated reports to tablets and phones with Power BI. By exploring the components provided outside of Excel, including modeling, dissemination and data availability, report distribution and the data refresh capabilities which make this all possible, you will get a better understanding of what capabilities exist to provide better access and analytics to your data with Power BI.
SQL Server is really the brain of SharePoint; in this session, Serge Luca (SharePoint MVP) and Isabelle Van Campenhoudt (SQL Server MVP) will give you an overview of what any SharePoint consultant and DBA need to know regarding business continuity in SharePoint 2013 & 2016. Of course SQL Server plays a major role in this story; the sessions will be animated with real & live demos.
Topics covered:
Concepts of business continuity
SharePoint and Business continuity
Patterns and anti-patterns
SharePoint and SQL Server Always on Availability groups : what works, what doesn’t work (demos)
Lessons learned from real projects
SharePoint 2016 Min Role and Business continuity
Microsoft PowerPivot & Power View in Excel 2013Mark Ginnebaugh
PowerPivot is an add-in for Excel that empowers business users to create their own tabular data models. Power View is also available in the Excel 2013 client. It was first released as a server-based report authoring tool with SQL Server 2012 and is available in SharePoint Server 2010 Enterprise.
You'll learn:
* How to work with the add-in in the Excel 2013 client
* How compelling interactive reports can be created quickly and easily
* The new PowerPivot features - including pie charts, maps, KPIs, hierarchies, drill down/drill up, and report styles
Peter Myers specializes in Microsoft Business Intelligence, and provides mentoring, technical training and course content authoring for SQL Server and Office. Peter has current SQL Server and MCT certifications, and has been a Microsoft MVP (Most Valued Professional) since 2007.
This slide deck explains in a comprehensive way what Power BI is, how the Power BI architecture looks like and what the usage scenarios are for using Power BI and related tools
BI: new of the buzz words that everyone is talking about but what is it? How can it be used to make a impact in my organization? How do I get started? In this session, we will talk about it and show you a live example in Office 365's SharePoint Online.
Objectives/Outcomes: In this session, participants will learn:
1. What is BI
2. What is Microsoft's Power BI
3. Case Studies
4. How can I get it
Power BI Create lightning fast dashboard with power bi & Its Components Vishal Pawar
Every data has meaning, but we had limitation to use data through big long running process Extraction, Transformation and Representation, but now Power BI solves your problem to kick start having Data extraction in Power Query, Data Modelling and Transformation in Power Pivot and reach data representation using power view and power map on demand any nearby device on your fingertips, You will learn all latest and greatest features of Power BI.
Technology is designed for humans, by humans. See how the era of human technology will transform both business and society in trend 4 of the Tech Vision 2017.
Presented to The Ottawa IT Community Meetup Group (Ottawa SQL - PASS Chapter) on Thursday September 19
Powerful Self-Service BI in Excel 2013 - Data search and discovery with Power Query (formerly "Data Explorer"), analyzing and modeling with Power Pivot, visualizing and exploring with Power View and Power Map (formerly codename "GeoFlow")
In the ecosystem-driven digital economy, the rules are still waiting to be written. Leaders must work to shape the digital markets of tomorrow. Grab your guidebook in trend 5 of the 2017 Technology Vision.
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&AVishal Pawar
The document appears to be a slide deck presentation about Microsoft Power BI. It includes slides on Power Query, Power Pivot, Power View and Power Map. The presentation provides overviews of these tools, describes their capabilities and functionality, and includes demos of how to use them. It discusses how Power BI allows users to discover, visualize and share insights from data.
Power BI is a self-service business intelligence tool that allows users to analyze data and create reports and visualizations. It includes components for data discovery, analysis, and visualization both on-premises using Excel and in the cloud using the Power BI service. The tool integrates with Office 365 and allows users to discover, visualize, and share insights from data.
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDBLuca Marignati
The project concerned the processing and treatment of twitter messages in order to highlight the most frequent words in the various feelings (anger, anticipation, disgust, fear, joy, sadness, surprise, trust) in appropriate WORDCLOUD.
Furthermore, twitter messages have been compared with studies by psychologists regarding different lexicons in order to highlight the frequency of use of lexicon words in twitter messages.
Finally, the two architectures were compared: MySQL and MongoDB. MongoDB, in particular, is suitable for BigData.
Language: Python
DB: MySQL, MongoDB.
Back to Basics, webinar 6: Messa in esercizioMongoDB
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.
This document discusses how to call JavaScript, JQuery, and Angular $scope functions from the browser console. It provides an example Angular application with different functions and demonstrates calling each from the console. To call a JavaScript function, enter its name directly. To call a JQuery function, use $().functionName(). To call an Angular $scope function, use angular.element(element).scope().functionName(), where element is the DOM element with the ng-controller.
NoSQL, No Worries: Vecchi Problemi, Nuove SoluzioniSteve Maraspin
Slide del talk sulle basi di dati non relazionali (NoSQL) al Codemotion di Venezia del 17/11/2012. Presentato un caso di studio di architettura basata su CouchDB, MongoDB, Redis e OrientDB, oltre che diversi concetti relativi ai datastore NoSQL.
Take a look at the real-time streaming datasets in Power BI. Covering what is the streaming API, how to push data to it and then display that in dashboards and reports. A look at sample data that is well suited to real-time display.
Data Analytics and Distribution with Power BIdesertislesql
Learn how to apply predictive data forecasting, natural language Q&A, and distribute updated reports to tablets and phones with Power BI. By exploring the components provided outside of Excel, including modeling, dissemination and data availability, report distribution and the data refresh capabilities which make this all possible, you will get a better understanding of what capabilities exist to provide better access and analytics to your data with Power BI.
SQL Server is really the brain of SharePoint; in this session, Serge Luca (SharePoint MVP) and Isabelle Van Campenhoudt (SQL Server MVP) will give you an overview of what any SharePoint consultant and DBA need to know regarding business continuity in SharePoint 2013 & 2016. Of course SQL Server plays a major role in this story; the sessions will be animated with real & live demos.
Topics covered:
Concepts of business continuity
SharePoint and Business continuity
Patterns and anti-patterns
SharePoint and SQL Server Always on Availability groups : what works, what doesn’t work (demos)
Lessons learned from real projects
SharePoint 2016 Min Role and Business continuity
Microsoft PowerPivot & Power View in Excel 2013Mark Ginnebaugh
PowerPivot is an add-in for Excel that empowers business users to create their own tabular data models. Power View is also available in the Excel 2013 client. It was first released as a server-based report authoring tool with SQL Server 2012 and is available in SharePoint Server 2010 Enterprise.
You'll learn:
* How to work with the add-in in the Excel 2013 client
* How compelling interactive reports can be created quickly and easily
* The new PowerPivot features - including pie charts, maps, KPIs, hierarchies, drill down/drill up, and report styles
Peter Myers specializes in Microsoft Business Intelligence, and provides mentoring, technical training and course content authoring for SQL Server and Office. Peter has current SQL Server and MCT certifications, and has been a Microsoft MVP (Most Valued Professional) since 2007.
This slide deck explains in a comprehensive way what Power BI is, how the Power BI architecture looks like and what the usage scenarios are for using Power BI and related tools
BI: new of the buzz words that everyone is talking about but what is it? How can it be used to make a impact in my organization? How do I get started? In this session, we will talk about it and show you a live example in Office 365's SharePoint Online.
Objectives/Outcomes: In this session, participants will learn:
1. What is BI
2. What is Microsoft's Power BI
3. Case Studies
4. How can I get it
Power BI Create lightning fast dashboard with power bi & Its Components Vishal Pawar
Every data has meaning, but we had limitation to use data through big long running process Extraction, Transformation and Representation, but now Power BI solves your problem to kick start having Data extraction in Power Query, Data Modelling and Transformation in Power Pivot and reach data representation using power view and power map on demand any nearby device on your fingertips, You will learn all latest and greatest features of Power BI.
Technology is designed for humans, by humans. See how the era of human technology will transform both business and society in trend 4 of the Tech Vision 2017.
Presented to The Ottawa IT Community Meetup Group (Ottawa SQL - PASS Chapter) on Thursday September 19
Powerful Self-Service BI in Excel 2013 - Data search and discovery with Power Query (formerly "Data Explorer"), analyzing and modeling with Power Pivot, visualizing and exploring with Power View and Power Map (formerly codename "GeoFlow")
In the ecosystem-driven digital economy, the rules are still waiting to be written. Leaders must work to shape the digital markets of tomorrow. Grab your guidebook in trend 5 of the 2017 Technology Vision.
Learn Power BI with Power Pivot, Power Query, Power View, Power Map and Q&AVishal Pawar
The document appears to be a slide deck presentation about Microsoft Power BI. It includes slides on Power Query, Power Pivot, Power View and Power Map. The presentation provides overviews of these tools, describes their capabilities and functionality, and includes demos of how to use them. It discusses how Power BI allows users to discover, visualize and share insights from data.
Power BI is a self-service business intelligence tool that allows users to analyze data and create reports and visualizations. It includes components for data discovery, analysis, and visualization both on-premises using Excel and in the cloud using the Power BI service. The tool integrates with Office 365 and allows users to discover, visualize, and share insights from data.
In 2016, cloud technologies went mainstream. But with maturity came the realization that moving to the cloud doesn’t happen overnight. CIOs are prioritizing hosted computing and cloud data storage. But they’re approaching the shift as a gradual, multi-year journey.
Many startups and small businesses will continue to go all-in on cloud. But enterprises will find success in a slow but steady move from on-prem. Hybrid ecosystems—of data, software, and infrastructure—will be the reality for most established organizations.
As this shift to cloud progresses where are things are headed? This paper highlights the top cloud trends for 2017.
Building your role in digital ecosystems is the key to unlocking future growth. Digital platforms are the gateway to new digital ecosystems. See how will you can use them to grow in trend 2 of Tech Vision 2017.
MongoDB User Group Padova - Overviews iniziale su MongoDBStefano Dindo
MongoDB è un database non relazionale, orientato ai documenti. Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.
Lo scopo del MongoDB User Group Padova è quello di condividere esperienze sulla tecnologia MongoDB.
Questa presentazione, usata durante il primo evento dello User Group, è stata usata per introdurre i partecipanti sulle procedure di installazione ed i concetti di base su MongoDB.
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
Community Tour 2010 - CMS Edition
DotNetMarche
Slides relative alla seconda sessione su Orchard: principi di base sulla customizzazione di temi e layout.
Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
Sessione tenuta alla Blazor Conference 2021 del 13.04.2021.
(https://www.aspitalia.com/eventi/87/Blazor-Conference-2021-Online.aspx)
Una sessione dove verranno presentati una serie di tips per migliorare e facilitare la scrittura delle nostre applicazioni: da codice html dinamico, al miglioramento ed organizzazione dello stesso. Il tutto per poter sfruttare ogni bit che Blazor può dare. Dal RenderFragment ai Generics. Consigli che arrivano da esperienze reali
Codice: https://github.com/andreadottor/XE.Dottor.Demo.BlazorWebApp
MongoDB 3.6 ti permette di *muoverti alla stessa velocità dei tuoi dati*, trasformando analisti, sviluppatori e sistemisti in un motore di crescita per il business. Con MongoDB 3.6, le applicazioni arrivano prima sul mercato, sono affidabili e sicure nell'esecuzione in scala, offrono intelligence e informazioni utili in tempo reale. https://www.mongodb.com/mongodb-3.6
Simple Cloud API: accesso semplificato al cloud computingFrancesca1980
In questa sessione verrà presentato il progetto open source Simple Cloud API per l'accesso semplificato ai servizi di cloud computing. Il progetto, nato dalla volontà di Zend Technologies, IBM e Microsoft, offre un API semplificata per l'accesso a differenti servizi di cloud computing. I servizi attualmente implementati sono di File Storage, Document Storage e Simple Queue sui sistemi cloud di Amazon, Windows Azure e Nirvanix (in futuro anche Rackspace e GoGrid). Nella presentazione, dopo una breve introduzione ai servizi di cloud computing ed alla loro rilevanza dal punto di vista dello sviluppo delle applicazioni web, verranno presentati degli esempi in PHP per l'utilizzo del Simple Cloud API
Evento XeDotNet sui Source Generators, una recente funzionalità contenuta nell’SDK del compilatore .NET ("Roslyn”), che consentono agli sviluppatori C# di ispezionare il codice mentre viene compilato e generare al volo nuovi file sorgente C# aggiunti alla compilazione stessa. Vedremo come usarli e quanto possono essere utili nelle nostre applicazioni
How create a single page apps using html5 and javascript Stefano Marchisio
Create a html5/javascript apps with mvc/ajax using knockout.js/mvvm. Javascript to IQueryable is a framework that allows you to write a simple query in javascript client side and then execute it server side with EntityFramework or a linq provider that implement IQueryable. On the server is used "Dynamic Expressions and Queries in LINQ by Microsoft" to compose dynamically your query. In this way you can create a grid with filter, paging and sort functions. There is also support for: mvc3 unobtrusive jquery validation and jquery mobile/phonegap. - http://Javascriptiqueryable.codeplex.com - http://www.youtube.com/watch?v=qjwyKwsXHKs - http://www.linqitalia.com/articoli/entity-framework/sfruttare-javascript-eseguire-query-linq-server-tramite-dynamic-iqueryable.aspx
Similar to Session 02 - schema design e architettura (20)
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
This presentation discusses migrating data from other data stores to MongoDB Atlas. It begins by explaining why MongoDB and Atlas are good choices for data management. Several preparation steps are covered, including sizing the target Atlas cluster, increasing the source oplog, and testing connectivity. Live migration, mongomirror, and dump/restore options are presented for migrating between replicasets or sharded clusters. Post-migration steps like monitoring and backups are also discussed. Finally, migrating from other data stores like AWS DocumentDB, Azure CosmosDB, DynamoDB, and relational databases are briefly covered.
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
The document discusses guidelines for ordering fields in compound indexes to optimize query performance. It recommends the E-S-R approach: placing equality fields first, followed by sort fields, and range fields last. This allows indexes to leverage equality matches, provide non-blocking sorts, and minimize scanning. Examples show how indexes ordered by these guidelines can support queries more efficiently by narrowing the search bounds.
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
The document describes a methodology for data modeling with MongoDB. It begins by recognizing the differences between document and tabular databases, then outlines a three step methodology: 1) describe the workload by listing queries, 2) identify and model relationships between entities, and 3) apply relevant patterns when modeling for MongoDB. The document uses examples around modeling a coffee shop franchise to illustrate modeling approaches and techniques.
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é.
2. Agenda
• Lavorare con I documenti
• Requisiti dell’Applicazione
• Iterazione di Schema design
• Architettura dell’applicazione di esempio ‘myCMS’ e
frammenti di codice
• ‘Genius Bar’ Q&Acon il team italiano di MongoDB
5. Documento di Esempio
{
‘_id’ : ObjectId(..),
‘title’: ‘Schema design in MongoDB’,
‘author’: ‘massimobrignoli’,
‘text’: ‘I dati in MongoDB hanno uno schema flessibile..’,
‘date’ : ISODate(..),
‘tags’: [‘MongoDB’, ‘schema’],
‘comments’: [ { ‘text ‘ : ‘Molto utile!!.’, ts: ISODate(..) } ]
}
6. Requisiti del ‘myCMS’
• E’ composto da diversi tipi di articoli categorizzati.
• Gli Utenti possono registrarsi come memobri, fare login,
modificare il loro profilo e fare logout.
• Gli Utenti possono pubblicare nuovi articoli e commentare gli
articoli.
• Il sistema raccoglie e analizza statistiche di utilizzo –
pubblicazione di articoli, visite e interazioni – da pubblicare sul
sito o per gli admin.
7. Le Entità del ‘myCMS’
• Articoli
• Diversi tipi: blog, gallerie di immagini, sondaggi
• Contengono file multimediali (immagini, video)
• Sono taggati
• Utenti
• Ognuno avrà un profilo
• Interazioni degli Utenti
• Commenti
• Visite
13. Modellazione dei commenti (1)
• Si possono fare 2 collections – articles e
comments
• Usare una reference (i.e. foreign key) per collegarli
• Ma... saranno necessarie N+1 query per restituire
l’articolo e i commenti (sono N è il # di commenti){
‘_id’: ObjectId(..),
‘title’: ‘Schema design in MongoDB’,
‘author’: ‘massimobrignoli’,
‘date’: ISODate(..),
‘tags’: [‘MongoDB’, ‘schema’],
‘section’: ‘schema’,
‘slug’: ‘schema-design-in-mongodb’,
‘comments’: [ ObjectId(..),…]
}
{ ‘_id’: ObjectId(..),
‘article_id’: 1,
‘text’: ‘Un grande articolo, mi ha
aiutato a capire lo schema
design’,
‘date’: ISODate(..),,
‘author’: ‘johnsmith’
}
14. Modellazione dei commenti (2)
• Una sola collection degli
articoli. I commenti sono
incapsulati.
• Pregi
• Singola query, il documento è
disegnato per l’accesso il
lettura
• Localizzazione dei dato (disco,
shard)
• Difetti
• L’array dei commenti e’ senza
limiti. I documenti possono
crescere in dimensione oltre I
16MB
{
‘_id’: ObjectId(..),
‘title’: ‘Schema design in MongoDB’,
‘author’: ‘massimobrignoli’,
‘date’: ISODate(..),
‘tags’: [‘MongoDB’, ‘schema’],
…
‘comments’: [
{
‘text’: ‘Un grande articolo,
mi ha aiutatoa capire lo
schema design’,
‘date’: ISODate(..),
‘author’: ‘johnsmith’
},
…
]
}
15. Modellazione dei commenti (3)
• Un’altra opzione: un ibrido delle proposte (1)
e (2): incapsulare i top commenti (per data o
popolarità) nel documento dell’articolo.
• Array dei commenti di grandezza fissa (feature 2.4)
• Tutti gli altri commenti sono scritti in una collection di
commenti in gruppi
• Vantaggi:
– Il documento ha la dimensione quasi fissata => meno
spostamenti sul disco
– Una singola query restituisce tutto il documento
– Rimane tutta la storia dei commenti con possibilità di analisi
16. Modellazione dei commenti (3)
{
‘_id’: ObjectId(..),
‘title’: ‘Schemadesignin MongoDB’,
‘author’: ‘mattbates’,
‘date’: ISODate(..),
‘tags’:[‘MongoDB’,‘schema’],
…
‘comments_count’:45,
‘comments_pages’: 1
‘comments’: [
{
‘text’: ‘Agreat article, helped me
understandschema design’,
‘date’: ISODate(..),
‘author’: ‘johnsmith’
},
…
]
}
Numero totale dei
commenti
• Intero aggiornatodall’operazione
diupdatequandoI commenti
sonoaggiunti/rimossi
Numero di pagine
Intero aggiornatodall’operazionedi
updatequandoI commentisono
aggiunti/rimossi
Array a dimensione fissa
per i commenti:
• I10 piùrecenti
• Ordinatoper data in fase di
inserimento
17. Modellazione dei commenti (3)
{
‘_id’: ObjectId(..),
‘article_id’: ObjectId(..),
‘page’: 1,
‘count’: 42
‘comments’: [
{
‘text’: ‘Agreat article, helped me
understand schema design’,
‘date’: ISODate(..),
‘author’: ‘johnsmith’
},
…
}
Un gruppo di commenti
contiene fino a 100
commenti
E’un array di 100 commenti,che
sono subdocumenti
18. Modellazione delle interazioni
• Interazioni
– Visualizzazioni degli articoli
– Commenti
– (Condivisione sui social media)
• Requisiti
– Time serie
– Pre-aggregazione in preparazione della parte analitica
19. Modellazione delle interazioni
• Documento per articolo per
giorno: raggruppamento
• Contatore giornaliero e contatori
nei sotto-documenti orari delle
interazioni
• Array a dimensione fissa (24 ore)
• Basta una singola query per
avere tutte le interazioni di un
articolo in un giorno.
{
‘_id’: ObjectId(..),
‘article_id’: ObjectId(..),
‘section’: ‘schema’,
‘date’: ISODate(..),
‘daily’: { ‘views’: 45, ‘comments’:
150 }
‘hours’: {
0 : { ‘views’: 10 },
1 : { ‘views’: 2 },
…
23 : { ‘comments’: 14, ‘views’: 10
}
}
}
20. JSON e RESTful API
Client-side
JSON
(eg AngularJS) (BSON)
Le applicazioni reali non sono fatte in una shell – Costruiamo
un’interfaccia RESTful.
Pymongo
driver
Python web
app
HTTP(S) REST
Gli esempi che seguiranno: Python RESTful API usando Flask
microframework
21. myCMS REST punti di accesso
Method URI Action
GET /articles Restituisce tutti gli articoli
GET /articles-by-tag/[tag] Restituisce tutti gli articoli con una tag
GET /articles/[article_id] Restituisce un articolo tramite article_id
POST /articles Aggiunge un nuovo articolo
GET /articles/[article_id]/comments Restituisce tutti i commenti di un
articolo tramite article_id
POST /articles/[article_id]/comments Aggiunge un nuovo commento a un
articolo
POST /users Registra un utente
GET /users/[username] Restituisce il profilo di un utente
PUT /users/[username] Aggiorna il profilo di un utente
22. $ git clone http://www.github.com/mattbates/mycms-mongodb
$ cd mycms-mongodb
$ virtualenv venv
$ source venv/bin/activate
$ pip install –r requirements.txt
$ mkdir –p data/db
$ mongod --dbpath=data/db –fork --logpath=mongod.log
$ python web.py
($ deactivate)
Partiamo con lo scheletro del
codice
23. @app.route('/cms/api/v1.0/articles', methods=['GET'])
def get_articles():
"""Retrieves all articles in the collection
sorted by date
"""
# query all articles and return a cursor sorted by date
cur = db['articles'].find().sort({'date’:1})
if not cur:
abort(400)
# iterate the cursor and add docs to a dict
articles = [article for article in cur]
return jsonify({'articles' : json.dumps(articles, default=json_util.default)})
Metodi dell’interfaccia RESTful in
Python + Flask
24. @app.route('/cms/api/v1.0/articles/<string:article_id>/comments', methods = ['POST'])
def add_comment(article_id):
"""Adds a comment to the specified article and a
bucket, as well as updating a view counter
"””
…
page_id = article['last_comment_id'] // 100
…
# push the comment to the latest bucket and $inc the count
page = db['comments'].find_and_modify(
{ 'article_id' : ObjectId(article_id),
'page' : page_id},
{ '$inc' : { 'count' :1 },
'$push' : {
'comments' : comment } },
fields= {'count':1},
upsert=True,
new=True)
Metodi dell’interfaccia RESTful in
Python + Flask
25. # $inc the page count if bucket size (100) is exceeded
if page['count'] > 100:
db.articles.update(
{ '_id' : article_id,
'comments_pages': article['comments_pages'] },
{ '$inc': { 'comments_pages': 1 } } )
# let's also add to the article itself
# most recent 10 comments only
res = db['articles'].update(
{'_id' : ObjectId(article_id)},
{'$push' : {'comments' : { '$each' : [comment],
'$sort' : {’date' : 1 },
'$slice' : -10}},
'$inc' : {'comment_count' : 1}})
…
Metodi dell’interfaccia RESTful in
Python + Flask
26. def add_interaction(article_id, type):
"""Record the interaction (view/comment) for the
specified article into the daily bucket and
update an hourly counter
"""
ts = datetime.datetime.utcnow()
# $inc daily and hourly view counters in day/article stats bucket
# note the unacknowledged w=0 write concern for performance
db['interactions'].update(
{ 'article_id' : ObjectId(article_id),
'date' : datetime.datetime(ts.year, ts.month, ts.day)},
{ '$inc' : {
'daily.views' : 1,
'hourly.{}.{}'.format(type, ts.hour) : 1
}},
upsert=True,
w=0)
Metodi dell’interfaccia RESTful in
Python + Flask
27. $ curl -i http://localhost:5000/cms/api/v1.0/articles
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 20
Server: Werkzeug/0.9.4 Python/2.7.6
Date: Sat, 01 Feb 2014 09:52:57 GMT
{
"articles": "[{"author": "mattbates", "title": "Schema design in MongoDB",
"text": "Data in MongoDB has a flexible schema..", "tags": ["MongoDB",
"schema"], "date": {"$date": 1391293347408}, "_id": {"$oid":
"52ed73a30bd031362b3c6bb3"}}]"
}
Testiamo l’API– Ritorno di articoli
28. $ curl -H "Content-Type: application/json" -X POST -d '{"text":"An interesting
article and a great read."}'
http://localhost:5000/cms/api/v1.0/articles/52ed73a30bd031362b3c6bb3/comment
s
{
"comment": "{"date": {"$date": 1391639269724}, "text": "An interesting
article and a great read."}”
}
Testiamo l’API – Inserire un
commento
29. Iterazioni con lo Schema
Avete una nuova feature nella lista di cose da fare?
I Documenti hanno uno schema dinamico, quindi
possiamo semplicemente iterare l’oggetto.
>>> user = { ‘username’: ‘massimo’,
‘first’ : ‘Massimo’,
‘last’ : ‘Brignoli’,
‘preferences’: { ‘opt_out’: True } }
>>> user..save(user)
33. Conclusioni
• Documenti a schema flessibile con l’abilità di
incapsulare strutture dati ricche e complesse,
ottimizzate per massimizare le performance.
• Lo Schema è disegnato attorno agli schema di
accesso ai dati e non per ottimizzare lo storage.
• Usate il Referencing per maggiore flessibilità
• Sviluppate lo schema con in mente la scalabilità
orizzontale, è importante considerare la sharding
key
34. Approfondimenti
• Il codice sorgente di ‘myCMS’
:http://www.github.com/mattbates/mycms-mongodb
• Use case - metadata and asset management:
http://docs.mongodb.org/ecosystem/use-
cases/metadata-and-asset-management/
• Use case - storing
comments:http://docs.mongodb.org/ecosystem/use-
cases/storing-comments/
35. Prossima Sessione – 8 Aprile
Interagire con il database
– Il linguaggio delle query e update
– Le interazioni tra l’applicazionee il database
• Esempi di Codice
In the filing cabinet model, the patient’s x-rays, checkups, and allergies are stored in separate drawers and pulled together (like an RDBMS)In the file folder model, we store all of the patient information in a single folder (like MongoDB)
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
PriorityFloating point number between 0..1000Highest member that is up to date wins Up to date == within 10 seconds of primaryIf a higher priority member catches up, it will force election and win Slave DelayLags behind master by configurable time delay Automatically hidden from clientsProtects against operator errorsFat fingeringApplication corrupts data
Large scale operation can be combined with high performance on commodity hardware through horizontal scalingBuild - Document oriented database maps perfectly to object oriented languagesScale - MongoDB presents clear path to scalability that isn't ops intensive - Provides same interface for sharded cluster as single instance