datastax enterprise - la plateforme de base de données pour le cloud
TRANSCRIPT
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
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
DataStax
Fondé en avril 2010
~35 500+
Santa Clara, Austin, New York, London, Paris, Sydney
400+Employés Pourcent Clients
3
©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!
©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.
©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
7
Une 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
©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
©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
©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
©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
©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..)
©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
©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
©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
©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!
©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é
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…
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
21
Apache Cassandra et DataStax Enterprise
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
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
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
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
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
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
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
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
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
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
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
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é
Elasticité Transparente
34
1
2
3
4
5
6
1
7
104
2
3
5
6
8
9
11
12
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
Haute Disponibilité
36
• Architecture peer-to-peer et masterless de Cassandra• 100% en ligne est la norme!
Distribution Simple des Données
Redondance des Données
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
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é
Support de Multiples Infrastructures
41
Cassandra est supporté par les plus importants fournisseurs Cloud et Operating Systems.
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
43
DataStax et Google Cloud Platform
Confidential 44
Guide de Déploiement DataStax pour GCE
Confidential 45
https://academy.datastax.com/demos/datastax-enterprise-deployment-guide-google-compute-engine
• 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.
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.
• 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
49
DataStax & Cassandra – Cas d’utilisation
Cas d’usage fréquents
Messagerie
Collections/Playlists
Détection de Fraude
Recommandation/ Personnalisation
Objets connectés/ Données de Capteurs
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
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
©2013 DataStax Confidential. Do not distribute without consent. 53
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
Cassandra Days
Company Confidential 55
Merci, Questions ?
We power the big data apps that transform business.
©2013 DataStax Confidential. Do not distribute without consent.
[email protected]@vizanalytics