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


Alexa Gadgets Skills Kit Available Across The Globe
31/10/2019

Amazon has announced that the Alexa Gadgets Toolkit is now available in all locales where Alexa-enabled devices are sold. Use it to participate in the Lego Mindstorms Voice Challenge.



Rust Gets Async-Await
08/11/2019

The latest version of Rust adds async-await for easy asynchronous programming and Microsoft thinks the language could be an alternative to C++.


More News

graphics

 



 

Comments




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

Last Updated ( Monday, 23 September 2019 )