SlideShare a Scribd company logo
The 
C* 
Experience 
at 
Orange 
Jean 
Armel 
Luce 
Orange 
France 
Season 
2 
Thursday, 
September 
11 
2014
2 
The Cassandra experience at Orange - season 1 
Summary 
1. Why 
did 
we 
choose 
C* 
for 
our 
applicaHon 
PnS 
? 
2. Our 
migraHon 
strategy 
(without 
any 
interrupHon 
of 
service) 
3. AOer 
the 
migraHon 
… 
§ For more details , watch « the Cassandra Summit Europe 2013 »: 
– hQps://www.youtube.com/watch?v=mefOE9K7sLI&feature=youtube_gdata 
Jean Armel Luce - Orange-France
3 
The Cassandra experience at Orange - season 2 
Summary 
1. Short 
descripHon 
of 
the 
applicaHon 
PnS 
2. Keyring: 
why 
design 
customer 
ids 
with 
graphs 
in 
C* 
? 
3. BYOHH 
(Bring 
Your 
Own 
Hadoop 
& 
Hive) 
with 
Cassandra 
Jean Armel Luce - Orange-France
If you missed season 1: 
Short description of PnS
5 
PnS: Short description of the application 
§ PnS means Profile and Syndication: a highly available service for 
collecting and serving live data about Orange customers 
§ End users: 
– Orange customers (www.orange.fr) 
– Sellers in Orange shops 
– Some services in Orange (advertisements, …) 
Jean Armel Luce - Orange-France
6 
PnS: The Big Picture 
Jean Armel Luce - Orange-France 
End users 
Millions of HTTP requests 
(Rest or Soap) 
Fast and highly available 
WebService to get or set 
data stored by pns: 
- postProcessing(data1) 
- postProcessing(data2) 
- postProcessing(data3) 
- postProcessing(datax) 
- … 
Database 
PNS 
Data providers 
Thousands of files 
(Csv, json or Xml) 
Scheduled data injection 
DB Queries 
R/W operations
§ 1 multi DC cluster 
§ and web services 
(read and writes) 
§ for batch updates 
7 
PnS: Architecture at the end of 2013 
2 DCs architecture for high availability 
Bagnol 
et 
Jean Armel Luce - Orange-France 
Sophia 
Antipolis
8 
PnS: Some key dates about the PnS3.0 project 
Season 1 (From April 2013 to October 2013) 
Migration to C* 
Season 2 part 1 (November 2013) 
Keyring 
Season 2 part 1 (April 2014) 
Hadoop & Hive for Analytics 
Jean Armel Luce - Orange-France
Keyring: 
Why 
design 
customer 
ids 
with 
graphs 
in 
C* 
?
10 
PnS database design 
§ Nearly 35 tables at the end of 2013 
CREATE TABLE customers ( 
customer_id varchar, 
col1 varchar, 
col2 bigint, 
col3 set<text>, 
..., 
coln timestamp, 
PRIMARY KEY (customer_id)); 
§ SELECT colx, coly, colz FROM customers WHERE customer_id = '???' ; 
Jean Armel Luce - Orange-France
11 
Customer ids 
§ What is a customer id ? 
– cell 
number 
– internet 
account 
– email 
address 
– ISE 
(internal 
identifier 
used 
by 
many 
other 
Orange 
applications) 
– .... 
§ For many reasons, data is stored in tables with different primary keys 
– some data are often retrieved using a cell number 
è stored when possible in a table where PK is a cell number 
– … but all customers don’t have a cell number 
è stored in a table where PK is not a cell number 
– … 
Jean Armel Luce - Orange-France
12 
Customer ids translation 
§ A PnS user knows only 1 customer id 
§ He often needs to retrieve data indexed by another kind of cust id in the 
DB 
Jean Armel Luce - Orange-France 
My cell number 
is (209) 
123-4567 SELECT * FROM pns 
WHERE cust_id = ‘ISE_QWERTY’ 
customer_id 
translation
13 
Database design in the old relational databases 
§ Design with secondary indexes ? 
SELECT email_address FROM customer_ids WHERE cell_number 
= ???; 
§ Requires a lot of secondary indexes with values having high cardinality 
§ With C*, secondary indexes with values having a high cardinality are 
wasteful 
Jean Armel Luce - Orange-France 
ISE Cell_ 
number 
email_ 
address … idtypeN 
Primary 
Key 
Secondary 
indexes 
intranet 
account
14 
Design with graph for C* 
IdType=‘EMAIL’ 
IdValue=‘priam@ 
orange.com’ IdType=‘ISE’ 
IdValue=‘myISE1’ 
IdType=‘Internet’ 
IdValue=‘99999999999 
’ 
Jean Armel Luce - Orange-France 
IdType=‘Cell’ 
IdValue=(209) 123-4567 
IdType=‘EMAIL’ 
IdValue=‘hecuba@ 
orange.com’ 
IdType=ISE 
IdValue=‘myISE2’ 
IdType=‘Cell’ 
IdValue=(209) 
123-4568 
Type=‘ISE’ 
Value=‘myISE3’ 
IdType=‘Cell’ 
IdValue=(209) 
123-4569 
IdType=‘EMAIL’ 
IdValue=‘paris@ 
orange.com’ 
IdType=‘EMAIL’ 
IdValue=‘alexander@ 
orange.com’
15 
The new « Customer ids » table in C* 
§ Table of edges between customer ids 
CREATE TABLE graph( 
idvalue1 text, -- type of the initial vertex of the arc 
idtype1 text, -- value of the initial vertex of the arc 
idvalue2 text, -- type of the terminal vertex of the arc 
idtype2 text, -- value of the terminal vertex of the arc 
attr map<text, text>, -- a column of map type for storing any kind of property 
t timestamp, 
PRIMARY KEY ((idvalue1) , idtype1 , idtype2 , idvalue2 ) 
); 
SELECT * FROM graph WHERE idvalue1 IN (‘???’) 
Jean Armel Luce - Orange-France
16 
Small independant graphs 
§ 500.000.000 edges in the graph 
§ The keyring graph is not a single large graph 
§ It’s rather a lot of small independant undirected graphs 
Ø Each vertex has a small neighborhood. 
Ø The search of a customer id is limited into a small subset of 
the edges and vertices 
Jean Armel Luce - Orange-France
17 
Atomicity 
§ The edges are bi-directional (undirected) 
– We need to insert or update 2 rows for each edge 
– The atomic batch mode guarantees that the 2 directions are updated 
atomically 
Jean Armel Luce - Orange-France
18 
Optimization of the search of the shortest path 
§ We know which kind of customer id are used by the PnS users 
§ We know which kind of customer id are used for indexation 
§ For each pair, the shortest paths are predefined in our application 
PnS (according to the kind of customer ids) 
Jean Armel Luce - Orange-France
19 
Search API in the graph 
§ An in-house C++ library offers an API for an iterative breadth-first 
graph exploration 
§ Example: looking for H from A 
E 
Jean Armel Luce - Orange-France 
C 
H 
F 
D 
G 
I 
A 
B 
SELECT * FROM graph WHERE credval1 IN (‘B’, ‘F’);
20 
Nb queries per search 
§ Looking for a direct neighbour requires only 1 SELECT 
§ Looking for a neighbour of a neighbour requires 2 SELECT 
§ Looking for a neighbour of a neighbour of a neighbour requires 3 
SELECT 
Jean Armel Luce - Orange-France 
§ …
21 
Search Response time 
Number of searches/sec Response time per search (in ms) 
Nearly 700 searches/sec 2ms < RTT < 3.5 ms 
§ A search executed using 1, 2 or 3 reads è very low response time 
(thanks to FusionIO and C++ code) 
Jean Armel Luce - Orange-France
22 
Conclusions about Keyring 
§ We had to rethink this feature, 
because C* != RDBMS 
§ At first glance, a graph looks 
like an exotic design … but for 
our use case, it works well with 
C* … and FusionIO. 
§ Favoring the access to data 
through the partitioning key is 
very efficient for getting a low 
response time and a linear 
scalability. 
Jean Armel Luce - Orange-France
BYOHH: 
Bring Your Own Hadoop & 
Hive with Cassandra
24 
Basic architecture of the Cassandra cluster 
§ Cluster without Hadoop: 2 datacenters, 16 nodes in each DC 
§ RF (DC1, DC2) = (3, 3) 
§ CL = ONE or LOCAL_QUORUM for online queries 
§ Requests from web servers in DC1 are sent to C* nodes in DC1 
§ Requests from web servers in DC2 are sent to C* nodes in DC2 
Pool 
of 
web 
servers 
DC1 
Pool 
of 
web 
servers 
DC2 
DC1 DC2 
Jean Armel Luce - Orange-France
25 
Adding a new datacenter for analytics 
§ Cluster with Hadoop/Hive: 3 datacenters, 16 nodes in DC1, 16 
nodes in DC2, 4 nodes in DC3 
§ RF (DC1, DC2, DC3) = (3, 3, 1) 
§ Because RF = 1 in DC3, we need less storage space in this 
datacenter 
§ We favor cheaper disks (SATA) in DC3 rather than SSDs or 
FusionIo cards 
Jean Armel Luce - Orange-France
26 
Architecture of the Cassandra cluster with the 
new datacenter for analytics 
DC1 DC2 
DC3 
Jean Armel Luce - Orange-France 
Pool 
of 
web 
servers 
DC1 
Pool 
of 
web 
servers 
DC2
27 
Potential impacts of map reduce tasks for online 
queries 
DC1 DC2 
DC3 
Jean Armel Luce - Orange-France 
Pool 
of 
web 
servers 
DC1 
Pool 
of 
web 
servers 
DC2 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
Timeouts 
HH 
Timeouts 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
HH 
Hinted Handoffs 
for online 
update queries 
not replicated in DC3 
Timeouts 
due to 
CL=ONE 
used for 
online 
READ 
queries 
Map reduce tasks take all the 
resources (CPU, RAM, IO, …)
28 
Isolation between online queries and map reduce tasks: 
CL ANY 
CL LOCAL_ONE 
CL ONE 
CL LOCAL_QUORUM 
CL EACH_QUORUM 
CL QUORUM 
CL ALL 
Solution for timeouts (online READ queries) 
§ Use a LOCAL CONSISTENCY LEVEL: 
– For map reduce tasks in DC3: 
Jean Armel Luce - Orange-France 
– LOCAL_ONE 
– For online queries in DC1 or DC2: 
– LOCAL_ONE 
– LOCAL_QUORUM 
LOCAL_ONE is available since C* 1.2.12 
(cf. JIRA CASSANDRA-6238) 
Timeouts 
due to 
CL=ONE 
used for 
online 
READ 
queries
29 
Solution for Hinted Handoffs (online WRITE 
queries) 1/2 
Guarantee on resources for online queries 
Jean Armel Luce - Orange-France 
§ Use CGROUPS: 
– Can guarantee a minimum of CPU/RAM for online queries 
– Cgroups cannot be used for I/O disks (Map tasks call C* processes 
when reading data on disk) 
Hinted Handoffs 
for online 
update queries 
not replicated in DC3
30 
Solution for Hinted Handoffs (online WRITE queries) 
2/2 
Swap global and local read repair 
chances 
Jean Armel Luce - Orange-France 
§ By default, in C* 1.2: 
– read_repair_chance = 0.1 
– dclocal_read_repair_chance = 0.0 
§ For highly read tables, the read repairs are 
not sent to DC3: 
– Set read_repair_chance = 0.00 
– Set dclocal_read_repair_chance = 0.1 
Ø Less load and IO disks in DC3 
DCLOCAL_READ_REPAIR_CHANCE=0.1 is 
now the default since C* 2.0.9 (cf. JIRA 
CASSANDRA_7320) 
Hinted Handoffs 
for online 
update queries 
not replicated in DC3 
DC1 DC2 
DC3
§ 256 VN per C* node is usually recommended 
§ At least 1 map task per virtual node in DC3 
31 
Tradeoff “ease of exploitation vs optimization” 
– Disabling virtual nodes in DC3 
adding new nodes in DC3 is less easy 
shorten the execution time 
– Enabling virtual nodes in DC3 
adding new nodes in DC3 is easier, 
What is the right number of vnodes ? 64 VN/node 
looks good. 
Jean Armel Luce - Orange-France
32 
Contributions and open sourced modules 
§ Hive Handler open sourced by Orange 
§ Works with CDH4.4 and C* 1.2.13 
§ Feature added to this handler: authentication 
Jean Armel Luce - Orange-France 
§ Github: 
https://github.com/Orange-OpenSource/cassandra_handler_for_hive 
Thanks to Cyril Scetbon for this handler
33 
Conclusions about BYOHH 
§ The installation of Hadoop & Hive is tricky, but we didn’t have choice for 
analytics because CQL has many limitations 
§ We had to rethink our architecture. Now, we are able to do analytics with 
Hadoop + Hive with a better isolation between online and analytics queries. 
§ We have also discovered an interesting ecosystem around C* which offers 
more capabilities. With this ecosystem, we can benefit from the strengths of 
C* and workaround some of the limitations. 
Jean Armel Luce - Orange-France
Conclusions
35 
Season 2: Conclusions 
1. Rethink 
2. Adapt 
3. Leverage 
Jean Armel Luce - Orange-France
36 
Thank 
you 
Jean Armel Luce - Orange-France
37 
Jean Armel Luce - Orange-France 
Questions
38 
A few answers about hardware/OS version /Java version/ 
Cassandra version/Hadoop version 
Jean Armel Luce - Orange-France 
§ Hardware: 
§ 16 nodes in DC1 and DC2 at the end of 2013: 
§ 2 CPU 6cores each Intel® Xeon® 2.00 GHz 
§ 64 GB RAM 
§ FusionIO ® 800 GB MLC 
§ 4 nodes in DC3 
§ 24 GB de RAM 
§ 2 CPU 6cores each Intel® Xeon® 2.00 GHz 
§ SATA Disks 15Krpm 
§ OS: Ubuntu Precise (12.04 LTS) 
§ Cassandra version: 1.2.13 
§ Hadoop version: CDH 4.4 (with Hive 0.10): Hadoop 2 with MRv1 
§ Hive handler: https://github.com/Orange-OpenSource/cassandra_handler_for_hive 
§ Java version: Java7u45 (GC CMS with option CMSClassUnloadingEnabled)
39 
A 
few 
answers 
about 
data 
and 
requests 
Jean Armel Luce - Orange-France 
§ Data types: 
§ Volume: 6 TB at the end of 2013 
§ elementary types: boolean, integer, string, date 
§ collection types 
§ complex types: json, xml (between 1 and 20 KB) 
§ Requests: 
§ 10.000 requests/sec at the end of 2013 
§ 80% get 
§ 20% set 
§ Consistency level used by PnS for online queries and batch updates: 
§ LOCAL_ONE (95% of the queries) 
§ LOCAL_QUORUM (5% of the queries)

