From ca6c57b0a118e30cd6e7d7b27f0470a17ca60af1 Mon Sep 17 00:00:00 2001 From: 5HT Date: Sat, 22 Jun 2024 19:56:55 +0300 Subject: [PATCH] wip --- apps/cr/doc/images/log.svg | 51 +++++++++++++++++++++++++++++++ apps/cr/doc/images/merging.svg | 52 ++++++++++++++++++++++++++++++++ apps/cr/doc/images/replicas.svg | 28 +++++++++++++++++ apps/cr/doc/images/sup.png | Bin 0 -> 14484 bytes 4 files changed, 131 insertions(+) create mode 100644 apps/cr/doc/images/log.svg create mode 100644 apps/cr/doc/images/merging.svg create mode 100644 apps/cr/doc/images/replicas.svg create mode 100644 apps/cr/doc/images/sup.png diff --git a/apps/cr/doc/images/log.svg b/apps/cr/doc/images/log.svg new file mode 100644 index 0000000..33e2131 --- /dev/null +++ b/apps/cr/doc/images/log.svg @@ -0,0 +1,51 @@ + + + + log + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + #transaction + + + #client + + + #account + + + #log + + + <- live data + + + <- failover + + + <- epoch + + + <- log head + + + + \ No newline at end of file diff --git a/apps/cr/doc/images/merging.svg b/apps/cr/doc/images/merging.svg new file mode 100644 index 0000000..af6454d --- /dev/null +++ b/apps/cr/doc/images/merging.svg @@ -0,0 +1,52 @@ + + + + merging + Created with Sketch. + + + + + + + + + + + + + + + + + + Replica A + + + Operations + + + 1 + + + 2 + + + 3 + + + 4 + + + Replica B + + + Replica C + + + + GCP + + + + \ No newline at end of file diff --git a/apps/cr/doc/images/replicas.svg b/apps/cr/doc/images/replicas.svg new file mode 100644 index 0000000..edff63d --- /dev/null +++ b/apps/cr/doc/images/replicas.svg @@ -0,0 +1,28 @@ + + + + replicas + Created with Sketch. + + + + + + + + + + write -> + + + <- read + + + <- TX context + + + <- head + + + + \ No newline at end of file diff --git a/apps/cr/doc/images/sup.png b/apps/cr/doc/images/sup.png new file mode 100644 index 0000000000000000000000000000000000000000..87bc36e47f2bcb4bb09db06a4899bb65ce8c103d GIT binary patch literal 14484 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 BbG85g literal 0 HcmV?d00001