Waltz Write Ahead Log Open Sourced
Written by Kay Ewbank   
Monday, 23 September 2019

A distributed write-ahead log has been open sourced by WePay. Waltz was originally designed to be the ledger of money transactions on the WePay system and has since been generalized to be suitable for other distributed systems that require serializable consistency.

The developers say that Waltz is similar to existing log systems like Kafka in that it accepts, persists and propagates transaction data that has been produced or consumed by many services. Where Waltz differs is in that it provides a machinery that can be used to achieve serializable consistency in distributed applications, because it detects conflicting transactions before they are committed to the log. Waltz is regarded as the single source of truth rather than the database, and it enables a highly reliable log-centric system architecture.


The developers describe Waltz as a write-ahead log. Transaction records are immutable and ordered in the log, and if an application applies the transactions to its own database in the same order, the result should be deterministic. The process is as follows:

  1. An application composes a transaction message that consists of descriptions of intended data change.
  2. The application sends it to Waltz. At this point, the application’s database is not updated yet.
  3. Waltz receives the transaction message and persists it in the Waltz log.
  4. Waltz sends the transaction message back to the application.
  5. The application receives the transaction message and applies data change to its own database.

The Waltz log contains all data changes. Updates to application databases are driven by messages (transaction data) from Waltz, which is why Waltz becomes the holder of the primary information, while the service databases are derived information, materialized views of the Waltz log.



More Information

Waltz On GitHub

Related Articles

The Enduring Influence Of Postgres

Kafka Graphs Framework Extends Kafka Streams

Kafka Webview Released

Comparing Kafka To RabbitMQ

Apache Kafka Adds New Streams API


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


IKEA First With Matter Hub And It Matters

Matter is the new one-system-to-rule-them-all IoT protocol and surprisingly IKEA is the first to create a working device that you can buy - well in October. What is Matter all about and why does it ma [ ... ]

TypeScript 4.7 Adds Node.js ECMAScript Module Support

TypeScript 4.7 has been released with improvements including ECMAScript module support in Node.js, instantiation expressions, and control-flow analysis for computed properties.

More News





or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 23 September 2019 )