More Related Content

Viewers also liked

Introduction to Dating Modeling for Cassandra
Introduction to Dating Modeling for CassandraIntroduction to Dating Modeling for Cassandra
Introduction to Dating Modeling for Cassandra
DataStax Academy
 
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
Cassandra Summit 2014: Apache Cassandra at Telefonica CBSCassandra Summit 2014: Apache Cassandra at Telefonica CBS
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
DataStax Academy
 
Coursera's Adoption of Cassandra
Coursera's Adoption of CassandraCoursera's Adoption of Cassandra
Coursera's Adoption of Cassandra
DataStax Academy
 
Production Ready Cassandra (Beginner)
Production Ready Cassandra (Beginner)Production Ready Cassandra (Beginner)
Production Ready Cassandra (Beginner)
DataStax Academy
 
Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!
DataStax Academy
 
The Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to DatabaseThe Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to Database
DataStax Academy
 
New features in 3.0
New features in 3.0New features in 3.0
New features in 3.0
DataStax Academy
 
Introduction to .Net Driver
Introduction to .Net DriverIntroduction to .Net Driver
Introduction to .Net Driver
DataStax Academy
 
Spark Cassandra Connector: Past, Present and Furure
Spark Cassandra Connector: Past, Present and FurureSpark Cassandra Connector: Past, Present and Furure
Spark Cassandra Connector: Past, Present and Furure
DataStax Academy
 
