VoIPstudio: Replacing MySQL to Search and Analyze Call Data Records 30x faster
Powerful full-text search
Native support for many different platforms including PHP
30x faster query results than previous SQL DBMS
VoIPstudio is a unique cloud system running on many servers in a wide variety of locations. Each data center has two basic roles: storing data in real-time and backup for other locations in the system. VoIPstudio uses CrateDB to manage call detail records (CDRs).
Distributing data around the globe results in a lot of data processing. Retrieving data in this environment is complex, and fetching results can be time consuming.
VoIPstudio was looking for new a solution to store call detail records (CDRs) and search and query them in real-time. MySQL had been used successfully for several years, but due to increasingly poor performance it was abandoned.
The first problem Level 7 Systems had to solve was importing lots of data from many machines in many locations. They had to stay online for customers and import data at the same time, VoIPstudio provides services for clients all over the world and can’t take a break for maintenance. As a telephone provider, they have to support customers with the best telephone solution 24/7. The number of records was already over 100,000,000 and growing every minute. The import process took almost one week.
Previously one table with about 25-30 million records using MySQL needed 10 to 15 seconds to execute the query. Now that VoIPstudio uses CrateDB, it takes less than 500 milliseconds, and that performance impressed Level 7 Systems.
Thanks to the open source licensing model, VoIPstudio was able to fork the official CrateDB PHP driver and modify it to fit their exact needs by adding:
- Driver level CrateDB server failover
- Asynchronous cross data center replication (implemented with Gearman)