From dad2c5fa45232d2d01500fa7ae8ec049c31d250a Mon Sep 17 00:00:00 2001 From: Zhao Junwang Date: Sun, 14 Jul 2024 15:24:48 +0800 Subject: [PATCH] Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases Signed-off-by: Zhao Junwang --- src/SUMMARY.md | 2 + .../aurora_architecture_bird_eye_view.png | Bin 0 -> 290683 bytes .../images/aurora_network_io_in_aurora.png | Bin 0 -> 129130 bytes .../aurora_network_io_in_mirrored_mysql.png | Bin 0 -> 246139 bytes .../images/aurora_traffic_in_storage_node.png | Bin 0 -> 202375 bytes src/assets/pdfs/aurora-sigmod-17.pdf | Bin 0 -> 1536598 bytes src/databases/README.md | 3 + src/databases/cloudnative/README.md | 5 ++ src/databases/cloudnative/aurora.md | 79 ++++++++++++++++++ 9 files changed, 89 insertions(+) create mode 100644 src/assets/images/aurora_architecture_bird_eye_view.png create mode 100644 src/assets/images/aurora_network_io_in_aurora.png create mode 100644 src/assets/images/aurora_network_io_in_mirrored_mysql.png create mode 100644 src/assets/images/aurora_traffic_in_storage_node.png create mode 100644 src/assets/pdfs/aurora-sigmod-17.pdf create mode 100644 src/databases/cloudnative/README.md create mode 100644 src/databases/cloudnative/aurora.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 1a20e14..9eaa142 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -10,6 +10,8 @@ - [flink](./bigdata/flink.md) - [flink state management](./bigdata/flink-state-management.md) - [databases](./databases/README.md) + - [cloudnative](./databases/cloudnative/README.md) + - [aurora](./databases/cloudnative/aurora.md) - [columnstores vs rowstores](./databases/column-stores-vs-row-stores.md) - [kv](./databases/kv/README.md) - [rocksdb cidr17](./databases/kv/optimizing-space-amplification-in-rocksdb.md) diff --git a/src/assets/images/aurora_architecture_bird_eye_view.png b/src/assets/images/aurora_architecture_bird_eye_view.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6e8d4e1c47c4ba210949730366fa71ccd8a3fe GIT binary patch literal 290683 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