Playlists at Spotify
Playlists at SpotifyPlaylists at Spotify
Playlists at Spotify
DataStax Academy
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2
DataStax Academy
 
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
Lessons Learned with Cassandra and Spark at the US Patent and Trademark OfficeLessons Learned with Cassandra and Spark at the US Patent and Trademark Office
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
DataStax Academy
 
Using Event-Driven Architectures with Cassandra
Using Event-Driven Architectures with CassandraUsing Event-Driven Architectures with Cassandra
Using Event-Driven Architectures with Cassandra
DataStax Academy
 
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and SparkCassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
DataStax Academy
 
Signal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide RowsSignal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide Rows
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
DataStax Academy
 
SKB Kontur: Digging Cassandra cluster
SKB Kontur: Digging Cassandra clusterSKB Kontur: Digging Cassandra cluster
SKB Kontur: Digging Cassandra cluster
DataStax Academy
 
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
DataStax Academy
 
Cassandra: One (is the loneliest number)
Cassandra: One (is the loneliest number)Cassandra: One (is the loneliest number)
Cassandra: One (is the loneliest number)
DataStax Academy
 
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series ExampleCassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
DataStax Academy
 

Viewers also liked (20)

Introduction to Dating Modeling for Cassandra
Introduction to Dating Modeling for CassandraIntroduction to Dating Modeling for Cassandra
Introduction to Dating Modeling for Cassandra
 
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
Cassandra Summit 2014: Apache Cassandra at Telefonica CBSCassandra Summit 2014: Apache Cassandra at Telefonica CBS
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
 
