Dynamo: Kho lưu trữ khóa-giá trị có tính sẵn sàng cao của Amazon
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall và Werner Vogels Amazon.com
TÓM TẮT Độ tin cậy ở quy mô khổng lồ là một trong những thách thức lớn nhất mà chúng tôi phải đối mặt tại Amazon.com, một trong những hoạt động thương mại điện tử lớn nhất thế giới; ngay cả sự cố gián đoạn nhỏ nhất cũng gây ra những hậu quả tài chính đáng kể và ảnh hưởng đến niềm tin của khách hàng. Nền tảng Amazon.com, cung cấp dịch vụ cho nhiều website trên toàn thế giới, được triển khai trên một cơ sở hạ tầng gồm hàng chục nghìn server và các thành phần mạng nằm trong nhiều trung tâm dữ liệu trên khắp thế giới. Ở quy mô này, các thành phần nhỏ và lớn liên tục gặp sự cố, và cách trạng thái bền vững được quản lý khi đối mặt với các sự cố này quyết định độ tin cậy và khả năng mở rộng của các hệ thống phần mềm.
Bài báo này trình bày thiết kế và triển khai của Dynamo, một hệ thống lưu trữ khóa-giá trị có tính sẵn sàng cao mà một số dịch vụ cốt lõi của Amazon sử dụng để cung cấp trải nghiệm “luôn hoạt động”. Để đạt được mức độ sẵn sàng này, Dynamo hy sinh tính nhất quán trong một số kịch bản sự cố nhất định. Nó sử dụng rộng rãi việc phiên bản hóa đối tượng và giải quyết xung đột có sự hỗ trợ của ứng dụng theo một cách cung cấp một giao diện mới lạ cho các nhà phát triển sử dụng.
Phân loại và Mô tả chủ đề D.4.2 [Operating Systems]: Quản lý lưu trữ; D.4.5 [Operating Systems]: Độ tin cậy; D.4.2 [Operating Systems]: Hiệu năng;
Thuật ngữ chung Thuật toán, Quản lý, Đo lường, Hiệu năng, Thiết kế, Độ tin cậy.