Cenote (Katavothra in Greek) is a Big Data Management System (BDMS) for event processing and analytics. Our initial goal was to build an open source equivalent of keen.io analytics and learn about scalable systems in the process. Cenote can be used in various domains that follow the event-based logic like the Internet of Things, Marketing Analytics, Monitoring Analytics, among others. Its tech stack includes technologies like: node.js, express, ReactJS, MongoDB, Apache Kafka, Apache Storm, CockroachDB, Redis, Apache Spark, NGINX, Kubernetes, Rancher and the programming languages: JavaScript, Python, Java and Lua.
Completely open source under the MIT License.
Fault-tolerant both on the data and on the system.
Open-ended schemas by convention over configuraion.
Access data and analytics through a REST API.
Data transmission is split into two main flows: the write flow and the read flow. The write flow is concerned with writing data from "web-enabled things" to Cenote, while the read flow is concerned with returning answers via the analytics API.
Built by the AuthEceSoftEng team. Supported by EPAnEK. Distributed as open source under the MIT licene.
Since cenote is a distributed system it spans across 5 repositories: