• Calcipher@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    The problem with these types of redundancy schemes is that it simply takes a Internet backbone hiccough (or AWS fuck up) to cause there to be multiple primaries (i.e. lemmy.world is online still, but some portion of the internet can’t see it, so a replica promotes itself to primary, people use both, how do you reconcile it).

    This is not even beginning to talk about the nightmare scenarios possible if someone hacks a replica.

    Edit: Still, this is a good thought and similar to how some actual software packages do things.

    • bastion@lemmy.fmhy.ml
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      A lot of those issues of ‘multiple primaries’ can be resolved with intelligent data types and actions. That is, if we have a notion of how the data is organized, a lot of decisions can be made a priori. Ones that can’t can be read-only during a split.

      Comment groups are mergeable sets. Any unique comment is a valid comment.

      For any individual comment, any tombstone causes a comment to be unseeable (and ideally be deleted). Any edits are latest-wins.

      A lot can be sorted out that way - enough to be usable. Some databases even support that on a db level.