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


Why Outsource Mobile App Development
26/06/2020

Outsourcing mobile development is an obvious solution for those companies that need to build an app. Here are six good reasons to convince them to do so.



Two New Nanodegree Programs - Java and JavaScript
10/07/2020

We don't usually combine Java and JavaScript in a single news item. But we'll make an exception since Udacity has new intermediate level Nanodegree programs in both of them, starting on July 14th. And [ ... ]


More News

graphics

 



 

Comments




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

Last Updated ( Monday, 23 September 2019 )