Conflict-free replicated data types
===================================

Conflict-free replicated data types (CRDTs) support merging values from
concurrently modified rows instead of discarding one of the rows as the
traditional resolution does.

- :ref:`CRDTs Overview <CRDTs Overview>`  provides an introduction to CRDTs, including how to use
  CRDTs in tables, configuration options, and examples of CRDTs.

- :ref:`Using CRDTs <Using CRDTs>`  investigates how to use CRDTs in tables, reviews some
  configuration options, and reviews some examples of CRDTs and how they
  work.

- :ref:`Operation-based and state-based CRDTs <Operation-based and state-based CRDTs>`  reviews the differences between operation-based and
  state-based CRDTs.

- :ref:`CRDT Disk-space requirements <CRDT Disk-space requirements>`  covers disk-size considerations for CRDTs, especially
  state-based CRDTs.

- :ref:`CRDTs vs conflict handling/reporting <CRDTs vs conflict handling/reporting>`  explains how conflict handling and reporting works with
  CRDTs.

- :ref:`Resetting CRDT values <Resetting CRDT values>`  discusses the challenges of resetting CRDT values and
  provides some guidance on doing so successfully.

- :ref:`Implemented CRDTs <Implemented CRDTs>`  details each of the 6 available CRDTs available in PGD,
  with implementation examples.

.. toctree::
  :maxdepth: 3

  DEEP_DIVE--conflict-management--crdt--00_crdt_overview
  DEEP_DIVE--conflict-management--crdt--01_crdt_usage
  DEEP_DIVE--conflict-management--crdt--02_state-op-crdts
  DEEP_DIVE--conflict-management--crdt--03_crdt-disk-reqs
  DEEP_DIVE--conflict-management--crdt--04_crdt-vs-conflict
  DEEP_DIVE--conflict-management--crdt--05_crdt-reset
  DEEP_DIVE--conflict-management--crdt--06_crdt-implemented