Coursera's Adoption of Cassandra
Coursera's Adoption of CassandraCoursera's Adoption of Cassandra
Coursera's Adoption of Cassandra
 
Production Ready Cassandra (Beginner)
Production Ready Cassandra (Beginner)Production Ready Cassandra (Beginner)
Production Ready Cassandra (Beginner)
 
Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!Cassandra Summit 2014: Monitor Everything!
Cassandra Summit 2014: Monitor Everything!
 
The Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to DatabaseThe Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to Database
 
New features in 3.0
New features in 3.0New features in 3.0
New features in 3.0
 
Introduction to .Net Driver
Introduction to .Net DriverIntroduction to .Net Driver
Introduction to .Net Driver
 
Spark Cassandra Connector: Past, Present and Furure
Spark Cassandra Connector: Past, Present and FurureSpark Cassandra Connector: Past, Present and Furure
Spark Cassandra Connector: Past, Present and Furure
 
Playlists at Spotify
Playlists at SpotifyPlaylists at Spotify
Playlists at Spotify
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2
 
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
Lessons Learned with Cassandra and Spark at the US Patent and Trademark OfficeLessons Learned with Cassandra and Spark at the US Patent and Trademark Office
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
 
Using Event-Driven Architectures with Cassandra
Using Event-Driven Architectures with CassandraUsing Event-Driven Architectures with Cassandra
Using Event-Driven Architectures with Cassandra
 
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and SparkCassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
 
