a log
would
help,
LLC

A Log Would Help, LLC is a small software consulting company based in Seattle, Washington. It's run by Diego Ongaro, who has been writing code for over 20 years. Diego specializes in distributed systems and databases, and also has experience in security and operating systems. He holds a PhD in Computer Science from Stanford University and is best known for his work on the Raft consensus algorithm.

Would a log help?

Maybe! Many systems replicate data from a primary server to one or more backups using a log. The primary appends changes to the log as its state changes. A backup can catch up to recent changes from the primary efficiently by processing just the end of the log. Meanwhile, the primary can append new entries to the log by writing sequentially, which is also efficient. The entire state of a backup can be summarized by how many log entries it has processed.

Raft* uses a log in a similar way. It elects a new primary (called a leader) to write to the log whenever the previous primary becomes unavailable. This allows Raft-based systems to continue operating while any minority of servers in the cluster fail.

Logs are used in many other ways:

  • Journaling filesystems and traditional databases (transaction log or write-ahead log) use logs as an auxiliary structure to preserve consistency upon crashes.
  • Log-structured filesystems and log-structured merge trees use logs as a primary structure for high write throughput, as well as crash consistency.
  • Flash memory controllers use logs to minimize wear caused by program-erase cycles, thereby extending device lifetimes.
  • RAMCloud*, a low-latency in-memory storage system, uses logs to efficiently manage both objects in memory (with high utilization) and backup copies on disk (with high write throughput).
  • Kafka and other event stores use logs to efficiently route and deliver asynchronous events from publishers to subscribers.
  • Certificate Transparency, a system for auditing digital certificates on the internet, combines public logs of certificates with Merkle trees to efficiently prove that a particular certificate is in the log and that one log is an extension of an earlier log.
  • Juicebox*, a system for secret storage, combines a replicated log with a hash chain of log entries, allowing specialized security hardware (HSMs) to verify the authenticity and freshness of a log that is stored on cheap cloud storage.

A log may not help in every situation. Despite its name, this consulting business can help with a variety of software systems—not just those involving logs.

* indicates Diego is/was a core contributor to the project.

Contact

If you're interested in learning more or exploring whether A Log Would Help, LLC would be a good fit for your needs, email diego@.