title: Can you Delete in a replication based Distributed Database?
body: <p>I have thus far been living under the impression that you can not truly delete a row in a replication based Distributed Database. It all works well in a Copy based one. But in Replication you mark them as &quot;consider this delete&quot; and filter them out in every last query. But you do not ever actually delete something from the DB. I think it is time to verify if that assumption is true.</p>
  <p>My understanding is that you would run into a Race Condition with the Replication if there was ever a key collision. It goes something like this:</p>
  <p>Database A:
  Adds a Entry under Key 11 (11A)</p>
  <p>Database B:
  Adds a Entry under Key 11 (11B)</p>
  <p>Database A:
  Deletes a Entry under Key 11</p>
  <p>Now it depends in which Order these 3 operations &quot;meet&quot; in the wild:
  The expected order would be:</p>
  <ul>
  <li>11A Create</li>
  <li>11 Delete (which means 11A)</li>
  <li>11B Create</li>
  </ul>
  <p>But what if this happens instead?</p>
  <ul>
  <li>11A Create</li>
  <li>11B Create (fails, already a key 11)</li>
  <li>11 Delete</li>
  </ul>
  <p>Or even worse, this?</p>
  <ul>
  <li>11B Create</li>
  <li>11A Create (fails, already a key 11)</li>
  <li>11 Delete (which will hit 11B)</li>
  </ul>