Signal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide RowsSignal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide Rows
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
SKB Kontur: Digging Cassandra cluster
SKB Kontur: Digging Cassandra clusterSKB Kontur: Digging Cassandra cluster
SKB Kontur: Digging Cassandra cluster
 
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
Timeli: Believing Cassandra: Our Big-Data Journey To Enlightenment under the ...
 
Cassandra: One (is the loneliest number)
Cassandra: One (is the loneliest number)Cassandra: One (is the loneliest number)
Cassandra: One (is the loneliest number)
 
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series ExampleCassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
 

Similar to Cassandra Summit 2014: The Cassandra Experience at Orange — Season 2

C* Summit EU 2013: The Cassandra Experience at Orange
C* Summit EU 2013: The Cassandra Experience at Orange C* Summit EU 2013: The Cassandra Experience at Orange
C* Summit EU 2013: The Cassandra Experience at Orange
DataStax Academy
 
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
InfluxData
 
OPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACKOPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACK
InfluxData
 
Moolle fan-out control for scalable distributed data stores
Moolle  fan-out control for scalable distributed data storesMoolle  fan-out control for scalable distributed data stores
Moolle fan-out control for scalable distributed data stores
SungJu Cho
 
EEDC Intelligent Placement of Datacenters
EEDC Intelligent Placement of DatacentersEEDC Intelligent Placement of Datacenters
EEDC Intelligent Placement of DatacentersRoger Rafanell Mas
 
20-datacenter-measurements.pptx
20-datacenter-measurements.pptx20-datacenter-measurements.pptx
20-datacenter-measurements.pptx
Steve491226
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
Michael Zhang
 
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
Edge AI and Vision Alliance
 
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
aaajjj4
 
Sample Solution Blueprint
Sample Solution BlueprintSample Solution Blueprint
Sample Solution BlueprintMike Alvarado
 
Intelligent Datacenter placement
Intelligent Datacenter placementIntelligent Datacenter placement
Intelligent Datacenter placement
Francesc Lordan Gomis
 
Introduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, IntelIntroduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, Intel
MyNOG
 
MobileNet - PR044
MobileNet - PR044MobileNet - PR044
MobileNet - PR044
Jinwon Lee
 
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
Cluster TWEED
 
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
Bangladesh Network Operators Group
 
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
Edge AI and Vision Alliance
 
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUESPERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
IRJET Journal
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystem
Alex Thompson
 
Practical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet RedundancyPractical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet Redundancy
RealTime-at-Work (RTaW)
 

Similar to Cassandra Summit 2014: The Cassandra Experience at Orange — Season 2 (20)

C* Summit EU 2013: The Cassandra Experience at Orange
C* Summit EU 2013: The Cassandra Experience at Orange C* Summit EU 2013: The Cassandra Experience at Orange
C* Summit EU 2013: The Cassandra Experience at Orange
 
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
 
OPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACKOPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACK
 
Moolle fan-out control for scalable distributed data stores
Moolle  fan-out control for scalable distributed data storesMoolle  fan-out control for scalable distributed data stores
Moolle fan-out control for scalable distributed data stores
 
EEDC Intelligent Placement of Datacenters
EEDC Intelligent Placement of DatacentersEEDC Intelligent Placement of Datacenters
EEDC Intelligent Placement of Datacenters
 
