advertisement

20140311 app dev series - 01 - introduction - italian

57 %
43 %
advertisement
Information about 20140311 app dev series - 01 - introduction - italian
Marketing

Published on March 14, 2014

Author: mongodb

Source: slideshare.net

advertisement

Serie Application Development Back to Basics – Introduzione Senior Solution Architect, MongoDB Inc, @massimobrignoli Massimo Brignoli #MongoDBBasicsIT

Introduction • Cos’è la Serie di Webinar • Modello dei Dati • Modello delle Query • Scalabilità • Affidabilità • Architetture di Produzione • Performance • Prossima Puntata

Organizzazione della Serie • Divisa in 2 sezioni – Sviluppo applicativo (4 parti) • Schema Design • Interazione con il database con gli operatori di query e update • Indicizzazione • Reportistica – Operations (3 parti) • Messa in esercizio – scalabilità orizzontale e alta affidabilità • Monitoring e performance tuning • Backup e recovery

Panoramica dell’Applicazione • Content Management System – Utilizzerà: • Operatori di Query & update • Aggregation Framework • Query Geografiche • Report pre-aggregati per analisi veloci • Documenti polimorfici • E molto altro … • Take away framework • Un approccio che potete riutilizzare nelle vostre applicazioni

Q & A • Virtual Genius Bar – Usate la chat per fare domande – Il team italiano vi risponderà – Sfruttatelo durante le sessioni!!!

MongoDB

Il mercato dei database

Modello dei dati a documento Relazionale- Tabelle { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } } Documentale - Collezioni

Agilità e flessibilità – Schema dinamico – I modelli dei dati possono evolvere facilmente – Le aziende possono adattarsi ai cambiamenti piû velocemente Naturale, Intuitiva Rappresentazione dei Dati – Elimina il problema dell’Object Relational Impedance Mismatch – La maggior parte delle applicazioni sono dei candidati perfetti Riduce la necessità di join e di disk seek – La programmazione è più semplice – E’possibile scalare orizzontalmente mantenendo le performance Modello dei dati a documento

Sviluppo semplificato

Sviluppo semplificato

Ricca interazione con i dati

Modello delle Query

Shell Alinea di comando per interagire direttamentecon il database Riga di comando e Drivers Drivers Sono disponibili drivers per i più popolari linguaggi di programmazione > db.collection.insert({company:“10gen”, product:“MongoDB”}) > > db.collection.findOne() { “_id” : ObjectId(“5106c1c2fc629bfe52792e86”), “company” : “10gen” “product” : “MongoDB” } Java Python Perl Ruby Haskell JavaScript

MongoDB è ricco di funzionalità Queries • Trovami tutte le auto di Gigi • Trovami chi a Milano ha un’automobile costruita tra il 1970 e il 1980 Geospatial • Trovami tutti I proprietari di automobili entro 5 km da piazza Duomo Text Search • Trovami tutte le automobili con i sedili in pelle nella descrizione. Aggregation • Calcola il valore medio della collezione di auto di Gigi Map Reduce • Com’è cambiata distribuzione dei colori delle proprietà di auto nelle varie aree geografiche nel tempo? Il colore viola sta diventando popolare in Lombardia? { first_name: ‘Gigi’, surname: ‘Rossi’, city: ‘Milano’, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }

