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.

waltz

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.

waltz

 

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.

Banner


A Trio Of Coding Agents At Microsoft Build
20/05/2025

Day 1 of Microsoft Build 2025 was, as expected, an AI-focused event with Satya Nadella devoting much of the keynote to artificial intelligence agents giving us a picture of a future in  whic [ ... ]



Court Rejects Apple's Appeal - An Epic Win
06/06/2025

Apple's latest attempt to maintain full financial control over the App Store has failed, allowing Fortite to stay in the App Store and Epic to use external methods for in-app purchases.


More News

espbook

 

Comments




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

Last Updated ( Monday, 23 September 2019 )