The CAKE restaurant technology platform empowers restaurants and improves the experience of their customers through a holistic tech offering comprised of multiple applications that work seamlessly together. CAKE’s POS, Guest Manger, Waitlist, Online Ordering and Reports applications form a synergy that benefits both the customer and the restaurant owner in ways that are not possible with traditional stand-alone tech applications operating in the same space.
In addition to the primary functions of the CAKE Applications they each collect significant quantities of data on how customers and restaurants behave on these platforms, data that could reveal insights into such areas as customer behavior, buying patterns, restaurant inefficiencies and much more. However, each of these applications have their own data storage and data querying requirements resulting in the respective data of each application being stored in its own silo built using the DB technology that best suits its needs, making it next to impossible to tap them for insights.
In order to solve this problem CAKE built a Data Platform to unify all its data, and to provide deeper insights as well as faster reporting & analytics. The Data Platform was built with the capability of capturing and storing different types of data in a single repository, at scale, and at a very low cost, with data processing done in-location (where the data is stored) and on-demand (when specified by a user), with built-in fault tolerances and resiliencies. CAKE has accumulated data which is immutable and therefore can be safely aggregated, and real-time data that is susceptible to changes, a duality the solution successfully factors in.
Besides forming the basis for a more robust analytics platform, it is hoped that in the not too distant future the data platform would be a catalyst for several other exciting projects that are currently in the embryonic stage.
High Level Overview
The solution is based on a Lambda architecture model that can handle massive quantities of data because it uses a combination of both batch and stream processing. The different applications of the CAKE restaurant technology platform pump data into the Data Platform through an API layer. The immutable data is added to an archival data storage component facilitated by Amazon Web Services’ (AWS) S3, which allows vast quantities of data to be stored at a low cost, though queries of this data take longer to be processed. Therefore, the immutable data is aggregated and added to an aggregated data store, based on the needs of the applications that query the data. This way the data can be queried much faster while the size of the aggregated data store can also be minimal. Real time data is stored separately for short periods of time until it becomes immutable and is then added to the archival data storage.
When an application like a report requires both real time and aggregated data, an API layer’s intelligence queries both the real time data store and the aggregate data store to produce the results. When extracting business insights and intelligence, which is a less time specific need but requires a greater amount of data to be processed, the data in the archival data storage can be batch processed directly. In this way both the needs of reporting and business intelligence are addressed in the data platform that can hold archival data, along with aggregated data and real time data that can be queried in milliseconds.
Amazon’s S3 and ElasticSearch will be employed for storage with both real-time and batch processing carried out by Apache Spark.