C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way
-
Upload
planet-cassandra -
Category
Technology
-
view
630 -
download
0
description
Transcript of C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way
![Page 1: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/1.jpg)
Rokesh Jankie |CTO, QAFE Inc. , [email protected] Hallo Khaznadar |CAO, QAFE Inc. , [email protected]
Capitalizing on Data in Telecommunications: The Cassandra way
#CASSANDRAEU CASSANDRASUMMITEU@QAFE www.qafe.com
![Page 2: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/2.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
*Introduction
*Business Case
*Solution Direction
*The Cassandra Way
*Improvements and Future Directions
*ConclusionsThe name of the Telecommunications Company cannot be mentioned due to NDA.
Agenda
![Page 3: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/3.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
IntroductionQAFE & Qualogy
![Page 4: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/4.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
*Qualogy is Oracle Platinum Partner
*Qualogy was founded in 1998
*QAFE is a Qualogy subsidiary founded in 2007
*QAFE is a development Platform focussed on
- Integration
- Front-end technologies
- Oracle Forms Modernization
Qualogy and QAFE
Visit www.qualogy.com and www.qafe.com for more information
![Page 5: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/5.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Business CaseCustomer driven situation
![Page 6: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/6.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Telecommunications and core Business*Billing is core business
*Input for billing are “CDR”s
*Call Data Records (CDR) contain information on calls made (besides Voice, also for Data).
*The process of handling CDRs is called Mediation
![Page 7: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/7.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Mediation!
!
!
“Telecom Mediation is a system which acts as an interface or a middle layer between network elements and billing system/down stream applications like Fraud Management Systems, Revenue Assurance, Data Ware house etc.”
![Page 8: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/8.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Call Data Records*Processing and parsing
*Dependent on switches and configuration
![Page 9: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/9.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Solution DirectionSetting up a scalable architecture
![Page 10: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/10.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Complexity and setup with Cassandra
CS#
R7#
R8#
R9#
Rx#
MEDIATION# Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoding# Media3on#Rules# Adap3ng#
MEDIATION# Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoder# Filtering# Enrichment# Adapter#
Decoding# Media<on#Rules# Adap<ng#
MEDIATION# Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoder# Filtering# Enrichment# Adapter#
Decoding# Media<on#Rules# Adap<ng#
MEDIATION# Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoder#
Decoder#
Filtering# Enrichment# Adapter#
Decoding# Media<on#Rules# Adap<ng#
MEDIATION#
Filtering# Enrichment# Adapter#
Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoder#
Decoder#
Decoder#
Filtering# Enrichment# Adapter#
Decoding# Media<on#Rules# Adap<ng#
MEDIATION#
Filtering# Enrichment# Adapter#
Filtering# Enrichment# Adapter#
Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
CS#
R7#
R8#
R9#
Rx#
Decoder#
Decoder#
Decoder#
Filtering# Enrichment# Adapter#
Decoding# Media<on#Rules# Adap<ng#
MEDIATION#
Filtering# Enrichment# Adapter#
Filtering# Enrichment# Adapter#
Decoder# Filtering# Enrichment# Adapter#
Target#Sys.#
BSS#
DWH#
ICT#
ERS#
SWITCHES(
IMS$
CS$
R7$
R8$
R9$
R7$
Rx$
Rx$
Decoder$
Decoder$
Decoder$
Filtering$ Enrichment$ Adapter$
Decoding$ Media=on$Rules$ Adap=ng$
MEDIATION$
Filtering$ Enrichment$ Adapter$
Filtering$ Enrichment$ Adapter$
Decoder$ Filtering$ Enrichment$ Adapter$
Target$Sys.$
BSS$
DWH$
ICT$
ERS$
SWITCHES(
IMS$
EPC$
CS$
R7$
R8$
R9$
R7$
Rx$
Rx$
R7$
Rx$
X$ Rx$
Decoder$
Decoder$
Decoder$
Filtering$ Enrichment$ Adapter$
Decoding$ Media?on$Rules$ Adap?ng$
MEDIATION$
Filtering$ Enrichment$ Adapter$
Filtering$ Enrichment$ Adapter$
Decoder$ Filtering$ Enrichment$ Adapter$
Target$Sys.$
BSS$
DWH$
ICT$
ERS$
SWITCHES(
IMS$
EPC$
CS$
R7$
R8$
R9$
R7$
Rx$
Rx$
R7$
Rx$
X$ Rx$
Decoder$
Decoder$
Decoder$
Filtering$ Enrichment$ Adapter$
Decoding$ Media?on$Rules$ Adap?ng$
MEDIATION$
Filtering$ Enrichment$ Adapter$
Filtering$ Enrichment$ Adapter$
Decoder$ Filtering$ Enrichment$ Adapter$
Target$Sys.$
BSS$
DWH$
ICT$
ERS$
SWITCHES(
![Page 11: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/11.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Think about hardware
*Next Generation Data Center Appliance
*Scalable
*Hardware and Software Engineered to work together
![Page 12: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/12.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Solution Direction: Data modelSetting up a scalable architecture
![Page 13: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/13.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
DataModel AbstractCREATE TABLE cdr_<recordType>_<mainIdentifier>By<subIdentifier1>And<subIdentifier2>...And<subIdentifierN>_Index ( mainIdentifier <anyType>, (callingNumber text,) date text, subIdentifier1 <anyType>, (answerTime timestamp,) subIdentifier2 <anyType>, (numberingPlan text,) . . subIdentifierN <anyType>, (natureOfAddress text,) recordId uuid PRIMARY KEY ((mainIdentifier, date), subIdentifier1, subIdentifier2, subIdentifierN) };!!INSERT INTO cdr_<recordType>_<mainIdentifier>By<subIdentifier1>And<subIdentifier2>...And<subIdentifierN>_Index(mainIdentifier,date,subIdentifier1,...,subIdentifierN, recordId) VALUES('59995611994','2013-10-01','subIdentifier1Value' ...,'subIdentifierNValue','c4e1ee6f-e053-41f5-9890-6746e6d51095')
![Page 14: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/14.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
DataModel: IndexesCREATE TABLE cdr_MoCallRecord_CallingNumberByAnswerTime_Index ( callingNumber text, date text, answerTime timestamp, recordId uuid PRIMARY KEY ((mainIdentifier, date), subIdentifier1, subIdentifier2, subIdentifierN) }; !
!INSERT INTO cdr_MoCallRecord_CallingNumberByAnswerTime_Index(mainIdentifier,date,answerTime,recordId) VALUES('59995611994','2013-10-01','13:43:40','c4e1ee6f-e053-41f5-9890-6746e6d51095') !SELECT recordId FROM cdr_MoCallRecord_CallingNumberByAnswerTime_Index WHERE callingNumber='59995611994' AND date='2013-10-01' AND answerTime > '13:00:00' AND answerTime < '14:00:00' !SELECT * FROM cdr_MoCallRecord IN (<list of recordId's>)
![Page 15: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/15.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
DataModel Visual/Implementation
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
Actual'Data'
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
uuid_v1$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
Actual'Data'
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
uuid_v1$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$uuid_v2$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
Actual'Data'
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
uuid_v1$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$uuid_v2$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
uuid_vn$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
Actual'Data'
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
uuid_v1$Id_P2$Id_P1$ Id_P3_v1$
uuid_v1$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$uuid_v2$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
uuid_vn$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
uuid_v2$Id_P3_v2$
uuid_vn$Id_P3_vn$
Index&A&
Actual&Data&
UUID$ Da_P2$Da_P1$Id_Pn$Id_P1$ Da_Pn$
uuid_v1$Id_P2$Id_P1$ Id_P3_v1$
uuid_v1$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$uuid_v2$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
uuid_vn$ Da_P2_v$Da_P1_v$Id_Pn_v$Id_P1_v$ Da_Pn_v$
uuid_v2$Id_P3_v2$
uuid_vn$Id_P3_vn$
Index&A&
Actual&Data&
uuid_v1$Id_P4$Id_P3$ Id_P5_v1$uuid_v2$Id_P5_v2$
uuid_vn$Id_P5_vn$
Index&Z&
UUID$ callType$dura/on$StartTime$Date$
Actual'Data'
CallingNm$UUID$ callType$dura/on$StartTime$Date$
73s7jabe$ Interna/onal$00:03:10$13:07:34$2013@01@03$
Actual'Data'
98asd23h$ local$00:01:23$22:18:09$2013@01@03$
kjbnfd72$ 00:12:02$08:10:03$2013@03@07$
CallingNm$
065782391$065782391$
069035802$ local$
UUID$ callType$dura/on$StartTime$Date$
73s7jabe$ Interna/onal$00:03:10$13:07:34$2013@01@03$
Index&CallingNm_By_Date_And_StartTime&
Actual&Data&
98asd23h$ local$00:01:23$22:18:09$2013@01@03$
kjbnfd72$ 00:12:02$08:10:03$2013@03@07$
CallingNm$
065782391$065782391$
069035802$ local$
UUID$ callType$dura/on$StartTime$Date$
73s7jabe$2013>01>03$065782391$ 13:07:34$
73s7jabe$ Interna/onal$00:03:10$13:07:34$2013>01>03$
Index&CallingNm_By_Date_And_StartTime&
Actual&Data&
98asd23h$ local$00:01:23$22:18:09$2013>01>03$
kjbnfd72$ 00:12:02$08:10:03$2013>03>07$
CallingNm$
065782391$065782391$
069035802$
22:18:09$98asd23h$
local$
UUID$ callType$dura/on$StartTime$Date$
73s7jabe$2013>01>03$065782391$ 13:07:34$
73s7jabe$ Interna/onal$00:03:10$13:07:34$2013>01>03$
Index&CallingNm_By_Date_And_StartTime&
Actual&Data&
98asd23h$ local$00:01:23$22:18:09$2013>01>03$
kjbnfd72$ 00:12:02$08:10:03$2013>03>07$
CallingNm$
065782391$065782391$
069035802$
22:18:09$98asd23h$
kjbnfd72$2013>03>07$069035802$ 08:10:03$
local$
![Page 16: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/16.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Specifying Cassandra ClusterImplementation of scaling plan
![Page 17: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/17.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Considerations*Datasize per month
*Time window for scaling up
*Replication Factor
*Decoding Factor
*Node size
*Cassandra Cluster size
!
* Technical note: Cassandra is not certified for Oracle Linux (yet)
![Page 18: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/18.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Planning on Data growth*Number of Nodes = 4
*HDD per node = 8TB
*RAM = minimum of 32 GB
*CPUs = 4 cores (at least 16 GB ram per core, so increasing this one requires increasing in RAM).
*Every 6 months we’ll have to add 4 nodes!
![Page 19: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/19.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
The Cassandra wayWhy choose Cassandra
![Page 20: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/20.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Requirements *Large Scale Storage
*Predictable Scalability
*High Availability
*Robustness of Mission Critical Application
![Page 21: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/21.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
What we found in Cassandra*Meets all our requirements!
*No compromise on performance (during data write)
*No single point of failure
*Easy to adopt TimeSeries
*Proven Technology
*Trusted High End Specialists you can count on!
![Page 22: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/22.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Dramatic Performance *When Hardware and software were combined!
![Page 23: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/23.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Improvements and Future DirectionsThings that can make a difference
![Page 24: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/24.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Using the ExaBus Optimization*ExaBus built on top of Oracle Infiniband
*Extreme Performance and Resource Efficient
*Socket Direct Protocol rather than TCP-IP
*APIs are available
!
*QAFE created solution to make this work in SDP and non-SDP environments.
![Page 25: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/25.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Conclusions
![Page 26: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/26.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
Creating more Business Value from Data*Create more valuable customer relations
*Reduction of Churn
*Tuned offerings for customers
*Targeted marketing
*Advanced network analyzing
![Page 27: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/27.jpg)
#CASSANDRAEU CASSANDRASUMMITEU@QAFE
*Business case is real!
*Complexity that results in architecture choices
As well as Hardware as Software
*Very Promising (technology and business-wise)
*Room for improvement and more efficiency
What we discussed today...
![Page 28: C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way](https://reader034.fdocuments.us/reader034/viewer/2022052412/55856961d8b42a970b8b5122/html5/thumbnails/28.jpg)
Rokesh Jankie |CTO, QAFE Inc. , [email protected] Hallo Khaznadar |CAO, QAFE Inc. , [email protected]
Capitalizing on Data in Telecommunications: The Cassandra way
#CASSANDRAEU CASSANDRASUMMITEU@QAFE www.qafe.com