BillingLabs is a disruptive solution which combines different database technologies to enhance performance.
The modern and pragmatic approach of NoSQL databases and their capabilities of handling massive amounts of data in native clusterizable systems offer real opportunities to develop up-to-date solutions that require scalability. Cassandra is used as the main storage for billable events to leverage the row modeling which is well suited to these types of data. We have also opted for mongoDB to store the invoices and reports in order to take full advantage of the flexibility of the document format.
Inevitably, SQL is a must have as it is designed to manage structured data. Because accounts, contracts and rates are recognizable structured data, storing these types of data in a relational database is the most effective way of retrieving them.
BillingLabs harnesses both SQL and NoSQL technologies and selects that which best suits each data storage within each microservice. Transient data is rapidly computed and shared with NoSQL DB while ACID controlled data is consolidated in Relational DB for durability