Modern telco billing processing systems face huge challenges in the search to move from mostly offline, or batch, processing of billing events to handling huge volumes of events in near-real time. The challenges for an architect of such a system are: how to handle the high throughput processing of near real-time events with low latency while maintaining strict transactional semantics and provide high availability and scalability of the service.
We present our extreme transaction processing solution leveraging Oracle Coherence as an in-memory-data-grid (IMDG) which provides reliable messaging, data storage, and asynchronous write-back to RDBMS. The system follows the staged event driven architecture (SEDA) design pattern providing for a flexible and manageable design that is both highly available and scalable. We discuss lessons learned during performance tuning and profiling plus best practices that are applicable for any Coherence user.
1. Extreme Transaction Processing systems
2. Discuss Billing Event processing as XTP
3. What are the approaches
a. RDBMS, RDBMS + SSD
b. In Memory DB (Oracle x10)
c. RDBMS + Caching
4. Leverage IMDG using a SEDA Architecture
a. Specifics of architecture
5. Performance and tuning
a. Profiling tools that we built
b. What bottlenecks
6. Lessons learned - best practices
a. Incubator libraries
a. Tips and tricks