[译文] Amazon DynamoDB: A Scalable, Predicably Performant, and Fully Managed NoSQL Database Service
本文介绍了Amazon在大规模环境下运行DynamoDB的经验,以及该架构如何不断发展以满足客户不断增长的工作负载需求。
Just for fun.
本文介绍了Amazon在大规模环境下运行DynamoDB的经验,以及该架构如何不断发展以满足客户不断增长的工作负载需求。
本文对Dynamo的设计和实现涉及的技术进行了总结。Dynamo是一个高可用、可扩展和提供最终一致性的KV存储系统。为了实现高可用要求,Dynamo牺牲了某些故障场景下的一致性。Dynamo的经典设计使它被誉为NoSQL数据库的“开山之作”。其设计理念至今仍然值得细细体会。
TimeUnion是一个为混合云存储服务量身定制的高效时间序列管理系统。提出统一的数据模型来表示独立的时间序列和时间序列组,能够处理时间序列的不同用例。引入对时间序列的内存高效数据结构。提出了时间分区LSM树,它具有定制的架构、压缩机制、乱序数据处理和对时间序列数据的动态级别大小调整。
Bibtex是一种文献信息格式,latex支持插入Bibtex格式的参考文献。本文记录如何在vscode中修改编译链设置,对包含Bibtex引用的.tex文件进行编译。
之前的并发控制机制要么是通过延迟,要么是通过中止事务来保证可串行性。如果系统中保存了每一数据项的旧版本,并能识别出每个事务应该读到哪个版本,就可以避免这些问题。
当预期事务执行过程中会频繁出现线程争用时,就需要使用锁对资源使用加以限制,因此锁是一种悲观策略。如果预期争用并不是那么频繁,就可以使用更乐观的算法。时间戳顺序协议通过给每个事务指定时间戳来实现事务串行化,因而在使用资源前不需要申请锁。