Hệ thống lưu trữ có khả năng mở rộng
Hệ thống lưu trữ có khả năng mở rộng phân tán dữ liệu trên nhiều máy để cung cấp dung lượng, thông lượng và tính khả dụng vượt xa bất kỳ máy chủ đơn lẻ nào, đồng thời che giấu các lỗi của từng nút riêng lẻ.
Definition
Hệ thống lưu trữ có khả năng mở rộng lưu trữ dữ liệu trên một cụm máy, phân vùng dữ liệu để tăng dung lượng và thông lượng, đồng thời sao chép dữ liệu để đảm bảo độ bền và tính khả dụng, sao cho hệ thống tổng thể có thể mở rộng theo số lượng nút trong khi vẫn chịu được các lỗi của từng nút riêng lẻ.
Scope
Chủ đề này bao gồm các hệ thống tệp phân tán được thiết kế cho các cụm hàng hóa, các kho lưu trữ khóa-giá trị và cột rộng phân tán, cũng như các kỹ thuật lớp phủ có cấu trúc—băm nhất quán và bảng băm phân tán—được sử dụng để phân vùng và định vị dữ liệu ở quy mô lớn. Nó bao gồm phân vùng dữ liệu (sharding), sao chép để đảm bảo độ bền, và các đánh đổi về tính nhất quán và khả dụng để phân biệt giữa các kho lưu trữ nhất quán mạnh mẽ và các kho lưu trữ có tính khả dụng cao.
Core questions
- Dữ liệu được phân vùng và định vị trên một tập hợp lớn, thay đổi của các nút như thế nào?
- Làm thế nào để đạt được độ bền và tính khả dụng mặc dù các nút thường xuyên gặp lỗi?
- Một kho lưu trữ có khả năng mở rộng có thể cung cấp những đảm bảo nhất quán nào và với chi phí bao nhiêu?
Key theories
- Hệ thống tệp cụm
- Các hệ thống như Google File System lưu trữ các tệp lớn dưới dạng các khối được sao chép trên các máy chủ hàng hóa, tối ưu hóa cho việc truy cập tuần tự lớn và coi các lỗi là điều bình thường chứ không phải là ngoại lệ.
- Kho lưu trữ có cấu trúc phân tán
- Các kho lưu trữ cột rộng và khóa-giá trị như Bigtable và Dynamo phân vùng dữ liệu theo khóa trên các nút và sao chép nó, đánh đổi khả năng biểu đạt truy vấn và tính nhất quán để đạt được khả năng mở rộng theo chiều ngang và tính khả dụng.
- Băm nhất quán và bảng băm phân tán
- Băm nhất quán ánh xạ các khóa và nút vào một vòng sao cho việc thêm hoặc xóa một nút chỉ di chuyển một phần nhỏ các khóa, và các bảng băm phân tán như Chord cung cấp khả năng tra cứu khóa phi tập trung, có thể mở rộng với định tuyến logarit.
Clinical relevance
Lưu trữ có khả năng mở rộng là nền tảng bền vững của các nền tảng đám mây và các dịch vụ web lớn: các kho đối tượng, cơ sở dữ liệu và các đường ống phân tích đều dựa trên các hệ thống tệp phân tán và kho khóa-giá trị mà các lựa chọn phân vùng và sao chép của chúng thiết lập các đảm bảo về độ bền và tính nhất quán của hệ thống.
History
Các bảng băm phân tán ngang hàng như Chord (2001) đã chứng minh khả năng tra cứu phi tập trung có thể mở rộng; Hệ thống tệp của Google (2003) và Bigtable (2006-2008) đã thể hiện khả năng lưu trữ dữ liệu có cấu trúc ở quy mô cụm; và Dynamo của Amazon (2007) đã phổ biến kho lưu trữ khóa-giá trị có tính khả dụng cao, cùng nhau tạo nên bối cảnh lưu trữ có khả năng mở rộng và NoSQL hiện đại.
Debates
- Tính nhất quán mạnh mẽ so với tính khả dụng cao trong lưu trữ
- Các kho lưu trữ nhất quán mạnh mẽ đơn giản hóa logic ứng dụng nhưng phải hy sinh tính khả dụng khi phân vùng, trong khi các kho lưu trữ có tính khả dụng cao như Dynamo chấp nhận sự phân kỳ tạm thời và đẩy việc giải quyết xung đột cho ứng dụng; lựa chọn đúng đắn phụ thuộc vào khả năng chịu đựng sự lỗi thời của dữ liệu.
Key figures
- Sanjay Ghemawat
- Werner Vogels
- Ion Stoica
- Hari Balakrishnan
Related topics
Seminal works
- ghemawat2003
- decandia2007
- stoica2001
Frequently asked questions
- Băm nhất quán giải quyết vấn đề gì?
- Khi dữ liệu được phân vùng trên các nút bằng cách băm khóa, việc băm thông thường sẽ sắp xếp lại gần như mọi thứ khi một nút được thêm hoặc xóa. Băm nhất quán sắp xếp các khóa và nút trên một vòng sao cho một thay đổi như vậy chỉ di chuyển một phần nhỏ, có giới hạn của các khóa, điều này rất cần thiết cho các cụm linh hoạt, thường xuyên thay đổi.