DataStax EnterpriseApache Solr, Apache Spark, Graph
BBL / 21 janvier 2016 / Voyages-SNCF
Victor Coustenoble Ingénieur [email protected]@vizanalytics
RELATIONAL DATABASES
CQL SQL
OpsCenter / DevCenter Management toolsDSE for search & analytics IntegrationSecurity Security
Support, consulting & training 30 years ecosystem
3
DataStax Enterprise (DSE)
Robustesse et Support pour la ProductionSolution d’Entreprise
Puissance pour le DéveloppementWorkloads différents
Une plateforme de base de données Opérationnelle
In-MemoryOption de base de données en mémoire pour le stockage en RAM et non plus sur disque de certaines données pour un accès encore plus rapide.
SupportSupport 24x7 avec des hot-fixes et des revues de performance.
Visual AdminUn outil visuel “OpsCenter” pour la supervision et l’administration d’un cluster DataStax.
Management ServicesServices d’administration automatique (repair, backup, alertes, ….) et suivi des performances.
Cassandra CertifiedUne version de Apache Cassandra certifiée, supportée et prête pour l’entreprise.
SecurityFonctionalités de sécurité d’entreprise comme le chiffrement des données sur disques, des traces d’audit et une authentification externe via Kerberos, LDAP/Active Directory
DataStax Enterprise (DSE)
5©2015 DataStax. Do not distribute without consent.
Recherche Intégrée• Recherche sur des données Cassandra à travers une
intégration forte des moteurs Solr et Lucene• Facettes, filtres, recherche geospatial, recherche plein
texte, jointures, etc…• Opérations de recherche et d’indexation temps réel• Requêtes de recherche depuis CQL et l’API REST de
Solr• Index Solr distribués et répliqués, architecture
Masterless
6©2015 DataStax. Do not distribute without consent.
Analytique et Transformation de données• Intégration poussée avec Cassandra de Apache Spark• Spark = Traitement Distribué : “In-memory Map/Reduce”, multi-thread …• GraphX, MLLib (Machine learning), SparkSQL, Spark Streaming, SparkR• Serveur Spark JDBC – Spark Job Server• Intégration de Solr• Partenariat DataStax / Databricks
C*
C*
C*C*
Spark Executor
C* Java Driver
Spark-Cassandra Connector
User Application
Cassandra
Connecteur Spark Cassandra
• Lecture / Ecriture de données Cassandra depuis Spark• Mapping entre tables Cassandra et RDD / DataFrame• Data Locality• Mapping entre partitions Spark et partitions Cassandra• Conversion des types• API Scala, Java et Python
8
Load data from various sources
Analytics (join, aggregate, transform, …)
Sanitize, validate, normalize data
Schema migration,Data conversion
Cas d’utilisation
©2014 DataStax Confidential. Do not distribute without consent. 9
Enrichissement des Données
Batch Processing Machine Learning
Agrégats pré-calculésDonnées Sans ETL
Traitement Temps-réel ou Batch
10©2014 DataStax Confidential. Do not distribute without consent.
No ETL
Isolation des workload
Confidential 11
Architecture SMACK
SparkMesosAkkaCassandraKafka
Confidential 12
Exemple d’architecture SMACK
Source : http://www.natalinobusa.com/2015/11/why-is-smack-stack-all-rage-lately.html
Le Futur de DataStax Enterprise
13
Base de données Graphe ?
©2015 DataStax
DataStaxDataBricks
Spark
DSE
CassandraJonathan Ellis
Robin Schumacher
Billy Bosworth
partner
worksFor title: VP Product
develops
develops
uses
uses
reportsTo
reportsTo
managesworksFor
title: CTO
worksFor title: CEO
RDBMS vs. Graph DBSELECT TOP (5) [t14].[ProductName] FROM (SELECT COUNT(*) AS [value], [t13].[ProductName] FROM [customers] AS [t0] CROSS APPLY (SELECT [t9].[ProductName] FROM [orders] AS [t1] CROSS JOIN [order details] AS [t2] INNER JOIN [products] AS [t3] ON [t3].[ProductID] = [t2].[ProductID] CROSS JOIN [order details] AS [t4] INNER JOIN [orders] AS [t5] ON [t5].[OrderID] = [t4].[OrderID] LEFT JOIN [customers] AS [t6] ON [t6].[CustomerID] = [t5].[CustomerID] CROSS JOIN ([orders] AS [t7] CROSS JOIN [order details] AS [t8] INNER JOIN [products] AS [t9] ON [t9].[ProductID] = [t8].[ProductID]) WHERE NOT EXISTS(SELECT NULL AS [EMPTY] FROM [orders] AS [t10] CROSS JOIN [order details] AS [t11] INNER JOIN [products] AS [t12] ON [t12].[ProductID] = [t11].[ProductID] WHERE [t9].[ProductID] = [t12].[ProductID] AND [t10].[CustomerID] = [t0].[CustomerID] AND [t11].[OrderID] = [t10].[OrderID]) AND [t6].[CustomerID] <> [t0].[CustomerID] AND [t1].[CustomerID] = [t0].[CustomerID] AND [t2].[OrderID] = [t1].[OrderID] AND [t4].[ProductID] = [t3].[ProductID] AND [t7].[CustomerID] = [t6].[CustomerID] AND [t8].[OrderID] = [t7].[OrderID]) AS [t13] WHERE [t0].[CustomerID] = N'ALFKI' GROUP BY [t13].[ProductName]) AS [t14]ORDER BY [t14].[value] DESC
g.V('customerId','ALFKI').as('customer') .out('ordered').out('contains').out('is').as('products') .in('is').in('contains').in('ordered').except('customer') .out('ordered').out('contains').out('is').except('products') .groupCount().cap().orderMap(T.decr)[0..<5].productName
VS.
Company Confidential 16
Cas d’utilisation et pourquoi ?
Meilleur réponse pour les applications avec des données hautement connectés (Réseaux électriques, réseaux sociaux …)
17
Multi-Modèle dans DataStax Enterprise
Transactions Analytics Search
Mixed Workload Needed?
Solved in DSE
Wide Row Graph JSON
Mixed Model Needed?
Solved in DSE
DSEAnalyticsSearch
Transactions
DSEWide Row
JSONGraph
DataStax Enterprise Graph
“DSE Graph est une solution de base de données graphe scalable pour les applications Web et Mobiles avec des besoins de gérer des données hautement connectés”
Origine : Projet Open Source Titan
DSE Graph est intégré dans DSE:• Intégration forte dans Cassandra• OLAP et analyse Graph avec Apache Spark• OLTP avec support de Apache Solr pour la recherche• Supervision depuis OpsCenter• Pas de besoin de noeuds ou clusters additionnels• Pas de processus externe, même JVM• Utilisation et Support du framework TinkerPop
Company Confidential 19
Apache TinkerPopOpen Source Graph Computing Framework
• TinkerPop améne des briques et capacités de calcul pour les bases de données graphes (OLTP) et les systèmes analytiques de graph (OLAP)
• DataStax utilise TinkerPop dans DSE Graph
• DataStax va fortement contribuer à la communauté TinkerPop et va investir dans le langage Gremlin
• DataStax va fournir des ressources, documentation, exemples, formation ...
© 2015 DataStax, All Rights Reserved. 20
DataStax Academy : https://academy.datastax.com
Self-Paced Courses
21© 2015 DataStax, All Rights Reserved.
FREE
O’Reilly Certification
22© 2015 DataStax, All Rights Reserved.
23
Plus d’information
• DataStax: http://www.datastax.com• 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
©2014 DataStax Confidential. Do not distribute without consent.
24©2015 DataStax. Do not distribute without consent.
We power the big data apps that transform business.
Merci