Esempi di Query Rich Queries • Trovami tutte le auto di Gigi • Trovami chi a Milano ha un’automobile costruita tra il 1970 e il 1980 db.cars.find({ first_name: ‘Gigi’ }) db.cars.find({ city: ‘Milano’, ”cars.year" : { $gte : 1970, $lte : 1980 } }) { first_name: ‘Gigi’, surname: ‘Rossi’, city: ‘Milano’, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }

Esempio di Query geografica db.cars.find( { location: { $near : { $geometry : { type: 'Point' , coordinates : [-0.128, 51.507] } }, $maxDistance :5000 } } ) Geospatial • Trovami tutti I proprietari di automobili entro 5 km da piazza Duomo { first_name: ‘Gigi’, surname: ‘Rossi’, city: ‘Milano’, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }

Esempio di Aggregazione db.cars.aggregate( [ {$match : {"first_name" : ”Gigi"}}, {$project : {"first_name":1,"cars":1}}, {$unwind : "$cars"}, { $group : {_id:"$first_name", average : { $avg : "$cars.value"}}} ]) { "_id" : ”Gigi", "average" : 215000 } Aggregation • Calcola il valore medio della collezione di auto di Gigi { first_name: ‘Gigi’, surname: ‘Rossi’, city: ‘Milano’, location: { type: “Point”, coordinates : [-0.128, 51.507] }, cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } }

Scalabilità

Sharding Automatico • Tre tipi di sharding: hash-based, range-based, tag- aware • Aumentate o diminuite il numero di server a seconda delle vostre necessità • Bilanciamento automatico dei dati

Query Routing • Diversi modelli di ottimizzazione delle query • Ogni opzione di sharding è appropriata per diversi tipi di applicazione

Disponibilità del Servizio

AltaAffidabilità–Assicura la disponibilità del servizio durante vari tipologie di failure Disaster Recovery – Indirizza la continuità del business da un punto di vista di RTO (recovery time objective) e RPO (recovery point objective). Manutenzione– Effettua upgrade e altre operazioni di manutenzione senza interruzione di servizio Considerazioni sulla Disponibilità

Replica Set • Replica Set – 2 o più copie • “Self-healing” shard • Indirizza svariate preoccupazioni: - Alta disponibilità del servizio - Disaster Recovery - Manutenzione

Benefici di un Replica Set Richieste del Business Benefici Replica Set Alta Disponibilità Failover Automatico Disaster Recovery Hot backups offsite Manutenzione Rolling upgrades Bassa Latenza Posiziona i dati vicino agli utenti Workload Isolation Letture da repliche non primarie Privacy dei Dati Restringe i dati ad una posizione fisica Consistenza dei Dati Consistency Definibile

Performance

Miglior posizione dei dati nello storage Performance In-Memory Caching Aggiornamento sul posto

Il modello a documenti – Semplifica lo sviluppo applicativo – Semplifica la scalabilità orizzontale – Migliora le performance MongoDB – Ricco database di utilizzo generale – IncludeAlta Disponibilità e Failover – Include la scalabilità orizzontale Sommario

• Schema design for the CMS application – Collection – Decisioni • Architettura applicativa – Esempi di tecnologie – Interfaccia RESTful – Python è stato scelto per gli esempi • Esempi di codice Seconda Puntata– 25 Marzo

#MongoDBBasicsIT

Add a comment

Related presentations

Brands are more invested today than ever before on curating and distributing paid,...

Marketers need to be creating and publishing original content across many differen...

As content marketing continues to increase in popularity in every industry, more m...

Il Direct Email Marketing (DEM) è una tipologia di marketing diretto che usa la po...

This presentation contains all 120 rules from Part 1 of the 2nd edition of "Email ...

Olá, somos o Paulo Bernardes e o Pedro Silvestre, temos uma ambição em comum de me...

Related pages

Microsoft - Nokia Developer

... Developer.nokia.com has been deactivated as a result of the Microsoft ... great apps for Windows Phone ... apps for Asha, Nokia X, Series 40 ...
Read more

iCloud

iCloud makes sure you always have the latest versions of your most important things — documents, photos, notes, contacts, and more — on all your devices.
Read more

nokiadevforum - YouTube

Learn about the latest tool and technologies used to create mobile apps for ... 01. Play next; Play now; Meet ... This series of webinars will help you ...
Read more

Upwork - Hire Freelancers & Get Freelance Jobs Online

Find freelancers and freelance jobs on Upwork ... Mobile & Software Dev; IT & Networking; ... Mobile developers I OS APP DEVELOPERS ANDROID DEVELOPERS UI ...
Read more

Pluralsight blog

Blog 5 ways to fight ... Mobile apps Free kids courses Support Help center Suggest a course Knowledge base Integration COMPANY
Read more

Google

Google.com.vn hiện đã có bằng các ngôn ngữ: English Français 中文(繁體)
Read more

plone.app.locales 5.0.9 : Python Package Index

plone.app.locales 5.0.9. ... Fixed typos in Italian translations ... 4.3.4 (2014-11-01) New messages from plone.app.collection, ...
Read more

Windows Blog

... plus an app just in time for the Copa América Centenario ... In our first and second posts in this series, ... 2016 Microsoft Edge Dev Blog
Read more

C# / XAML Training Courses - Microsoft Virtual Academy

C# / XAML Cloud App Development ... Looking to become a certified C# app dev? Find the training. Career Books ...
Read more

Vacation Rentals, Homes, Apartments & Rooms for Rent - Airbnb

Install Open in App Airbnb Airbnb Your Trips. Wish Lists. Edit Profile. Travel ... See how Airbnb hosts create a sense of belonging around the world
Read more