The Unified Push Server Database is currently based on MySQL/PostgreSQL, and the data is all stored in one schema. Database updates are handled by a JMS broker. However, when this system is put under pressure with a high level of users and an intense quantity of push metrics it is unable to perform optimally. The reality here could be a poor user experience with slow message delivery, dropped messages or the possibility of service unavailability. As messages begin to exceed millions, this will become a bottleneck for the system and one which needs to be addressed and engineered with scalability in mind.
This project will investigate the possibilities of using different types of databases and methods to process large volumes of data. This will be a Proof of Concept that will aim to research Apache Kafka and Apache HBase as possible solutions to improve the real-time experience of the push metric of the AeroGear Unified Push Server.