20-datacenter-measurements.pptx
20-datacenter-measurements.pptx20-datacenter-measurements.pptx
20-datacenter-measurements.pptx
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
“Efficiently Map AI and Vision Applications onto Multi-core AI Processors Usi...
 
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
BRKDCT-3144 - Advanced - Troubleshooting Cisco Nexus 7000 Series Switches (20...
 
Sample Solution Blueprint
Sample Solution BlueprintSample Solution Blueprint
Sample Solution Blueprint
 
Intelligent Datacenter placement
Intelligent Datacenter placementIntelligent Datacenter placement
Intelligent Datacenter placement
 
Introduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, IntelIntroduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, Intel
 
MobileNet - PR044
MobileNet - PR044MobileNet - PR044
MobileNet - PR044
 
Ns2pre
Ns2preNs2pre
Ns2pre
 
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
European Utility Week (2/2) | Paris - 12 au 14 novembre 2019
 
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
Challenges of L2 NID Based Architecture for vCPE and NFV Deployment
 
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
“Trends in Neural Network Topologies for Vision at the Edge,” a Presentation ...
 
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUESPERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
PERFORMANCE ANALYSIS OF D-FLIP FLOP USING CMOS, GDI, DSTC TECHNIQUES
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystem
 
Practical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet RedundancyPractical Use Cases for Ethernet Redundancy
Practical Use Cases for Ethernet Redundancy
 

More from DataStax Academy

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
DataStax Academy
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
DataStax Academy
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
DataStax Academy
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
DataStax Academy
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
DataStax Academy
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
DataStax Academy
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
DataStax Academy
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
DataStax Academy
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
DataStax Academy
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
DataStax Academy
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
DataStax Academy
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
DataStax Academy
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
DataStax Academy
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
DataStax Academy
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
DataStax Academy
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
DataStax Academy
 
Apache Cassandra and Drivers
Apache Cassandra and DriversApache Cassandra and Drivers
Apache Cassandra and Drivers
DataStax Academy
 

More from DataStax Academy (20)

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 
Apache Cassandra and Drivers
Apache Cassandra and DriversApache Cassandra and Drivers
Apache Cassandra and Drivers
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

Cassandra Summit 2014: The Cassandra Experience at Orange — Season 2

  • 1. The C* Experience at Orange Jean Armel Luce Orange France Season 2 Thursday, September 11 2014
  • 2. 2 The Cassandra experience at Orange - season 1 Summary 1. Why did we choose C* for our applicaHon PnS ? 2. Our migraHon strategy (without any interrupHon of service) 3. AOer the migraHon … § For more details , watch « the Cassandra Summit Europe 2013 »: – hQps://www.youtube.com/watch?v=mefOE9K7sLI&feature=youtube_gdata Jean Armel Luce - Orange-France
  • 3. 3 The Cassandra experience at Orange - season 2 Summary 1. Short descripHon of the applicaHon PnS 2. Keyring: why design customer ids with graphs in C* ? 3. BYOHH (Bring Your Own Hadoop & Hive) with Cassandra Jean Armel Luce - Orange-France
  • 4. If you missed season 1: Short description of PnS
  • 5. 5 PnS: Short description of the application § PnS means Profile and Syndication: a highly available service for collecting and serving live data about Orange customers § End users: – Orange customers (www.orange.fr) – Sellers in Orange shops – Some services in Orange (advertisements, …) Jean Armel Luce - Orange-France
  • 6. 6 PnS: The Big Picture Jean Armel Luce - Orange-France End users Millions of HTTP requests (Rest or Soap) Fast and highly available WebService to get or set data stored by pns: - postProcessing(data1) - postProcessing(data2) - postProcessing(data3) - postProcessing(datax) - … Database PNS Data providers Thousands of files (Csv, json or Xml) Scheduled data injection DB Queries R/W operations
  • 7. § 1 multi DC cluster § and web services (read and writes) § for batch updates 7 PnS: Architecture at the end of 2013 2 DCs architecture for high availability Bagnol et Jean Armel Luce - Orange-France Sophia Antipolis
  • 8. 8 PnS: Some key dates about the PnS3.0 project Season 1 (From April 2013 to October 2013) Migration to C* Season 2 part 1 (November 2013) Keyring Season 2 part 1 (April 2014) Hadoop & Hive for Analytics Jean Armel Luce - Orange-France
  • 9. Keyring: Why design customer ids with graphs in C* ?
  • 10. 10 PnS database design § Nearly 35 tables at the end of 2013 CREATE TABLE customers ( customer_id varchar, col1 varchar, col2 bigint, col3 set<text>, ..., coln timestamp, PRIMARY KEY (customer_id)); § SELECT colx, coly, colz FROM customers WHERE customer_id = '???' ; Jean Armel Luce - Orange-France
  • 11. 11 Customer ids § What is a customer id ? – cell number – internet account – email address – ISE (internal identifier used by many other Orange applications) – .... § For many reasons, data is stored in tables with different primary keys – some data are often retrieved using a cell number è stored when possible in a table where PK is a cell number – … but all customers don’t have a cell number è stored in a table where PK is not a cell number – … Jean Armel Luce - Orange-France
  • 12. 12 Customer ids translation § A PnS user knows only 1 customer id § He often needs to retrieve data indexed by another kind of cust id in the DB Jean Armel Luce - Orange-France My cell number is (209) 123-4567 SELECT * FROM pns WHERE cust_id = ‘ISE_QWERTY’ customer_id translation
  • 13. 13 Database design in the old relational databases § Design with secondary indexes ? SELECT email_address FROM customer_ids WHERE cell_number = ???; § Requires a lot of secondary indexes with values having high cardinality § With C*, secondary indexes with values having a high cardinality are wasteful Jean Armel Luce - Orange-France ISE Cell_ number email_ address … idtypeN Primary Key Secondary indexes intranet account
  • 14. 14 Design with graph for C* IdType=‘EMAIL’ IdValue=‘priam@ orange.com’ IdType=‘ISE’ IdValue=‘myISE1’ IdType=‘Internet’ IdValue=‘99999999999 ’ Jean Armel Luce - Orange-France IdType=‘Cell’ IdValue=(209) 123-4567 IdType=‘EMAIL’ IdValue=‘hecuba@ orange.com’ IdType=ISE IdValue=‘myISE2’ IdType=‘Cell’ IdValue=(209) 123-4568 Type=‘ISE’ Value=‘myISE3’ IdType=‘Cell’ IdValue=(209) 123-4569 IdType=‘EMAIL’ IdValue=‘paris@ orange.com’ IdType=‘EMAIL’ IdValue=‘alexander@ orange.com’
  • 15. 15 The new « Customer ids » table in C* § Table of edges between customer ids CREATE TABLE graph( idvalue1 text, -- type of the initial vertex of the arc idtype1 text, -- value of the initial vertex of the arc idvalue2 text, -- type of the terminal vertex of the arc idtype2 text, -- value of the terminal vertex of the arc attr map<text, text>, -- a column of map type for storing any kind of property t timestamp, PRIMARY KEY ((idvalue1) , idtype1 , idtype2 , idvalue2 ) ); SELECT * FROM graph WHERE idvalue1 IN (‘???’) Jean Armel Luce - Orange-France
  • 16. 16 Small independant graphs § 500.000.000 edges in the graph § The keyring graph is not a single large graph § It’s rather a lot of small independant undirected graphs Ø Each vertex has a small neighborhood. Ø The search of a customer id is limited into a small subset of the edges and vertices Jean Armel Luce - Orange-France
  • 17. 17 Atomicity § The edges are bi-directional (undirected) – We need to insert or update 2 rows for each edge – The atomic batch mode guarantees that the 2 directions are updated atomically Jean Armel Luce - Orange-France
  • 18. 18 Optimization of the search of the shortest path § We know which kind of customer id are used by the PnS users § We know which kind of customer id are used for indexation § For each pair, the shortest paths are predefined in our application PnS (according to the kind of customer ids) Jean Armel Luce - Orange-France
  • 19. 19 Search API in the graph § An in-house C++ library offers an API for an iterative breadth-first graph exploration § Example: looking for H from A E Jean Armel Luce - Orange-France C H F D G I A B SELECT * FROM graph WHERE credval1 IN (‘B’, ‘F’);
  • 20. 20 Nb queries per search § Looking for a direct neighbour requires only 1 SELECT § Looking for a neighbour of a neighbour requires 2 SELECT § Looking for a neighbour of a neighbour of a neighbour requires 3 SELECT Jean Armel Luce - Orange-France § …
  • 21. 21 Search Response time Number of searches/sec Response time per search (in ms) Nearly 700 searches/sec 2ms < RTT < 3.5 ms § A search executed using 1, 2 or 3 reads è very low response time (thanks to FusionIO and C++ code) Jean Armel Luce - Orange-France
  • 22. 22 Conclusions about Keyring § We had to rethink this feature, because C* != RDBMS § At first glance, a graph looks like an exotic design … but for our use case, it works well with C* … and FusionIO. § Favoring the access to data through the partitioning key is very efficient for getting a low response time and a linear scalability. Jean Armel Luce - Orange-France
  • 23. BYOHH: Bring Your Own Hadoop & Hive with Cassandra
  • 24. 24 Basic architecture of the Cassandra cluster § Cluster without Hadoop: 2 datacenters, 16 nodes in each DC § RF (DC1, DC2) = (3, 3) § CL = ONE or LOCAL_QUORUM for online queries § Requests from web servers in DC1 are sent to C* nodes in DC1 § Requests from web servers in DC2 are sent to C* nodes in DC2 Pool of web servers DC1 Pool of web servers DC2 DC1 DC2 Jean Armel Luce - Orange-France
  • 25. 25 Adding a new datacenter for analytics § Cluster with Hadoop/Hive: 3 datacenters, 16 nodes in DC1, 16 nodes in DC2, 4 nodes in DC3 § RF (DC1, DC2, DC3) = (3, 3, 1) § Because RF = 1 in DC3, we need less storage space in this datacenter § We favor cheaper disks (SATA) in DC3 rather than SSDs or FusionIo cards Jean Armel Luce - Orange-France
  • 26. 26 Architecture of the Cassandra cluster with the new datacenter for analytics DC1 DC2 DC3 Jean Armel Luce - Orange-France Pool of web servers DC1 Pool of web servers DC2
  • 27. 27 Potential impacts of map reduce tasks for online queries DC1 DC2 DC3 Jean Armel Luce - Orange-France Pool of web servers DC1 Pool of web servers DC2 Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts Timeouts HH Timeouts HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH Hinted Handoffs for online update queries not replicated in DC3 Timeouts due to CL=ONE used for online READ queries Map reduce tasks take all the resources (CPU, RAM, IO, …)
  • 28. 28 Isolation between online queries and map reduce tasks: CL ANY CL LOCAL_ONE CL ONE CL LOCAL_QUORUM CL EACH_QUORUM CL QUORUM CL ALL Solution for timeouts (online READ queries) § Use a LOCAL CONSISTENCY LEVEL: – For map reduce tasks in DC3: Jean Armel Luce - Orange-France – LOCAL_ONE – For online queries in DC1 or DC2: – LOCAL_ONE – LOCAL_QUORUM LOCAL_ONE is available since C* 1.2.12 (cf. JIRA CASSANDRA-6238) Timeouts due to CL=ONE used for online READ queries
  • 29. 29 Solution for Hinted Handoffs (online WRITE queries) 1/2 Guarantee on resources for online queries Jean Armel Luce - Orange-France § Use CGROUPS: – Can guarantee a minimum of CPU/RAM for online queries – Cgroups cannot be used for I/O disks (Map tasks call C* processes when reading data on disk) Hinted Handoffs for online update queries not replicated in DC3
  • 30. 30 Solution for Hinted Handoffs (online WRITE queries) 2/2 Swap global and local read repair chances Jean Armel Luce - Orange-France § By default, in C* 1.2: – read_repair_chance = 0.1 – dclocal_read_repair_chance = 0.0 § For highly read tables, the read repairs are not sent to DC3: – Set read_repair_chance = 0.00 – Set dclocal_read_repair_chance = 0.1 Ø Less load and IO disks in DC3 DCLOCAL_READ_REPAIR_CHANCE=0.1 is now the default since C* 2.0.9 (cf. JIRA CASSANDRA_7320) Hinted Handoffs for online update queries not replicated in DC3 DC1 DC2 DC3
  • 31. § 256 VN per C* node is usually recommended § At least 1 map task per virtual node in DC3 31 Tradeoff “ease of exploitation vs optimization” – Disabling virtual nodes in DC3 adding new nodes in DC3 is less easy shorten the execution time – Enabling virtual nodes in DC3 adding new nodes in DC3 is easier, What is the right number of vnodes ? 64 VN/node looks good. Jean Armel Luce - Orange-France
  • 32. 32 Contributions and open sourced modules § Hive Handler open sourced by Orange § Works with CDH4.4 and C* 1.2.13 § Feature added to this handler: authentication Jean Armel Luce - Orange-France § Github: https://github.com/Orange-OpenSource/cassandra_handler_for_hive Thanks to Cyril Scetbon for this handler
  • 33. 33 Conclusions about BYOHH § The installation of Hadoop & Hive is tricky, but we didn’t have choice for analytics because CQL has many limitations § We had to rethink our architecture. Now, we are able to do analytics with Hadoop + Hive with a better isolation between online and analytics queries. § We have also discovered an interesting ecosystem around C* which offers more capabilities. With this ecosystem, we can benefit from the strengths of C* and workaround some of the limitations. Jean Armel Luce - Orange-France
  • 35. 35 Season 2: Conclusions 1. Rethink 2. Adapt 3. Leverage Jean Armel Luce - Orange-France
  • 36. 36 Thank you Jean Armel Luce - Orange-France
  • 37. 37 Jean Armel Luce - Orange-France Questions
  • 38. 38 A few answers about hardware/OS version /Java version/ Cassandra version/Hadoop version Jean Armel Luce - Orange-France § Hardware: § 16 nodes in DC1 and DC2 at the end of 2013: § 2 CPU 6cores each Intel® Xeon® 2.00 GHz § 64 GB RAM § FusionIO ® 800 GB MLC § 4 nodes in DC3 § 24 GB de RAM § 2 CPU 6cores each Intel® Xeon® 2.00 GHz § SATA Disks 15Krpm § OS: Ubuntu Precise (12.04 LTS) § Cassandra version: 1.2.13 § Hadoop version: CDH 4.4 (with Hive 0.10): Hadoop 2 with MRv1 § Hive handler: https://github.com/Orange-OpenSource/cassandra_handler_for_hive § Java version: Java7u45 (GC CMS with option CMSClassUnloadingEnabled)
  • 39. 39 A few answers about data and requests Jean Armel Luce - Orange-France § Data types: § Volume: 6 TB at the end of 2013 § elementary types: boolean, integer, string, date § collection types § complex types: json, xml (between 1 and 20 KB) § Requests: § 10.000 requests/sec at the end of 2013 § 80% get § 20% set § Consistency level used by PnS for online queries and batch updates: § LOCAL_ONE (95% of the queries) § LOCAL_QUORUM (5% of the queries)