AWS Paris Summit 2014 - T1 - Services de bases de données

Preview:

DESCRIPTION

Track 1 - Session 2 - Services de bases de données

Citation preview

© 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

Google

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...

Aymeric Roffé, Chief Technology Officer & Co-founder, vidCoin

Contact: ar@vidcoin.com

MERCI

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

Recommended