AWS Paris Summit 2014 - T1 - Services de bases de données
-
Upload
amazon-web-services -
Category
Technology
-
view
842 -
download
4
description
Transcript of AWS Paris Summit 2014 - T1 - Services de bases de données
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Services de bases de données
@aws_actus
David de Santiago, Business Development Manager
Databases & Analytics
Aymeric Roffé, CTO et co-Fondateur de Vidcoin
Ordre du jour de la session
• Pourquoi utiliser un service de BD managé?
• BD relationnelle: RDS
• DB non-relationnelle: DynamoDB
• vidCoin – Aymeric Roffé
• Data Warehouse: Redshift
• Pour aller plus loin
Si vous hébergez votre DB sur site
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Installation OS
vous
Optimisation App
vous
Si vous hébergez votre DB sur site
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Installation OS
Optimisation App
Si vous hébergez votre DB sur
Amazon EC2
vous
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Optimisation App
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
Si vous hébergez votre DB sur
Amazon EC2
vous
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Optimisation App
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
Si vous choisissez un service de DB
opéré
Optimisation App
vous
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Opérer par vous-même? Opérer par AWS?
DB opérée par vous-même DB opérée par AWS
Vous avez l’entière responsabilité des
mises à jour et des sauvegardes
Mises à jour, sauvegardes et bascules
sont faites automatiquement
Vous avez l’entière responsabilité de
la sécurité
AWS propose une infrastructure
hautement sécurisée et certifiée; et
vous propose les outils pour assurer la
sécurité de vos DB
Gestion des paramètres des serveurs,
OS et base de données
DB est un service opéré facile à
automatiser
Les réplications sont coûteuses,
complexes et nécessitent beaucoup
d’ingénierie
Le mode haute-disponibilité avec
bascule automatique est fourni
comme un service
Un service opéré pour chaque type de DB
Amazon DynamoDB
NoSQL
Clef-Valeur
Amazon RDS
SQL
Amazon ElastiCache
Cache en mémoire
Amazon Redshift
Data
warehouse
Qu’est-ce qu’Amazon RDS ?
Amazon RDS: service de DB SQL opérée
• Simple et rapide à déployer
• Simple et rapide à redimensionner
• AWS gère : patches, sauvegardes et réplication
• Compatible avec vos applications
– Choisissez entre MySQL, PostgreSQL, Oracle,
Microsoft SQL Server
• Performance haute, prédictible et réglable
• Pas de coût de démarrage, payez seulement ce que
vous consommez
Amazon RDS
Flipboard s’appuie sur Amazon RDS
• Flipboard est un magazine en ligne avec des millions d’utilisateurs et des milliards de « flips » par mois
• Flipboard utilise Amazon RDS et sa fonction multi-AZ pour stocker les données utilisateurs critiques pour son business
"We were able to go from
concept to delivered product
in about six months with just
a handful of engineers." -Greg Scallan, Chief Architect
Flipboard s’appuie sur Amazon RDS
• Utilise RDS pour requêtes complexes et real time data
• Utilise Read Réplicas pour off loader grosses bases de données
• Familiarité avec SQL un PLUS
• Utilisation de backup pour tester nouveau code
• Horizontal Scaling grâce au sharding.
Comment Amazon RDS délivre des hautes
performances
• Choisissez un type d’instance DB avec le bon
niveau de CPU et de mémoire
• Choisissez du stockage « Provisioned IOPS »
pour des performances réglables et prédictibles – Montez jusqu’à 3 To de stockage et 30.000 IOPS par base de
données
– Augmentez ou diminuer les IOPS en ligne
Comment fonctionnent les sauvegardes Amazon RDS
• Sauvegardes automatiques – Activées par défaut
– Choisissez votre période de rétention, jusqu’à 35 jours
– Restaurez votre DB à un point dans le temps
• Snapshots manuels – Vous les déclenchez quand vous le souhaitez
– Ils persistent jusqu’à ce que vous les supprimiez
– Ils sont stockés dans Amazon S3
– Recréez une nouvelle instance DB à partir d’un snapshot quand vous en avez besoin
Choisissez l’option « Multi-AZ » pour une
meilleure disponibilité et durabilité • Chaque AZ (Zone de Disponibilité) est une infrastructure
physique distincte et indépendante
• Avec l’option Multi-AZ votre DB est répliquée de manière synchrone dans une autre AZ de la même région AWS
• Les bascules ont lieu automatiquement en réponse aux pannes, y compris les plus importantes
• Les maintenances planifiées sont d’abord appliquées sur le secours
Choisissez les Read Replicas pour plus d’élasticité
• Augmentez les capacités de votre application en délestant du trafic en lecture vers des Read Replicas automatiquement opérés
• Créez plusieurs Read Replicas pour partager le trafic
• Facile à mettre en œuvre
Native
MySQL
RDS
Choisissez la copie de snapshot inter-région pour
plus de durabilité ou pour faciliter des migrations
• Copiez un snapshot DB vers une autre région AWS
• Warm standby pour du PRA
• Ou comme une base de migration vers une région différente
Choisissez les Read Replicas inter-régions pour
améliorer la répartition géographique des données
• Redémarrage encore plus rapide en cas de PRA
• Rapprochez les données de vos clients
• Transformez un Read Replica en Master pour faciliter les migrations
Comment gérer sa croissance DB avec
Amazon RDS • Redimensionnez à la hausse comme à la baisse le
type d’instance
• Augmentez le volume de la DB en quelques clics, en ligne
• Délestez le trafic en lecture vers les Read Replicas
• Utilisez un cache devant Amazon RDS – Amazon ElastiCache pour Memcached ou Redis
– Ou votre cache favori, opéré par vous sur Amazon EC2
• Amazon RDS facilite le sharding
Comment fonctionne la facturation Amazon RDS
Facture
mensuelle = GB + +
Suppose que les DB ne sont accédées que depuis Amazon EC2
Plus de détails ici http://aws.amazon.com/rds/pricing/
= 720 h * $0.60 + 100 GB * $0.125 + 1,000 IOPS * $0.10
= $544.50
MySQL; Oregon;
Single-AZ;
On-Demand
100 Go
Provisioned IOPS
Provisioned 1,000
IOPS
db.m3.xlarge
4 vCPU, 15 Go RAM
Qu’est-ce que DynamoDB?
DynamoDB : un stockage clef/valeur opéré
• Simple et rapide à déployer
• Simple et rapide à redimensionner
• Jusqu’à des millions d’IOPS
• Les données sont automatiquement répliquées
• Performance réglable, haute et prédictible – Repose sur du stockage SSD
• Index secondaire pour des recherches rapides
• Pas de coût de démarrage, payez seulement ce que
vous consommez
DynamoDB
Smugmug s’appuie sur DynamoDB
• Des millions de clients utilisent le service de partage de photos et vidéos de SmugMug pour stocker des milliards de photos/vidéos
• SmugMug peut redimensionner rapidement DynamoDB à ses besoins en libérant ses ingénieurs de la gestion de la DB
“"DynamoDB is a truly
revolutionary product …
I love how DynamoDB
enables us to provision our
desired throughput, and
achieve low latency and
seamless scale, even with
our constantly growing
workloads.” -Don MacAskill, CEO
DynamoDB : DB sans schéma
Table Eléments
Attributs
(paires nom/valeur)
DynamoDB: Index Secondaires (LSI - GSI)
pour recherches avancees -pivoter vos
vues
Choose which
attributes
to project (if any)
Hash key
Range key
LSI key
GSI key
DynamoDB : capacité réglable
Lecture
unités de capacité
Ecriture
unités de capacité
DynamoDB : que sont les unités de
capacité?
1 1
1 1
Payez au porteur à
la demande
1 écriture par
seconde jusqu’à 1Ko
1 1
1 1 Lectures cohérentes à terme à -50%
Ecriture : 1 unité de capacité
Lecture : 1 unité de capacité
Payez au porteur à
la demande
1 lecture par seconde
jusqu’à 4Ko
CreateTable
UpdateTable
DeleteTable
DescribeTable
ListTables
PutItem
GetItem
UpdateItem
DeleteItem
BatchGetItem
BatchWriteItem
Query
Scan
Gérer les tables
Requête sur des
éléments OU scan
complet de la table
“Select”, “insert”,
“update” éléments
Bulk select ou
update (max 1Mo)
DynamoDB est optimisé pour la
productivité des développeurs
Architecture d’application classique
Elastic Load
Balancing Amazon EC2
App Instances
Clients
DynamoDB
Auth &
logique métier
Architecture d’application sans serveur
Clients
AWS
Client JS
AWS
Client JS
AWS
Client JS Login avec
Amazon,
Facebook, ou
Auth via
Web Identity
Federation Logique métier
Contrôle
d’accès
fin
= GB +
Suppose que les DB ne sont accédées que depuis la même région AWS
Plus de détails ici http://aws.amazon.com/dynamodb/pricing/
≈ 5 GB * $0.25 +
21 * 720 h * $0.0065/10 +
35 * 720 h * $0.0065/50
≈ $14.36
Stockage consommé (+100 octets par
élément)
Coût pour la capacité
en écriture par heure
+ Coût pour la capacité
en lecture par heure
Comment fonctionne la facturation DynamoDB
Facture
mensuelle
Aymeric Roffé, Chief Technology Officer & Co-founder, vidCoin
Présentation
• Vidéos sponsorisées
• Échange de valeur
• 100% User-initiated
Présentation
• Création Janvier 2013
• 10 personnes
• 10M d'utilisateurs par jour
• +25 pays
Partenaire technique
Technos
DynamoDB
ElastiCache
Vie du projet
Démarrage - Archi
RDS - 1 instance MySQL
Démarrage - Avantages
• Mise en place rapide
• Pas de maintenance
• Snapshots / Duplication de DB simple
• Pas de nouvelles compétences à maîtriser
Montée en charge - Challenges
• 0 à 10M d'utilisateurs par jour
• Trafic mondial
• Variations du trafic non maîtrisées
• Obligation de servir les vidéos
Montée en charge - Gestion
• Augmentation du type d'instance
• Provisioned iOPS
• Utilisation du Multi-AZ
• Création de replicas
Montée en charge - Cas d'usage
• Bootstrap temporaire d'erreurs applicatif
• Opération complexes à chaud sur les machines
Montée en charge - Archi
1 master MySQL
4 slaves MySQL
Migration - Challenges
• Scalabilité
• Performances
• Big Data
• Exploitation de la data
Migration - DynamoDB
• NoSQL / Clé -> Valeur
• Hautes performances
• Peu de gestion
• Scaling
Migration - Archi
1 master MySQL
4 slaves MySQL
DynamoDB
ElastiCache
Import Export
Glacier
S3 EC2
Redshift DynamoDB
EMR
Data Pipeline
S3 Direct Connect
COLLECT STORE ANALYZE SHARE A
WS
BIG
DA
TA
PO
RT
FO
LIO
Amazon Kinesis - Fully-managed service for real time
processing of streaming data, at any scale
Next steps...
NoSQL vs. SQL pour une nouvelle application :
comment choisir ?
• Besoin d’une DB avec la
gestion la plus simple possible ?
• Les données croissent sans
limite ?
• Besoin de jointures, de
transactions, de scan fréquents de
tables ?
• Votre équipe a des compétences
SQL?
• La croissance de données reste
gérable ?
Amazon DynamoDB Amazon RDS
Qu’est-ce qu’Amazon Redshift ?
Amazon Redshift : un data warehouse opéré
• DB en mode colonne à
l’échelle du Po (1Po = 1024 To)
• Temps de réponse rapides – ~10x plus rapide que les DB
traditionnelles
• Prix bas jusqu’à $1,000 par To
par an
Amazon Redshift
Foursquare s’appuie sur Amazon
Redshift
• Plus de 40 millions de personnes dans le monde utilisent Foursquare pour rencontrer des amis, partager des astuces de voyage ou trouver des bonnes affaires
• Foursquare utilise AWS pour analyser quotidiennement les données de millions de connexions, en économisant sur les licences, et en redéployant ses équipes dev/ops vers des missions plus stratégiques
“Amazon Redshift offers the
performance we needed
while freeing us from the
licensing costs of our
previous solution.”
--Jon Hoffman
Software Engineer
Cas d’usage pour Amazon Redshift
• Réduisez vos coûts faisant
une extension de DW plutôt
qu’un ajout de HW
• Migrez complètement les
DW existants
• Répondez plus vite au
business; délivrez un DW en
minutes
• Améliorez vos performances
d’analyse à grande échelle
• Augmentez les données
disponibles pour les
analyses
• Les métiers accèdent aux
données via des outils de
reporting classiques
• Ajoutez une fonction
analytique à votre application
• Adaptez les capacités DW en
fonction de la demande
• Réduisez vos coûts HW & SW
à grande échelle
DW traditionnel d’entreprise Sociétés faisant du Big Data Sociétés SaaS
Architecture Amazon Redshift
Leader node
Compute nodes
Outils existants
de BI
PostgreSQL
JDBC/ODBC
Amazon S3
Amazon DynamoDB
AWS Data
Pipeline
Amazon Redshift réduit considérablement les I/O
• Stockage en colonne
• Compression de données
• Zonage des données
• Stockage à attachement direct
ComputeNode
ComputeNode
ComputeNode
LeaderNode
Common BI Tools
JDBC/ ODBC
10GigE Mesh
Amazon Redshift : démarrez petit et augmentez avec l’usage
Dense Storage Node (dw1.xlarge)
2 TB, 16 GB RAM, 2 cores
Dense Compute Node (dw2.large)
0.16 TB, 16 GB RAM, 2 cores
Single Node (2 TB)
Cluster 2-32 Nodes (up to 64 TB)
8XL Dense Storage Node (dw1.8xlarge)
16 TB, 128 GB RAM, 16 cores, 10 GigE
8XL Dense Compute Node (dw2.8xlarge)
2.56 TB, 128 GB RAM, 16 cores, 10 GigE
Cluster 2-100 Nodes (up to 1.6 PB)
Note: Nodes not to scale
= N ×
Plus de détails ici http://aws.amazon.com/rds/pricing/
= 4 nodes * 720 h * $0.25
= $720
dw2.large; Oregon;
On-Demand
Comment fonctionne la facturation Amazon Redshift
Facture
mensuelle
Pour résumer…
Un service opéré pour chaque type de DB
Amazon DynamoDB
NoSQL
Clef-Valeur
Amazon RDS
SQL
Amazon ElastiCache
Cache en mémoire
Amazon Redshift
Data
warehouse
Les bénéfices des DB opérées par AWS
Payez uniquement ce que
vous consommez
Pas de coût initial
Service complètement opéré
AWS gère l’installation, les
patches, les redémarrages
Facile à
redimensionner
S’adapte à vos besoins
Conçu pour être utilisé
avec d’autres services
AWS
Amazon
EC2
Amazon
S3
Amazon
CloudWatch Amazon
SNS
Amazon
VPC
AWS
Data Pipeline
Vitesse d’innovation – un Bonus • Amazon RDS/PostgreSQL, instances M3
• Amazon RDS/SQL Server TDE, màj version
• Amazon RDS/Oracle TDE, 3To/30K IOPS, màj version
• Copie de snapshot inter-région, parallel replica, chained replica
• Multi-AZ SLA, log access, VPC groups, …
Equipe Amazon
RDS :
25+ nouvelles
fonctionnalités
• ElastiCache: moteur Redis 2.8.6
• Import/export inter-région DynamoDB
• Contrôle d’accès fin, global secondary indexes
• DynamoDB local, librairie d’index geospatial
Équipe NoSQL :
12+ nouvelles
fonctionnalités
• Amazon Redshift dense compute nodes
• Support du chiffrement avec CloudHSM
• Audit logging, Amazon SNS notification, partage de snapshot
• Backup automatique inter-région
• Resize plus rapide, improved concurrency, tables ditribuées…
Equipe Amazon
Redshift :
21+ nouvelles
fonctionnalités
AWS Marketplace
• Trouvez des logiciels à utiliser avec Amazon RDS, Amazon Redshift, DynamoDB, and ElastiCache
• Déploiement en 1-click
• Options de facturation flexibles
http://aws.amazon.com/marketplace
Essayez gratuitement les DB AWS Service Gratuit pour les nouveaux clients
chaque mois pendant 1 an
DynamoDB 100 Mo de stockage of storage
5 unité de capacité en écriture
10 unités de capacité en lecture
Amazon RDS 750 heures d’instance DB micro
20 Go de stockage DB
20 Go de sauvegarde
10 millions d’opérations I/O
ElastiCache 750 heures d’instance Micro Cache
Node
Merci
@aws_actus #awssummit