lezione aws mongodb - unipdtullio/is-1/2016/seminari/aws.pdf · corso aws & mongodb ... m3/4...
TRANSCRIPT
![Page 2: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/2.jpg)
Amazon Web Services
![Page 3: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/3.jpg)
@stefanodindo
![Page 4: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/4.jpg)
Dallas(2)
St.Louis
Miami
Jacksonville Los Angeles (2)
Palo Alto
Seattle
Ashburn(3)
Newark New York (3)
Dublin
London(2) Amsterdam (3)
Stockholm
Frankfurt(3) Paris(2)
Singapore (2)
Hong Kong (2)
Tokyo (2)
Sao Paulo
South Bend
San Jose
Milan
Sydney
Madrid
Seoul
Mumbai
Chennai
Atlanta
Hayward
Rio de Janeiro
Marseille
Warsaw
Osaka
Manila
Taipei
Melbourne
@stefanodindo
![Page 5: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/5.jpg)
@stefanodindo
Enterprise Applications
Virtual Desktops Collaboration and Sharing
Platform Services
Databases
Caching
Relational
No SQL
Analytics
Hadoop
Real-time
Data Workflows
Data Warehouse
App Services
Queuing
Orchestration
App Streaming
Transcoding
Search
Deployment & Management
Containers
Dev/ops Tools
Resource Templates
Usage Tracking
Monitoring and Logs
Mobile Services
Identity
Sync
Mobile Analytics
Notifications
Foundation Services
Compute (VMs, Auto-scaling and Load Balancing)
Storage (Object, Block and Archive)
Security & Access Control Networking
Infrastructure Regions CDN and Points of Presence Availability Zones
![Page 6: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/6.jpg)
Networking Analytics Compute
Storage & Content Delivery
Developer Tools Management Tools Security & Identity
Application Services
Mobile Services Database Enterprise Applications
S3 CloudFront EFS Glacier Storage Gateway API Gateway AppStream CloudSearch Elastic Transcoder SES SQS SWF
Device Farm Mobile Analytics Cognito SNS RDS DynamoDB ElastiCache RedShift WorkSpaces WorkDocs WorkMail
Lambda EC2 Container Service Elastic Beanstalk EC2 VPC Direct Connect Route 53 EMR Data Pipeline Kinesis Machine
Learning Elastic Load Balancing QuickSight Elasticsearch
Service
CodeCommit CodeDeploy CodePipeline CloudWatch Cloud Formation CloudTrail Config OpsWorks Service
Catalog
Identity & Access
Management
Directory Service Trusted Advisor Cloud HSM Key
Management Service Web App Firewall
Snowball
Simple DB Database Migration Service
IOT
IoT
Hubs
Mobile Hub
@stefanodindo
![Page 7: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/7.jpg)
EC2
![Page 8: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/8.jpg)
@stefanodindo
Stopped
Terminated
Running
Waiting
![Page 9: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/9.jpg)
@stefanodindo
Tipologie istanza
M3/4 C3/4 I2 R3G2
General Purpose Compute Optimized Memory OptimizedGPU PurposeStorage Optimized
T2 HS1
![Page 10: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/10.jpg)
@stefanodindo
![Page 11: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/11.jpg)
@stefanodindo
Nome vCPU Baseline performance RAM CPU credit
/ ora Max Crediti
t2.micro 1 10% 1 GB 6 144
t2.small 1 20% 2 GB 12 288
t2.medium 2 40% 4 GB 24 576
![Page 12: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/12.jpg)
@stefanodindo
![Page 13: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/13.jpg)
@stefanodindo
EBS S3
- Persistente- Boot in secondi- I/O a Pagamento- Stop a Pagamento
- Termina con istanza- Boot in minuti- I/O a gratis- Stop gratuito
General Purpose SSD High IO Provisioned IOPS ( SSD )
![Page 14: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/14.jpg)
@stefanodindoEBS Life cycle
EC2 EC2 EC2
EBS1
EBS2a EBS2b EBS2c
EBS3
EBS1 Snapshot
EBS1 Snapshot
EBS3 Snapshot
EBS2a Snapshot
EBS2a Snapshot
EBS2b Snapshot
EBS2b Snapshot
root
root
root
EBS4
not attached
ALL AZ S3
Snapshot
Restore
![Page 15: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/15.jpg)
@stefanodindo
EC2
Security Group
Inbound rule
Outbound rule
![Page 16: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/16.jpg)
Spot On-Demand Reserved
@stefanodindo
![Page 17: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/17.jpg)
$ Risparmiati
$ spot > $ on-demand --> on-demand
@stefanodindo
![Page 18: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/18.jpg)
S3
![Page 19: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/19.jpg)
Inserire un oggetto in S3significa durabilità del 99,999999999%
Alta scalabilità per l’accesso agli oggetti
Alta scalabilità per l’accesso agli oggetti
![Page 20: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/20.jpg)
Che cos’è S3 ?
Web Store, No File System
Veloce
Servizio di Storage ad alta scalabilità
Accesso via API
Alta disponibilità e durabilità
Economico
![Page 21: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/21.jpg)
@stefanodindo
A Regional Service I tuoi dati non lasciano la regione a meno
che tu non decida di spostarli
![Page 22: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/22.jpg)
@stefanodindo
AWS S3 Storage Class
Standard GlacierReduced Redundancy
Storage
Oggetti per cui si desidera avere
alta disponibilità
Oggetti che si ipotizzare di perdere
o ricreare
Oggetti che si archiviare per lungo
tempo
Es. Media sempre accessibili Es. Media con encondings diverso Es. Digital archives di dati aziendali
![Page 23: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/23.jpg)
@stefanodindo
AvailabilityZone B
AvailabilityZone A
AvailabilityZone C
EU
max 5TB
![Page 24: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/24.jpg)
@stefanodindo
AWS S3 Namespace
Amazon Web Services S3
Bucket
Bucket
Bucket
Object Object Object Object
Object Object
![Page 25: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/25.jpg)
@stefanodindo
Bucket Bucket Bucket
img/icon1.png
customer.xls
curriculum.pdf
customer.xls
doc/off.doc
img/icon1.png
img/icon2.png
file_test.txt
![Page 26: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/26.jpg)
@stefanodindo
Object Key
AWS S3 Namespace
Max 1024 UTF-8
Unica per il bucket
Incluso il path nel prefisso
Questa è una Object Key
/var/www/customers/html/index.php
![Page 27: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/27.jpg)
Server Side encryption
Semplice
Strong AES-256
Crittografia automatica dei dati
Durabilità
Self Managed Non è necessario applicare metodi di gestione delle chiavi
Sicuro massimo 3 accessi multipli
![Page 28: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/28.jpg)
Lifecycle Management
Object deletion Cancellazione permanente dell’oggetto S3
Archiviazione degli oggetti Spostare gli oggetti su Glacier e rimuoverli da S3
![Page 29: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/29.jpg)
@stefanodindo
AWS S3 Lifecycle Mng
Time
Logs
Txt
X
Accessibile su S3
Accessibile su S3
Processo archiviazione su
Glacier
Richiesta di restore
Oggetto rimarrà disponibile per N ore3-5h
Oggetto viene rimosso al termine del suo
TTL
Expi
ryTr
ansa
ctio
n
![Page 30: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/30.jpg)
RDS
![Page 31: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/31.jpg)
@stefanodindo
Database on-premises
Rack & Stack
Server maintenance
Installazione Sistema Operativo
OS Patches
DB installazione
DB Patches
Database backup
Alta disponibilità del servizio
Scaling
Energia elettrica, HVAC, rete
Ottimizzazione applicativi
![Page 32: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/32.jpg)
@stefanodindo
RDS - Full managed service Significa
Rack & Stack
Server maintenance
Installazione Sistema Operativo
OS Patches
DB installazione
DB Patches
Database backup
Alta disponibilità del servizio
Scaling
Energia elettrica, HVAC, rete
DEMANDARE LO STACK ad
AWS
![Page 33: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/33.jpg)
@stefanodindo
RDS - Full managed service Significa
Ottimizzazione applicativi
Il tuo focus è l’ottimizzazione dell’applicativo
![Page 34: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/34.jpg)
@stefanodindo
Self Managed vs Full managed
Self-Managed database AWS-Managed Database
Hai la responsabilità di aggiornamenti e backup
dell’intero stackUpdate, backup e failover sono
gestiti dal servizio
Completa responsabilità delle funzioni di sicurezza
AWS fornisce un’alto livello di sicurezza di infrastruttura, certificazione. Devi gestire
sicurezza accesso al database
Replicazione è impegnativa e deve essere fatta manualmente
Replicazione e failover sono parte del servizio AWS
![Page 35: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/35.jpg)
@stefanodindo
![Page 36: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/36.jpg)
RDS
Backup schedulati
Multi-AZ
![Page 37: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/37.jpg)
RDS
![Page 38: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/38.jpg)
@stefanodindo
La configurazione Multi-AZ garantisce: alta disponibilità e durabilità
• Availability zone sono infrastrutture fisiche distinte e indipendenti
• Le operazioni su una configurazione Multi-AZ sono replicante, in modo sincrono, con le altre zone della stessa AWS Region
• La gestione del failover è automatica • Le attività di manutenzione pianificate sono applicate prima
ai backup e poi al master
![Page 39: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/39.jpg)
@stefanodindo
Scenario architettura
![Page 40: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/40.jpg)
@stefanodindo
Cross-Region snapshot Copy
• Maggiore durabilità e facilità di migrazione • Possibilità di copiare snapshot in regioni diverse • Warm standby Disaster recovery • Funzione utilizzata per migrare anche regione del servizio
![Page 41: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/41.jpg)
@stefanodindo
• Semplice e veloce soluzione di ricovero in caso di disatro • Velocità di accesso ai dati in lettura per applicazioni distribuite WW • Facile promuovere a master un nodo in caso di migrazione
Cross-Region Read Replica
M
R
R
R
![Page 42: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/42.jpg)
@stefanodindo
Come funziona la fatturazione
+ + IOPS=db.m3.large 100GB 1000 IOPS
$ 267,8 = 720h * $ 0,2 + 100 * $ 0,138 + 1000* $ 0,11
![Page 43: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/43.jpg)
VPC
![Page 44: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/44.jpg)
@stefanodindo
[ Concetti fondamentali ]
• Amazon VPC è una rete isolata all’interno della rete pubblica
di Amazon Web Services
• In una VPC è possibile:
• Creare più reti sottoreti pubbliche / private
• Avviare risorse con la classe di IP di sottorete desiderato
• Definire Security Group, Access Control List (ACL) e Subnet
Route specifiche per la VPC
![Page 45: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/45.jpg)
@stefanodindo
[ Perchè usare una VPC ]
• I motivi per usare una VPC sono:
• La possibilità di isolare la sottorete dagli altri account AWS
• La maggiore sicurezza disponibile con VPC
• La possibilità di creare un’estensione della propria rete
aziendale
• Gli indirizzi IP non cambiano durante le operazioni di STOP/
START delle istanze
![Page 46: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/46.jpg)
@stefanodindo
SCENARIO 1
Public Subnet Only
![Page 47: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/47.jpg)
@stefanodindo
![Page 48: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/48.jpg)
@stefanodindo
SCENARIO 2
Public & Private Subnet
![Page 49: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/49.jpg)
@stefanodindo
![Page 50: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/50.jpg)
@stefanodindo
SCENARIO 3
Public & Private Subnet e Hardware VPN Access
![Page 51: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/51.jpg)
@stefanodindo
![Page 52: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/52.jpg)
![Page 53: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/53.jpg)
Cos’è un documento per MongoDB?
{ “nome”: “Giorgio”, “cognome”: “Rossi”, “email”: “[email protected]”, “cell”: 3281432896, “sport”: [“nuoto”, “calcio”]}
MongoDB salva i documenti su disco in formato BSON (http://bsonspec.org).
La dimensione massima di un documento BSON è 16MB.
Un documento è una struttura dati in stile JSON formata da un numero variabile di coppie campo - valore
![Page 54: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/54.jpg)
Terminologia
SQL - Like Corrispettivo in MongoDB
Database Database
Tabella Collection
Riga Document
Colonna Field
![Page 55: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/55.jpg)
Come accedo ai dati
![Page 56: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/56.jpg)
Query Model• Key-value queries per ottenere il
valore anche di un solo campo del documento
• Range queries (>, <, >=, <=) • Geospatial queries per ottenere
documenti col criterio della prossimità
• Text Search queries per ottenere documenti contenenti porzioni di testo
• Aggregation Framework queries (count, min, max, average, …..)
• MapReduce queries per eseguire operazioni di map e reduce direttamente sul database
![Page 57: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/57.jpg)
Pluggable Storage Architecture
![Page 58: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/58.jpg)
{ _id: ‘Objectid(“4b2b9…”)’, first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } ]}
MongoDB: Modello a Documenti
![Page 59: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/59.jpg)
Documento
{ _id: ‘Objectid(“4b2b9…”)’, first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } ]}
Esempio Tipi di dati
Null
Boolean
Number
String
Date
Array
Embedded documents
{ x: null }
{ x: true }
{ x: 3.14 } { x: 3 }
{ x: “zero12” }
{ x: new Date() }
{ x: [“a”,”b”, “c”] }
{ x: {y: “a” } }
![Page 60: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/60.jpg)
0 1 2 3 4 5 6 7 8 9 10 11
Object id
Timestamp Machine PID Increment
![Page 61: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/61.jpg)
Mongod:
Mongos:
Mongo:
E’ il processo server che esegue il database e che rende disponibile tutti i servizi per la creazione di database, collections, l’inserimento di documenti e le relative funzioni di interrogazione
E’ il servizio di routing per processare le query provenienti dallo strato applicativo e che determina la locazione dei dati richiesti in una configurazione Sharding.
Rappresenta l’eseguibile per avviare la shell Javascript per interagire con database, collezioni e documenti che possono essere interrogati e manipolati da riga di comando.
Terminologia
![Page 62: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/62.jpg)
mongod
172.31.21.36:27017
mongo 172.31.21.36:27017/firstDB
MongoDB shell
firstDB
MongoDB dispone nativamente di una shell javascript per l’amministrazione del database
![Page 63: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/63.jpg)
use <nome db>
show collections
db.<nomeCollection>.insert({…})
db.<nomeCollection>.findOne()
db.<nomeCollection>.update(<criterio>, {…})
db.<nomeCollection>.remove(<criterio>, {…})
Principali Comandi
![Page 64: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/64.jpg)
![Page 65: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/65.jpg)
Contacts
{ “_id”: 2, “name”: “Steven Jobs”, “title”: “VP, New Product Development”, “company”: “Apple Computer”, “phone”: “408-996-1010”, “address_id”: 1 }
Addresses
{ “_id”: 1, “street”: “10260 Bandley Dr”, “city”: “Cupertino”, “state”: “CA”, “zip_code”: ”95014”, “country”: “USA”}
References
![Page 66: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/66.jpg)
Embedding
Contacts
{ “_id”: 2, “name”: “Steven Jobs”, “title”: “VP, New Product Development”, “company”: “Apple Computer”, “address”: { “street”: “10260 Bandley Dr”, “city”: “Cupertino”, “state”: “CA”, “zip_code”: ”95014”, “country”: “USA” }, “phone”: “408-996-1010” }
![Page 67: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/67.jpg)
Relazionale vs Documents
Quali sono le differenze e perchè?
Contact Address
Contact
1. Name2. Company3. Title4. Phone
1.Street2.City3.State4.Zip_code
1. Name2. Company3. Title4. Address
1. Street2. City3. State4. Zip_Code
5. Phone
![Page 68: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/68.jpg)
Flessibilità{ “name”: “Steven Jobs”, “title”: “VP, New Product Development”, “company”: “Apple Computer”, “address”: { “street”: “10260 Bandley Dr”, “city”: “Cupertino”, “state”: “CA”, “zip_code”: ”95014” }, “phone”: “408-996-1010” }
{ “name”: “Larry Page”, “url”: “http://google.com/”, “title”: “CEO”, “company”: “Google!”, “email”: “[email protected]”, “address”: { “street”: “555 Bryant, #106”, “city”: “Palo Alto”, “state”: “CA”, “zip_code”: “94301” } “phone”: “650-618-1499”, “fax”: “650-330-0100” }
![Page 69: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/69.jpg)
Schema Design
1:1 1:N N:N
Embedding è meglio ! :-)
![Page 70: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/70.jpg)
Embedding over Referencing1.Eseguire l’Embedding è come avere delle Join preparate:
1. BSON document sono facili da gestire per i server
2.Embedd:
1. Quando “pochi” o “molti” oggetti sono visualizzati insieme al padre
2. Per motivi di performance
3. Per atomicità delle informazioni
3.Reference
1. Quando si necessità di maggiore scalabilità
4. Per maggiore “consistenza” nella associazioni N:N senza duplicare i dati
![Page 71: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/71.jpg)
@contieroroberto
Architetture
![Page 72: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/72.jpg)
• Quanto punti di failure vuoi avere? • Quanti sonni tranquilli vuoi dormire? • Mai avuto problemi di connettività? • Più nodi facilitano l’uso dei dati in modo diverso
Perchè replica dei dati
![Page 73: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/73.jpg)
Replica Set
![Page 74: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/74.jpg)
Nodo 1 Nodo 2
Nodo 3
Creazione ReplicaSet
![Page 75: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/75.jpg)
> conf = { _id : "zero12rs”, members : [ {_id : 0, host : "A”}, {_id : 1, host : "B"}, {_id : 2, host : "C”}, ] }
> rs.initiate(conf)
Configurazione ReplicaSet - 2 di 2
![Page 76: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/76.jpg)
Nodo 1 Secondary
Nodo 2 Secondary
Nodo 3 Primary
Heartbeat
Replica Replica
ReplicaSet - 1 di 3
![Page 77: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/77.jpg)
Nodo 1 Secondary
Nodo 2 Secondary
Nodo 3 Primary
Elezione primary
XFAIL !
ReplicaSet - 2 di 3
![Page 78: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/78.jpg)
Nodo 1 Primary
Nodo 2 Secondary
Nodo 3 Primary
Heartbeat
XFAIL !
Replica
ReplicaSet - 3 di 3
![Page 79: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/79.jpg)
Come funziona la replica
![Page 80: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/80.jpg)
Come funziona la replica ?
oplog: contiene la lista di tutte le operazioni di scrittura e aggiornamenti fatti nel nodo primario
Primary
Secondary #1
Secondary #2
query per oplogs {$gt: 10}
query per oplogs {$gt: 7}
6 7 8 9 10 11 12 13
6 7 8 9 10
6 7
![Page 81: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/81.jpg)
Sviluppare con replicaSet
![Page 82: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/82.jpg)
ReplicaSet per gli sviluppatori
![Page 83: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/83.jpg)
ReplicaSet per gli sviluppatori
![Page 84: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/84.jpg)
Tagging
• Controllare dove i dati vengono scritti e/o letti • Ogni membro del RS può avere uno o più TAG
• tags: {dc: “ny”} • tags: {dc: “ny”, rack: “zero12rack”}
• Permette di definire le regole di Write Concerns • E’ possibile cambiare le politiche senza modificare il codice
![Page 85: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/85.jpg)
{ _id : "zero12rs", members : [ {_id : 0, host : "A", tags : {"dc": "ny"}}, {_id : 1, host : "B", tags : {"dc": "ny"}}, {_id : 2, host : "C", tags : {"dc": "sf"}}, {_id : 3, host : "D", tags : {"dc": "sf"}}, {_id : 4, host : "E", tags : {"dc": "cloud"}}], settings : { getLastErrorModes : { allDCs : {"dc" : 3}, someDCs : {"dc" : 2}} } } > db.blogs.insert({...}) > db.runCommand({getLastError : 1, w : "someDCs"})
Esempio di Tagging
![Page 86: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/86.jpg)
Slave Delay
> conf = { _id : "mySet”, members : [ {_id : 0, host : "A”}, {_id : 1, host : "B"}, {_id : 2, host : "C”}, {_id : 3, host : "D", hidden : true}, {_id : 4, host : "E", hidden : true, slaveDelay : 3600} ] }
> rs.initiate(conf)
![Page 87: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/87.jpg)
Sharding
![Page 88: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/88.jpg)
Distribuzione dei dati ( Sharding )
• Uno Shard è un nodo di un cluster
• Uno Shard può essere un singolo mongod oppure un Replica Set
![Page 89: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/89.jpg)
Config Server• Conserva il range di chunck e la loro localizzazione
• In un’architettura possono esserci 1 o 3 nodi Config
Server
• Non possono essere configurati come Replica-Set
![Page 90: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/90.jpg)
Mongos• Funge da router / balancer
• Non ci sono dati presenti localmente (Informazioni utili sono conservati nel
config server)
• Un’architettura può essere composta da 1 o più Mongos
![Page 91: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/91.jpg)
Esempio architettura Sharding
![Page 92: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/92.jpg)
Sharding Key
![Page 93: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/93.jpg)
• La chiave di Shard è immutabile • I valori della chiave di Shard sono immutabile • La chiave di Shard deve essere indicizzata • La chiave di Shard è limitata ad una dimensione di 512 bytes • La chiave di Shard è usata per definire il routing delle query - Usare un campo usato nelle query • Solamente la shard key può essere unica tra tutti gli shards - `_id` è unico all’interno del singolo shard
Sharding Key
![Page 94: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/94.jpg)
Impatti della sharding key sullo sharding
La chiave di sharding determina la distribuzione dei
documenti di una collezione nei diversi nodi di shard• Scaling delle scritture
• Query Isolation
• Sorting
• Localizzazione degli indici
![Page 95: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/95.jpg)
Funzionamento
![Page 96: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/96.jpg)
Partitioning
E’ importante ricordare che il partizionamento degli oggetti è basato su un range
![Page 97: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/97.jpg)
I chunk sono una partizione di questo range
![Page 98: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/98.jpg)
Divisione Chunk
• Un chunk viene suddiviso quando supera la dimensione massima• Non ci sono punti di divisione se i documenti hanno la stessa
shared key• Lo split di un chunk è un’operazione logica (nessun dato viene
spostato)
![Page 99: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/99.jpg)
Balancing
• Il Balancer è eseguito all’interno di Mongos • Quando la differenza tra lo shard più denso e la densità degli altri shard
supera la soglia di migrazione, il processo di bilanciamento viene avviato
![Page 100: lezione aws mongodb - UniPDtullio/IS-1/2016/Seminari/AWS.pdf · CORSO AWS & MONGODB ... M3/4 C3/4 I2 G2 R3 ... Self-Managed database AWS-Managed Database Hai la responsabilità di](https://reader034.vdocument.in/reader034/viewer/2022051523/5a7294ee7f8b9a93538dd236/html5/thumbnails/100.jpg)
GRAZIE !“Learn quickly and Think Well!”