datastax enterprise et cas d'utilisation de apache cassandra
TRANSCRIPT
DataStax Enterprise (DSE)
et Cas d’utilisation
Zenika Lyon – 09/04/15
Victor Coustenoble Ingénieur [email protected]@vizanalytics
2
DataStax délivre une plateforme de la base de données
Apache Cassandra, conçue spécifiquement pour les
besoins en Performance et Disponibilité exigés par les
applications d’Internet des Objets, Web ou Mobiles, en
offrant aux entreprises une base de données Sécurisée
toujours disponible, qui reste Simple à administrer même
pour des déploiements à grande échelle, dans un seul ou
de Multiples Data Centers et dans le Cloud.
Aperçu
Fondé en avril 2010
~30 500+
Santa Clara, Austin, New York, London, Paris, Sydney
400+Employés Pourcent Clients
3
Straightening the road
RELATIONAL DATABASES
CQL SQL
OpsCenter / DevCenter Management tools
DSE for search & analytics Integration
Security Security
Support, consulting & training 30 years ecosystem
DataStax Enterprise
DataStax supporte la communauté open source et les entreprises
6
Open Source/Communauté Enterprise Software
• Apache Cassandra (emploie le
président du projet Apache et 80+%
des commiteurs)
• DataStax Community Edition
• DataStax Simple OpsCenter
• DataStax DevCenter
• DataStax Drivers/Connecteurs
• Documentation en ligne
• Formation en ligne
• Mailing lists et forums
• DataStax Enterprise Edition
• Cassandra Certifié
• In-Memory
• Analytique intégré (Hadoop, Spark)
• Recherche intégrée (Solr)
• Securité d’entreprise
• DataStax OpsCenter Avancé
• Services d’Administration Automatique
• Support Expert
• Aide et Consulting
• Formation Professionnelle
Support Expert
• Contrats de support avec des niveaux de service allant
des heures de travail à un support 24x7x365 pour des
applications critiques.
• Couvre à la fois les environnements de production et
de non-production.
• Revues (health checks) régulières pour de l’assistance
sur l’architecture, la conception et l’optimisation.
• Services packs certifiés vous gardant à jour sur tous
vos logiciels.
• Support correctifs (Hot-fix) pour les situations de
maintenance urgente.
©2014 DataStax Confidential. Do not distribute without consent.
DataStax Enterprise – Cassandra Certifié
• Prêt et certifié pour les environnements de production
• Processus rigoureux de certification:
• Tests assurance qualité étendus
• Tests de performance et de montée en charge avec des clusters de 1 000 noeuds
• Validation des logiciels tiers
• Résolution des défauts
• Certifié pour toutes les plateformes supportés
©2014 DataStax Confidential. Do not distribute without consent. 8
Table In-Memory = Lecture depuis MemTable
• Apporte tous les bénéfices de Cassandra à une base de données en mémoire
• Simple à utiliser
• Les tables en mémoire ressemblent et fonctionnent comme toute table Cassandra
• Idéal pour les cas d’utilisation demandant une latence faible en lecture
• Peut être combiné avec de l’analytique en mémoire pour un framework complet de processus transactionnel/analytique en mémoire
• Ecritures sont durables
• Amélioration de x10-x100
9
Securité dans Apache Cassandra F
ON
CT
ION
SB
EN
EF
ICE
S
Authentication Interne Gestion des ID de login et des mots de passe dans la base de données
+ S’assure que seuls les utilisateurs autorisés peuventaccèder à la base de donnéesutilisant la validation interne
+ Simple à implémenter et facile à comprendre
+ Pas de courbed’apprentissage par rapport au monde relationnel
Gestion de la Permission des ObjectsContrôle des accès aux objets et des actions des utilisateurs dans la base de données
+ Fournit un contrôle fin des utilisateurs pouvantajouter/modifier/supprimer/lire les données
+ Utilisation des commandesclassiques GRANT/REVOKE des systèmes relationnels
+ Pas de courbe d’apprentissage
Encryption Client à Noeud Protége les données naviguantvers et depuis le cluster de base de données
+ S’assure que les données ne peuvent pas êtreinterceptées/volées lors de l’acheminement au serveur
+ Les données sont sécurisées àla fois en transit vers/depuis la base de données et sur la base de données; une couverturecompléte est assurée
Securité Avancée dans DataStax EnterpriseF
ON
CT
ION
SB
EN
EF
ICE
S
Authentication externeUtilisation de systèmes de sécuritéexternes pour gérer la sécurité
+ Seuls les utilisateurs autoriséspeuvent accèder à la base de données utilisant la validation externe
+ Utilisation des meilleurssystèmes de sécurité externes(Kerberos, LDAP, Active Directory)
+ Authentification unique pour tousles domaines de données
Chiffrement Transparent des DonnéesProcessus de cryptage des données au repos
+ Protége les données sensiblesau repos contre le vol et contrela lecture au niveau du systèmede fichier
+ Pas besoin de changement au niveau applicatif
Audit des DonnéesPropose des pistes d’audit pour savoir qui a fait/vu quoi et quand
+ Fournit aux administrateurs des pistes d’audit de tous les accèset changements
+ Contrôle fin pour auditerseulement ce qui est nécessaire
+ Utilisation de l’interface log4j pour assurer les opérationsd’audit de performance et d’efficacité
Monitoring et Gestion d’un Cluster Cassandra
• Statistiques et opérations de gestion exposées via Java Management
Extensions (JMX)
• Monitoring via:
• L’utilitaire Cassandra nodetool
• La console de gestion DataStax OpsCenter
• JConsole
• D’autres outils (Nagios, Munin …)
©2013 DataStax Confidential. Do not distribute without consent. 12
OpsCenter - La visualisation de votre Cluster
Monitoring
● Visualisation des noeuds
● Métriques & Alertes *
● Activité des noeuds
● Temps Réel
Opérations
● Configuration
● Opération sur les noeuds
● Opération de masse
● Re-équilibrage *
● Sauvegarde / Restauration *
● Point In Time Recovery *
• Visuel, interface utilisateur Web.
• Tâches d’installation, de configuration, et d’administration avec de simples clics
• Support visuel des Services de Gestion Automatique DataStax
• API REST permettant de scripter toutes les fonctions de OpsCenter
• Fonctionne sur tout type de terminal (tablette, etc.)
• Historique des métriques *
• Accès sécurisé *
* Seulement dans Datastax Enterprise
Services d’Administration Automatique dans DataStax Enterprise
• Gére automatiquement une grand nombre de tâches de maintenance et de gestion
• Rend l’utilisation de DataStax Enterprise plus simple
• Repair service – conserve automatiquement la cohérence des données à travers le cluster
• Capacity service – permet l’analyse des tendances historiques et la prévision des futurs besoins
• Performance service – donne un aperçu des performances du cluster avec des objets de diagnostique pouvant être interrogés en CQL
• Best Practice service – fait respecter les règles des meilleurs pratiques dansplusieurs domaines (securité, configuration, etc.) afin d’assurer une installation et une optimisation correcte
• Backup Service – permet la gestion des sauvegardes/restaurations, du chiffrement, de la migration de données avec des rapports d’activité
©2013 DataStax Confidential. Do not distribute without consent. 14
Architecture DataStax Enterprise
© 2014 DataStax, All Rights Reserved. Company Confidential
DataStax
• Analytics
• Search
• Transform
Online Operational Application
DataStax Cassandra Enterprise
Cassandra
Cluster
15
DataStax Enterprise - Analytique
• Conçu pour faire des analyses sur des données Cassandra
• Il y a 4 façons de faire de l’Analytique sur des données Cassandra:
1. Recherche
2. Analytique en mode Batch
3. Analytique en mode Batch avec des outils Externe
4. Analytique Temps Réel
©2014 DataStax Confidential. Do not distribute without consent.
Isolation des ressources
• Besoin d’isoler les ressources pour différents cas d’utilisation ? 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 – pas besoin d’ETL
©2014 DataStax Confidential. Do not distribute without consent. 17
Replication
Cassandra
Application
OpérationnelleAnalytique
Moteur de Recherche
• Recherche sur des données Cassandra à travers une intégration forte du moteur Solr
• Facettes, filtres, recherche geospatial, recherche plein texte, etc…
• Opérations de recherche temps réel
• Requêtes de recherche depuis CQL et l’API REST de Solr
• Avantages par rapport à Solr seul:
• Pas de goulot d’étranglement, le client peut lire/écrire sur tous les noeuds Solr
• Partionnement et réplication des index de recherche pour la montée en charge et la disponibilité
• Support Multi-DataCenter
• Durabilité de la donnée (Solr manque de log, les données peuvent être perdues)
18
Replication
Cassandra
Application
Opérationnelle
Noeuds
Recherche
Analytique Batch - Hadoop
• Hadoop 1.0.4 intégré
• CFS (Cassandra File System) , pas de HDFS
• Pas de point unique de défaillance
• Sans la complexité de Hadoop – chaque noeud est identique
• Hive / Pig / Sqoop / Mahout
©2014 DataStax Confidential. Do not distribute without consent. 19
Replication
Cassandra
Application
Opérationnelle
Noeuds
Hadoop
Analytique Batch Externe - BYOH
“Bring Your Own Hadoop”
Hadoop Externe
Resource
Manager
Requête
Hive
• Support Hadoop 2.x
• Noeud Cassandra vu comme un DataNode
• Ex: Hive soumet des jobs au Job tracker qui
assigne les tasks aux Task trackers installés
sur les noeuds Cassandra
• Certifié sur Cloudera et Hortonworks
Noeuds
Cassandra
Analytique Temps Réel - Spark
• Intégration poussée avec Cassandra de Spark 1.1
• Traitement Distribué
• “In-memory Map/Reduce”, multi-thread, meilleur pour les itérations
• GraphX, MLLib (Machine learning), Shark (hive sql like), SparkSQL
• Spark Streaming - Temps Réel
• Partenariat DataStax / Databricks
• x10 – x100 plus rapide que MapReduce
©2014 DataStax Confidential. Do not distribute without consent. 21
Replication
Cassandra
Application
Opérationnelle
Noeuds
Spark
Le SDK du « Big Data »
Big Data Temps Réel - Recommandation + Analytique
©2014 DataStax Confidential. Do not distribute without consent. 22
Enrichissement des Données
Batch Processing
Machine Learning
Agrégats pré-calculésDonnéesPas d’ETL
Spark Use Cases
23
Load data from various
sources
Analytics (join, aggregate, transform, …)
Sanitize, validate, normalize data
Schema migration,
Data conversion
DataStax Enterprise© 2014 DataStax, All Rights Reserved. Company Confidential
OpsCenter
Services
Monitoring
Operations
Operational
Application
Real Time
Search
Real Time
Analytics
Batch
Analytics
Analytics
Transformation
s
24
Cassandra Cluster – Nodes Ring – Column Family Storage
High Performance – Alway Available – Massive Scalability
Advanced
Security
In-Memory
Support
Comment utilisez vous DataStax?
26
En contrôlant votre
consommation d’énergie
En regardant des films
en streaming
En naviguant
sur des sites Internet
En achetant
en ligne
En effectuant un règlement
via Smart Phone
En jouant à des
jeux-vidéo très
connus
5 Cas d’usage fréquents
Messagerie
Collections/
Playlists
Détection de
Fraude
Recommandation/
Personnalisation
Objets connectés/
Données de
Capteurs
DataStax Enterprise + DW/Hadoop
© 2014 DataStax, All Rights Reserved. Company Confidential
Write Intensive
Internet of Things - Activity
logs for fraud and
recommendation –
Messages
28
Read Intensive
Catalogue – Playlist –
Recommendation – Fraud
Alert – Personalization
Operational Search,
Dashboard and Reporting
Offline Applications
Historical Analysis – Complex
Analytics – Self Service BI
Operational Search,
Dashboard and Reporting
Data Warehouse
Hadoop cluster
Computation Engine
Netflix séduit ses Clients avec des Recommandations Personnalisées
Leader mondial de la vidéo en streaming avec un revenu supérieur à 1.5 Milliard de $
Adapte le contenu délivré en se basant sur les données de visionnage capturées dans Cassandra
Capitalisation boursière en hausse de 600% depuis 2012
L’introduction des ‘Profiles’ a poussé le débit à plus de 10M de transactions par seconde
A Remplacé Oracle dans six data centers dans le monde, 100% en mode cloud
Use Case: Personalization29
• 80+ Clusters
• 2500+ noeuds
• 4 Data Centers (Régions Amazon)
• > 1 Trillion transactions par jour
http://planetcassandra.org/functional-use-cases/
Cassandra DataStax @ Netflix
©2014 DataStax Confidential. Do not distribute without consent. 30
Déploiement Cassandra chez Apple
• 75 000+ noeuds
• 10’s petabytes de données
• Millions ops/second
• Plus gros cluster à 1000+ noeuds
Apple Inc.: Cassandra at Apple for Massive Scale
Video https://www.youtube.com/watch?v=Bc4ql9TDzyg
From Cassandra Summit, London, December
2014
Spotify Translates Mood into Music by Delivering the Right Playlist for Every Moment
Leading streaming music provider with over 40M+ active monthly users
Empowers users to access massive database of music and create and share custom playlists
Over 1 billion playlists created and managed in real time
More than 40,000 requests/second handled without latency
Managing 500+ nodes across 4000 servers in 4 data centers without any downtime
Use Case: Playlists
Google Nest Revolutionizes the Thermostat
Google pays $3BN for Nest, not for thermostat, but for data
All interactions with customer thermostats are written to DataStax
All mobile application interactions are handled by DataStax
DataStax chosen for ability to handle high velocity writes in time series
Use Case: Internet Of Things
EBay Connects 100M Customers with 400M Items; Always-On
World’s largest online marketplace needed highly scalable, available and robust data store
Handles fraud detection, messaging, and more with DataStax Enterprise
Ensures that users get the most accurate results for their searches
Stores vast amounts of data: 250 TBs (Single transactional table: 40TB!)
Handles high velocity with over 6 billion writes and 5 billion reads daily
34
Delivers 150+ Billion Content Recommendations Per Month
Serves content for largest media brands in the world: Reuters, Wall St Journal, USA Today
Needed a massively scalable data store
High velocity of data with 58,000 links to content per second
Always-on data architecture
Lost a data center during Hurricane Sandy but never went offline
35
Credit Suisse Benefits from Cassandra’s Resiliency
Play: Cloud/On-Prem/Hybrid
Public clouds not an option
Key infrastructure challenges: high availability, data retention, scale and user experience
Started with risk-management systems to help improve up-time
Expanding into new areas
A new approach—traditional databases could not meet performance needs