Introduction
Synopsis
This project will design and implement ChronoLog, a distributed and tiered shared log storage ecosystem. ChronoLog uses physical time to distribute log entries while providing total log ordering. It also utilizes multiple storage tiers to elastically scale the log capacity (i.e., auto-tiering). ChronoLog will serve as a foundation for developing scalable new plugins, including a SQL-like query engine for log data, a streaming processor leveraging the time-based data distribution, a log-based key-value store, and a log-based TensorFlow module.
Components
ChronoVisor
: first contact for client applications, manages the global time, orchestratesChronoKeeper
s, metadata managementChronoKeeper
: high-performance indexed distributed journal to handle two major operations: append and playbackChronoStore
: multi-tiered storage system to absorb data flush fromChronoKeeper
and process historic readChronoGrapher
: flushes data fromChronoKeeper
toChronoStore
ChronoPlayer
: handles the third operation replay