LogDevice is a scalable and fault tolerant distributed log system. While a file-system stores and serves data organized as files, a log system stores and delivers data organized as logs. The log can be viewed as a record-oriented, append-only, and trimmable file.
LogDevice is designed from the ground up to serve many types of logs with high reliability and efficiency at scale. It's also highly tunable, allowing each use case to be optimized for the right set of trade-offs in the durability-efficiency and consistency-availability space. Here are some examples of workloads supported by LogDevice:
- Write-ahead logging for durability
- Transaction logging in a distributed database
- Event logging
- Stream processing
- ML training pipelines
- Replicated state machines
- Journals of deferred work items
For full documentation, please visit logdevice.io.
LogDevice is only supported on Ubuntu 18.04 (Bionic Beaver). However, it should be possible to build it on any other Linux distribution without significant challenges. LogDevice relies on some c++17 features, so building LogDevice requires a compiler that supports c++17.
Join the LogDevice community
See the CONTRIBUTING file for how to help out.
LogDevice is BSD licensed, as found in the LICENSE file.