Geroba Data Technologies was part of the team to develop a recommendation system for TV programs. The goal of the system is to deliver a set of recommendations a user might like. The system uses data sources such as likes of a movie/TV series as well as social data from Facebook which is used as base for the recommendations.
Key requirement for this SaaS system were high availability as well as short response times in the area of several hundred thousand users. A distributed JavaEE application architecture ensures the delivery of recommendations even if individual of the servers fail. Together with virtual Amazon EC2 cloud machines, this architecture allows for dynamic scaling where resources can be added or removed depending on the system load.
In order to store the data, the system uses Apache Cassandra and Infinispan. Our performance comparison showed that the Cassandra cluster in use could deliver read and write performance in the area of single digits of milliseconds, achieving a gain in response time of a factor of 100 compared to a similar approach using a MySQL Cluster. Together with the high-availability and dynamic scaling features Cassandra delivers out-of-the-box, this has proven to fulfill both the high availability as well as performance requirements.
- JBoss AS
- Apache Cassandra