<commit_before>---
layout: post
title: A Primer on Database Replication
meta: replication
draft: false
---

<script src="https://gumroad.com/js/gumroad.js"></script>
<a class="gumroad-button" href="https://gum.co/replication" data-gumroad-single-product="true" target="_blank">
  Get as PDF or ePub
</a>
<commit_msg>Fix broken introduction in replication post<commit_after>---
layout: post
title: A Primer on Database Replication
meta: replication
draft: false
intro: Replicating a database can make our applications faster and increase our tolerance to failures, but there are a lot of different options available and each one comes with a price tag. It's hard to make the right choice if we do not understand how the tools we are using work, and what are the guarantees they provide (or, more importantly, do _not_ provide), and that's what I want to explore here.
---

<script src="https://gumroad.com/js/gumroad.js"></script>
<a class="gumroad-button" href="https://gum.co/replication" data-gumroad-single-product="true" target="_blank">
  Get as PDF or ePub
</a>

{'fraction_non_alphanumeric': 0.11235955056179775, 'fraction_numerical': 0.0, 'mean_word_length': 4.809782608695652, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5427281', 'n_tokens_mistral': 319, 'n_tokens_neox': 309, 'n_words': 129}