TL;DR
这篇文章讲的是如何实现自己的“云原生”数据库,以及探索S3是否适合作为DB的共享存储。
S3的优点是安全、无需运维、按使用付费,缺点是访问延时高、使用廉价硬件可能会牺牲一致性(这里作者引用了Dynamo,不太确定Dynamo和S3的关系)、更新不保证顺序。
本文的贡献:
- 演示了如何在S3上实现需要被并发修改的小对象。
- 演示了S3上如何实现B树。
- 提出了可以演示如何用S3实现不同一致性级别的协议。
- 使用TPC-W基准测试了不同一致性级别下使用S3的成本。
本文的目的是在保证可用性和资源利用率的前提下,探索如何将DB的性质尽可能多地搬到云上。
结论:显然只是一次实验,验证了使用S3作为共享存储的可行性,但实用性不高。如果换成EBS的话可能更好一些。它的PU queue有点像Bw-tree。