datastax enterprise - la plateforme de base de données pour le cloud

56
DataStax Enterprise La plate-forme de base de données pour le Cloud Victor Coustenoble Matinée Cloud / Google, WeScale, DataStax,WattGo Ingénieur Solutions 29/05/15 [email protected] @vizanalytics

Upload: victor-coustenoble

Post on 07-Aug-2015

296 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: DataStax Enterprise - La plateforme de base de données pour le Cloud

DataStax EnterpriseLa plate-forme de base de données pour le Cloud

Victor Coustenoble Matinée Cloud / Google, WeScale, DataStax,WattGoIngénieur Solutions 29/05/[email protected]@vizanalytics

Page 2: DataStax Enterprise - La plateforme de base de données pour le Cloud

Agenda

Confidential 2

• Introduction• Qu’est-ce qu’une base de données « Cloud » ?• Apache Cassandra et DataStax Enterprise• Google Cloud Platform et DataStax• Cas d’utilisation

Page 3: DataStax Enterprise - La plateforme de base de données pour le Cloud

DataStax

Fondé en avril 2010

~35 500+

Santa Clara, Austin, New York, London, Paris, Sydney

400+Employés Pourcent Clients

3

Page 4: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 4

Qu’est ce qu’une base de données “Cloud” ?

Base de données optimisée pour gérer les limites et les particularités d’une infrastructure partagée et géographiquement dispersée : coupures, serveurs partagés, sécurité des données, réseau variable …

A qui la faute quand votre application tombe ?

Est-ce vous allez être dédommagé ?

Est-ce que cela va encore arriver ? Oui

=> Acceptez ce risque ou désignez convenablement votre application!

Page 5: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 5

“Design for Failure” pour le Cloud

Les composants de votre application doit être déployés à travers des composants du cloud redondant, idéalement sans point unique de défaillance.

Chaque composant de l’application ne doit pas faire de supposition sur l’infrastructure sous-jacente – adaptable aux changement de l’infrastructure sans arrêt de service.

Chaque composant de l’application doit être tolérant au partitionnement – on doit survivre à des problèmes de latence du réseau (ou perte de communication) sur les noeuds supportant le composant.

Des outils d’automatisation doivent être en place afin d’orchestrer les réponses de l’application aux coupures ou changements de l’infrastructure.

Page 6: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 6

Quid de ma base de données ?C’est la partie difficile n’est-ce pas?

• Replication de mes données entre des régions?

• Problème réseau et réplication de données ?

• Comment être actif à travers plusieurs régions?

• Comment étendre la capacité?

• Des mises à jour sans arrêt de service?

• Etc..etc…

En fait ce n’est pas compliqué – c’est exactement ce que Apache Cassandra et DataStax rendent simples

Page 7: DataStax Enterprise - La plateforme de base de données pour le Cloud

7

Une base de données pour le Cloud ?

Page 8: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 8

Ce qu’une base de données Cloud n’est pas

Une base de données Cloud n’est pas simplement une base de données traditionnel (SGBDR) que l’on fait fonctionner chez un founisseur Cloud

Page 9: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 9

Attributs clés d’une base de données Cloud

Elasticité Transparente

• Ajout et suppression de noeuds (physique ou virtuel) suivant la demande

• Pas d’arrêt de service pour cela• Redistribution simple• Compliqué avec les SGBDR et les bases de données

