C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way

950 views
810 views

Published on

Speakers: Rokesh Jankie, CTO at QAFE Inc. & Hallo Khaznadar CAO at QAFE Inc.
Video: http://www.youtube.com/watch?v=PNLF5vNv5Qg&list=PLqcm6qE9lgKLoYaakl3YwIWP4hmGsHm5e&index=3
Telecommunications mediation is the process of handling Call Data Records (CDR's) coming through specialized hardware switches that are connected to the infrastructure of the telecommunications company. The standard industry requirements of these processes are the archiving of original raw data for auditing purposes, decoding and persisting of the extracted Call Data Records for applying rating, billing, reporting and feeding processed data to other sub systems specific to each telecoms platform. The number of CDR's and their size has exploded since mobility got an enormous boost in recent years. A new and non-traditional approach is needed to achieve these requirements. By combining QAFE-based architecture platform with the hardware power of the cutting edge Oracle Exalogic and the scaleable, flexible and highly performing DataStax enterprise, we achieved astonishing results. The solution not only allowed us to achieve industry standard requirements but also opened up the door for new requirements, realizing crucial functionality for the industry. Specifically the ability to perform analytics, reporting and KPI's in a time period spanning several years. In the presentation, there will be focus on the combination of a private cloud solution (public clouds are not an option here due to legislation) and DataStax enterprise. A working benchmark can show performance numbers of the real time processing and the storage of big amounts of CDR's from several sources.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
950
On SlideShare
0
From Embeds
0
Number of Embeds
124
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

C* Summit EU 2013: Capitalizing on Data in Telecommunications: The Cassandra Way

  1. 1. Capitalizing on Data in Telecommunications: The Cassandra way Rokesh Jankie |CTO, QAFE Inc. , rjankie@qafe.com Hallo Khaznadar |CAO, QAFE Inc. , hkhaznadar@qafe.com #CASSANDRAEU @QAFE www.qafe.com CASSANDRASUMMITEU
  2. 2. Agenda *Introduction *Business Case *Solution Direction *The Cassandra Way *Improvements and Future Directions *Conclusions The name of the Telecommunications Company cannot be mentioned due to NDA. #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  3. 3. Introduction QAFE & Qualogy #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  4. 4. Qualogy and 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 Visit www.qualogy.com and www.qafe.com for more information #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  5. 5. Business Case Customer driven situation #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  6. 6. 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 #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  7. 7. 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.” #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  8. 8. Call Data Records *Processing and parsing *Dependent on switches and configuration #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  9. 9. Solution Direction Setting up a scalable architecture #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  10. 10. Complexity and setup with Cassandra SWITCHES( MEDIATION$ MEDIATION# Target$Sys.$ Target#Sys.# R7$ R7# Filtering$ Filtering# Enrichment$ Enrichment# Adapter$ Adapter# BSS$ BSS# R8$ R8# Decoder$ Decoder# Filtering$ Filtering# Enrichment$ Enrichment# Adapter$ Adapter# DWH$ DWH# R9$ R9# Decoder$ Decoder# Filtering$ Filtering# Enrichment$ Enrichment# Adapter$ Adapter# Rx$ Rx# Decoder$ Decoder# Filtering$ Filtering# Enrichment$ Enrichment# Adapter$ Adapter# R7$ CS$ CS# Decoder$ Decoder# Decoding$ Decoding# Media?on$Rules$ Media=on$Rules$ Media<on#Rules# Media3on#Rules# ICT$ ICT# ERS$ ERS# Adap?ng$ Adap=ng$ Adap<ng# Adap3ng# IMS$ Rx$ R7$ EPC$ Rx$ X$ #CASSANDRAEU @QAFE Rx$ CASSANDRASUMMITEU
  11. 11. Think about hardware *Next Generation Data Center Appliance *Scalable *Hardware and Software Engineered together #CASSANDRAEU @QAFE to work CASSANDRASUMMITEU
  12. 12. Solution Direction: Data model Setting up a scalable architecture #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  13. 13. DataModel Abstract CREATE TABLE cdr_<recordType>_<mainIdentifier>By<subIdentifier1>And<subIdentifier2>...And<subIdentifierN>_Inde x ( 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<subIdenti fierN>_Index(mainIdentifier,date,subIdentifier1,...,subIdentifierN, recordId) VALUES('59995611994','2013-10-01','subIdentifier1Value' ...,'subIdentifierNValue','c4e 1ee6f-e053-41f5-9890-6746e6d51095') #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  14. 14. DataModel: Indexes ! INSERT INTO cdr_MoCallRecord_CallingNumberByAnswerTime_Index ( CREATE TABLE cdr_MoCallRecord_CallingNumberByAnswerTime_Index(mainIdentifier,date,answerTime,recordId) callingNumber text, VALUES('59995611994','2013-10-01','13:43:40','c4e1ee6f-e053-41f5-9890-6746e6d51095') date text, ! SELECT recordId answerTime timestamp, FROM cdr_MoCallRecord_CallingNumberByAnswerTime_Index WHERE callingNumber='59995611994' recordId uuid AND date='2013-10-01' AND answerTime((mainIdentifier, date), subIdentifier1, subIdentifier2, subIdentifierN) PRIMARY KEY > '13:00:00' AND answerTime < '14:00:00' }; ! SELECT * FROM cdr_MoCallRecord IN (<list of recordId's>) #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  15. 15. DataModel Visual/Implementation Actual&Data& Actual'Data' UUID$ CallingNm$ Id_P1$ Date$ Id_Pn$ StartTime$ dura/on$ Da_P1$ Da_P2$ callType$ Da_Pn$ 73s7jabe$ uuid_v1$ 98asd23h$ uuid_v2$ 065782391$ 2013@01@03$ 13:07:34$ 00:03:10$ Interna/onal$ Id_P1_v$ 2013>01>03$ Da_P1_v$ Da_P2_v$ Id_Pn_v$ Da_Pn_v$ 065782391$ 2013@01@03$ 22:18:09$ 00:01:23$ Id_P1_v$ 2013>01>03$ Da_P1_v$ Da_P2_v$ Id_Pn_v$ local$ Da_Pn_v$ kjbnfd72$ uuid_vn$ 069035802$ 2013@03@07$ 08:10:03$ 00:12:02$ Id_P1_v$ 2013>03>07$ Da_P1_v$ Da_P2_v$ Id_Pn_v$ local$ Da_Pn_v$ Index&CallingNm_By_Date_And_StartTime& Index&A& 13:07:34$ Id_P3_vn$ Id_P1$ Id_P2$ Id_P3_v1$ Id_P3_v2$ 98asd23h$ 065782391$ 2013>01>03$ 73s7jabe$ 22:18:09$ uuid_v1$ uuid_v2$ uuid_vn$ 08:10:03$ 069035802$ 2013>03>07$ kjbnfd72$ Index&Z& Id_P3$ Id_P4$ Id_P5_v1$ Id_P5_v2$ uuid_v1$ uuid_v2$ #CASSANDRAEU @QAFE Id_P5_vn$ uuid_vn$ CASSANDRASUMMITEU
  16. 16. Specifying Cassandra Cluster Implementation of scaling plan #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  17. 17. 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) #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  18. 18. 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! #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  19. 19. The Cassandra way Why choose Cassandra #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  20. 20. Requirements *Large Scale Storage *Predictable Scalability *High Availability *Robustness of Mission Critical Application #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  21. 21. 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! #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  22. 22. Dramatic Performance *When Hardware and software were combined! #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  23. 23. Improvements and Future Directions Things that can make a difference #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  24. 24. 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 nonSDP environments. #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  25. 25. Conclusions #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  26. 26. Creating more Business Value from Data *Create more valuable customer relations *Reduction of Churn *Tuned offerings for customers *Targeted marketing *Advanced network analyzing #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  27. 27. What we discussed today... *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 #CASSANDRAEU @QAFE CASSANDRASUMMITEU
  28. 28. Capitalizing on Data in Telecommunications: The Cassandra way Rokesh Jankie |CTO, QAFE Inc. , rjankie@qafe.com Hallo Khaznadar |CAO, QAFE Inc. , hkhaznadar@qafe.com #CASSANDRAEU @QAFE www.qafe.com CASSANDRASUMMITEU

×