NoSLQ maître/esclave (complexité d’administration

Page 10: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 10

Attributs clés d’une base de données Cloud

Scalabilité - Montée en charge Transparente

• L’ajout de noeuds augmentent les performances en terme de débit mais aussi de volume de données traité (big data)

• L’idéal est d’avoir une scalabilité linéaire• Quelque soit le volume de données, les temps de

réponses des requêtes doivent être les mêmes

Page 11: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 11

Attributs clés d’une base de données Cloud

Haute Disponibilité

• Toujours en ligne, pas de point unique de défaillance• L’effet d’un arrêt de service est aujourd’hui négatif, 100%

en ligne est la norme• Coût important pour des arrêts ou des coupures

Page 12: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 12

Attributs clés d’une base de données Cloud

Distribution Simple des Données

• Important d’avoir la possibilité d’écrire et de lire sur n’importe quel noeud du Cloud

• Distribution sur de multiples régions géographiques, data-center, zones du founisseur Cloud => Haute disponibilité si une région tombe, simplification du plan de reprise, la donnée est protégée

Page 13: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 13

Attributs clés d’une base de données Cloud

Redondance des Données

• La données est protégée par de multiples copies sur différents endroits physiques

• Si la première copie est détruite, une autre copie sera utilisée• La possibilité de configurer cette redondance permettant de survivre à

plusieurs niveaux:• Serveur

• Rack / Zone de Disponibilité

• Region / Data Center

• Provider Cloud (AWS, GCE etc..)

Page 14: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 14

Attributs clés d’une base de données Cloud

Support de Multiple Type de Données

• Pouvoir gérer des données structurées, semi-structurées ou non structurées

• Pouvoir accepter différents types de données• Réponses des bases NoSQL

Page 15: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 15

Attributs clés d’une base de données Cloud

Simple à Administrer

• Facilité d’administration d’une base de données logique réparties sur différents noeuds

• Gérer une base de données distribuée géographique reste compliqué

• Des outils appropriés pour la supervision, gestion automatique et l’alerting sont essentiels

Page 16: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 16

Attributs clés d’une base de données Cloud

Support de Multiples Infrastructures

• Doit pouvoir se déployer sur différents fournisseurs Cloud (publiques ou privés) comme sur une infrastructure traditionnelle

• Ne pas être lié à un seul fournisseur Cloud• Support d’un déploiement hybride entre un Cloud publique

et une infrastructure privée

Page 17: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 17

Attributs clés d’une base de données Cloud

Sécurité

• Les données doivent est sécurisées à la fois lors de leur déplacement (communication intra-noeuds ou client-noeud) et au repos (sur disque).

• Besoin d’audit des requêtes• Sur une infrastructure partagé la sécurité est essentielle!

Page 18: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2014 DataStax. Do not distribute without consent. 18

Attributs clés d’une base de données Cloud

• Elasticité Transparente• Scalabilité Transparente• Haute Disponibilité• Distribution Simple des Données• Redondance des Données• Support de Multiples Types de Données• Simple à Administrer• Support de Multiples Infrastructures• Sécurité

Page 19: DataStax Enterprise - La plateforme de base de données pour le Cloud

Mais mon SGBDR peut faire ça non ?

Confidential 19

Plus scale up que scale outRéplication Maître/EsclaveCompléxité de la Répartition, de l’Administration…

Page 20: DataStax Enterprise - La plateforme de base de données pour le Cloud

20

Quelle base de données “Cloud” ?

Deux choix principaux:

• Utilisation d’une base de données du fournisseur CloudAvantage: Boîte noire, pas d’administration (vraiment?)

Inconvénient: Boîte noire, coût, performances, lien fort avec le founisseur

• Déployer sa propre base de données (Cassandra par exemple)Avantage: Pas de lien fort avec le fournisseur, optimisation des performances, moindre coût, intallation hybride, plus grande adoption

Inconvénient: Administration

Page 21: DataStax Enterprise - La plateforme de base de données pour le Cloud

21

Apache Cassandra et DataStax Enterprise

Page 22: DataStax Enterprise - La plateforme de base de données pour le Cloud

22

Apache Cassandra™• Apache Cassandra™ est une base de données NoSQL, Open Source, Distribuée et créée

pour les applications en ligne, modernes, critiques et avec des montée en charge massive.

• Développé en Java c’est un hybride entre Amazon Dynamo et Google BigTable

• Sans Maître-Esclave, sans Point Unique de Défaillance (Single Point Of Failure)

• Distribuée avec la possibilité de Centres de Données (Data Center)

• 100% Disponible

• Scalabilité en charge linéaire

• Haute Performance

• Séries Temporelles

• Simple à Exploiter• Language CQL (comme SQL)• Outils OpsCenter / DevCenter

©2014 DataStax Confidential. Do not distribute without consent.

Dynamo

BigTable

BigTable: http://research.google.com/archive/bigtable-osdi06.pdfDynamo: http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf

Node 1

Node 2

Node 3Node 4

Node 5

Page 23: DataStax Enterprise - La plateforme de base de données pour le Cloud

23

Haute Disponibilité et Cohérence Immédiate!

• La défaillance d’un seul noeud ne doit pas entraîner de défaillance du système

• Facteur de Réplication + Niveau de Cohérence = Succès

• Exemple:• RF = 3

• CL = QUORUM

©2014 DataStax Confidential. Do not distribute without consent.

Node 11st copy

Node 4

Node 5Node 22nd copy

Node 33rd copy

ParallelWrite

WriteCL=QUORUM

5 μs ack

12 μs ack

12 μs ack

>51% de réponses – donc la requête est réussie

CL(Lecture) + CL(Ecriture) > RF => Cohérence Immédiate

Page 24: DataStax Enterprise - La plateforme de base de données pour le Cloud

24

Configuration en Data Center

©2014 DataStax Confidential. Do not distribute without consent.

Node 11st copy

Node 4

Node 5Node 22nd copy

Node 33rd copy

Node 11st copy

Node 4

Node 5Node 22nd copy

Node 33rd copy

DC: EUROPEDC: USA

• Actif partout – lecture/écriture dans tous les DC

• Le client écrit localement dans un DC

• Données synchronisées à travers le WAN

• Facteur de Réplication par DC

Utilisations

• DC de sauvegarde

• Distribution géographique

• Charge différente entre DC

• Prod -> Pré-prod

Page 25: DataStax Enterprise - La plateforme de base de données pour le Cloud

Cloud & Cloud Hybride

• DataStax Enterprise et Cassandra sont disponibles en multi-data center et dans le cloud (Amazon AWS, Google Cloud et Microsoft Azure)

• Les données écrites dans n’importe quel noeud sont aussi automatiquement et de manière transparente écrites sur tous les autres noeuds dans les autres data centers sans ETL

Data Centre 1Data Centre 2

Public Cloud

Page 26: DataStax Enterprise - La plateforme de base de données pour le Cloud

Example Application

©2014 DataStax Confidential. Do not distribute without consent. 26

CassandraReplication

CassandraReplication

• Active-Active-Active

• Service based DNS routing

DC: USA DC: Europe DC: Asia

Web TierApp Tier App TierApp Tier

Web Tier

Web Tier

Web Tier

Page 27: DataStax Enterprise - La plateforme de base de données pour le Cloud

Example Application - Uptime

©2014 DataStax Confidential. Do not distribute without consent. 27

CassandraReplication

CassandraReplication

• Normal service maintenance

• Application is unaware

DC: USA DC: Europe DC: Asia

Web Tier

Web Tier

Web Tier

Web Tier

App Tier App TierApp Tier

Page 28: DataStax Enterprise - La plateforme de base de données pour le Cloud

App Tier

Example Application – DC Failure

©2014 DataStax Confidential. Do not distribute without consent. 28

CassandraReplication

CassandraReplication

• Data is safe.

• Route Traffic

DC: USA DC: Europe DC: Asia

Web Tier

Web Tier

Web Tier

Web Tier

App TierApp Tier

Page 29: DataStax Enterprise - La plateforme de base de données pour le Cloud

Example Application – Tier Failure

©2014 DataStax Confidential. Do not distribute without consent. 29

CassandraReplication

• App Tier is aware of the other DC

• Switches to access remote DC automatically

DC: USA DC: EuropeDC: Asia

Web Tier

Web Tier

Web Tier

Web Tier

App Tier App TierApp Tier

Page 30: DataStax Enterprise - La plateforme de base de données pour le Cloud

Example Application – WAN Failure

©2014 DataStax Confidential. Do not distribute without consent. 30

CassandraReplication

CassandraReplication

DC: USA DC: Europe DC: Asia

Web Tier

Consistency level?

Web Tier

Web Tier

Web Tier

App Tier App TierApp Tier

Page 31: DataStax Enterprise - La plateforme de base de données pour le Cloud

Confidential 31

DataStax Enterprise

Robustesse et Support pour la Production

Puissance pour le Développement

Support 24/7Cassandra certifiéAdministration avancéeSécurité avancéeRechercheAnalytique

Page 32: DataStax Enterprise - La plateforme de base de données pour le Cloud

Analytique avec DataStax Enterprise• Isolation des ressources pour différents cas d’utilisation : OLTP, Recherche,

Analytique Cassandra est fait pour ça!

• Vous pouvez créer des data centers isolés, virtuels et optimisés suivant les besoins – différentes charges de travail, matériels, disponibilité, etc …

• Cassandra repliquera les données pour vous – sans ETL

32

ReplicationCassandra

ApplicationOpérationnelle

Analytique

Page 33: DataStax Enterprise - La plateforme de base de données pour le Cloud

Rappel : Attributs clés d’une base de données Cloud

33

• Elasticité Transparente• Scalabilité Transparente• Haute Disponibilité• Distribution Simple des Données• Redondance des Données• Support de Multiples Types de Données• Simple à Administrer• Support de Multiples Infrastructures• Sécurité

Page 34: DataStax Enterprise - La plateforme de base de données pour le Cloud

Elasticité Transparente

34

1

2

3

4

5

6

1

7

104

2

3

5

6

8

9

11

12

Page 35: DataStax Enterprise - La plateforme de base de données pour le Cloud

Scalabilité Transparente

1

2

3

4

5

6

1

7

104

2

3

5

6

8

9

11

12

Performance throughput = N

Performance throughput = N x 2

Page 36: DataStax Enterprise - La plateforme de base de données pour le Cloud

Haute Disponibilité

36

• Architecture peer-to-peer et masterless de Cassandra• 100% en ligne est la norme!

Page 37: DataStax Enterprise - La plateforme de base de données pour le Cloud

Distribution Simple des Données

Page 38: DataStax Enterprise - La plateforme de base de données pour le Cloud

Redondance des Données

Page 39: DataStax Enterprise - La plateforme de base de données pour le Cloud

Support de Multiples Types de Données

• Le modèle de données de Cassandra (basé sur Google Bigtable) améne une flexibilité du stockage

• Stratégie DataStax de Multi-Modèle : Bientôt support de JSON et d’un modèle de données Graphe (via l’acquisition Aurelius/TitanDB)

ID Name SSN DOB

Portfolio Keyspace

Customer Table

Page 40: DataStax Enterprise - La plateforme de base de données pour le Cloud

Simple à Administrer

40

• OpsCenter et les outils fournis dans les différents fournisseurs Cloud permettent des installation et configurations rapides.

• Tout peut être administré et supervisé via une application Web ou via des API REST.

• Services automatiques d’administration et de supervision (performance), Alertes, Backup/Restore, PITR …

• Accès sécurisé

Page 41: DataStax Enterprise - La plateforme de base de données pour le Cloud

Support de Multiples Infrastructures

41

Cassandra est supporté par les plus importants fournisseurs Cloud et Operating Systems.

Page 42: DataStax Enterprise - La plateforme de base de données pour le Cloud

Securité

42

• Fonctionnalités de sécurité standard: Authentification, Autorisation, Chiffrement à la volée

• Support de fonctionnalités avancées : LDAP, Kerberos, Chiffrement sur disque, pistes d’Audit

Page 43: DataStax Enterprise - La plateforme de base de données pour le Cloud

43

DataStax et Google Cloud Platform

Page 44: DataStax Enterprise - La plateforme de base de données pour le Cloud

Confidential 44

Page 45: DataStax Enterprise - La plateforme de base de données pour le Cloud

Guide de Déploiement DataStax pour GCE

Confidential 45

https://academy.datastax.com/demos/datastax-enterprise-deployment-guide-google-compute-engine

Page 46: DataStax Enterprise - La plateforme de base de données pour le Cloud

• Pour jusqu’à 200 GB de données par noeud, instances n1-standard-8 avec 30 GB ram• Plus de 1 TB de données par noeud, instances n1-highmem-16 avec 104 GB ram• Recommandation de disque SSD (local ou persistant)

• Snitch “GoogleCloudSnitch” disponible pour déterminer la topologie des noeuds d’un cluster Cassandra en fonction des zones (racks) et régions (data centers) de GCP.

• Cassandra atteint 1 Millions d’écriture par seconde dans Google Compute Platform

Deployer Cassandra dans Google Compute Platform

©2014 DataStax. Do not distribute without consent.

Page 47: DataStax Enterprise - La plateforme de base de données pour le Cloud

47

DataStax & Google Cloud Platform = Ferrari & The Autobahn Blazing Fast Performance

"In the past we've had high performance and high throughput options ... for our network attached persistent disk (a great offering). But, sometimes you

need to take it up a notch ... and you want to have access to

local flash for your application, especially if you are doing something like a high performance Cassandra Cluster. And the way that works on Cloud Platform is somewhat unique. You can take any standard VM and attach flash to that.”

- Navneet Joneja, Product Manager, Google Cloud Platform at Google Cloud Platform Live 2014, November 2014, San Francisco

40px in height.

Page 48: DataStax Enterprise - La plateforme de base de données pour le Cloud

• One Million writes per second to Cassandra with a median latency of 10.3 ms and 95% completing under 23 ms

• Ideal for potentially spiky workloads, such as machine data generated across millions of devices with peaks

Google Cloud Platform & DataStax: Blazing-Fast Apps

© 2014 DataStax, All Rights Reserved. Company Confidential 48

• 330 Google Compute Engine virtual machines, 300 1TB Persistent Disk volumes, Debian Linux, and DataStax/Cassandra

http://googlecloudplatform.blogspot.co.uk/2014/03/cassandra-hits-one-million-writes-per-second-on-google-compute-engine.html

Page 49: DataStax Enterprise - La plateforme de base de données pour le Cloud

49

DataStax & Cassandra – Cas d’utilisation

Page 50: DataStax Enterprise - La plateforme de base de données pour le Cloud

Cas d’usage fréquents

Messagerie

Collections/Playlists

Détection de Fraude

Recommandation/ Personnalisation

Objets connectés/ Données de Capteurs

Page 51: DataStax Enterprise - La plateforme de base de données pour le Cloud

Cassandra @ Netflix

• 80+ Clusters

• 2500+ noeuds

• 4 Data Centres (Régions Amazon)

• > 1 Trillion transactions par jour

http://planetcassandra.org/functional-use-cases/

Performance et Montée en Charge dans le Cloud

©2014 DataStax Confidential. Do not distribute without consent. 51

Page 52: DataStax Enterprise - La plateforme de base de données pour le Cloud

The Smart Way to Manage Sensors for Energy and Cost SavingsThousands of sensors on rooftop machines in commercial buildingsPoor performance and limited scale with legacy technologies

Live in production in ~2 months ingesting, normalizing, and analyzing time-series sensor dataReduced TCO by over 67% compared to relational systemsLinear scale, 100% uptime with DataStax Enterprise and Google Cloud Platform Use Case: Internet of Things

Page 53: DataStax Enterprise - La plateforme de base de données pour le Cloud

©2013 DataStax Confidential. Do not distribute without consent. 53

Page 54: DataStax Enterprise - La plateforme de base de données pour le Cloud

Plus d’information

54

• http://www.datastax.com/deliver-blazingly-fast-online-applications-with-apache-cassandra-on-google-cloud-platform

• Cassandra Performance Benchmarkhttp://planetcassandra.org/blog/post/cassandra-performance-benchmark-aws-google-compute-engine-rackspace-cloud/

• Cassandra Hits One Million Writes Per Second on Google Compute Enginehttp://googlecloudplatform.blogspot.co.uk/2014/03/cassandra-hits-one-million-writes-per-second-on-google-compute-engine.html

• DataStax http://www.datastax.com

• Getting Started http://www.datastax.com/documentation/gettingstarted/

• Training http://www.datastax.com/what-we-offer/products-services/training

• Downloads http://www.datastax.com/download

• Documentation http://www.datastax.com/docs

• Developer Blog http://www.datastax.com/dev/blog

• Academy https://academy.datastax.com

• Community Site http://planetcassandra.org

Page 55: DataStax Enterprise - La plateforme de base de données pour le Cloud

Cassandra Days

Company Confidential 55

Page 56: DataStax Enterprise - La plateforme de base de données pour le Cloud

Merci, Questions ?

We power the big data apps that transform business.

©2013 DataStax Confidential. Do not distribute without consent.

[email protected]@vizanalytics