Tìm hiểu cách thức các đại gia công nghệ quản lý dữ liệu - Phần 2: Amazon
Sự đồ sộ khiến cho các data center khác phải kính nể.
Cũng là một gương mặt lớn trong thế giới công nghệ, hệ thống phần cứng mà Amazon đầu tư để phục vụ khách hàng có thể chưa đồ sộ được bằng Google, nhưng chắc chắn vẫn thừa sức khiến các datacenter thông thường phải ngả mũ kính nể. Điểm chung lớn nhất giữa Dynamo của Amazon và GFS của Google là việc chấp nhận đánh đổi một phần tính nhất quán của dữ liệu để có được tốc độ truy xuất, xử lý cao.
Hơn thế nữa, thay vì được tối ưu phục vụ việc đọc dữ liệu, Dynamo luôn luôn ở trạng thái sẵn sàng để nhận các dữ liệu mới – nói cách khác là hướng tới việc cho phép các ứng dụng bên ngoài ghi dữ liệu bất cứ khi nào cần. Trái ngược hoàn toàn với GFS của Google trên đó các ứng dụng bên ngoài thường xuyên cần đọc dữ liệu để phân tích kết quả tìm kiếm cho người dùng. Như nhóm nhóm kỹ sư của Vogel đã viết trong buổi hội thảo “Trên đa số các dịch vụ của Amazon, việc chậm cập nhật thông tin mà người dùng nhập vào sẽ khiến chất lượng dịch vụ giảm đi rất nhiều trong mắt khách hàng. Ví dụ, tình trạng giỏ hàng của khách hàng cần được cập nhật chính xác mỗi khi học thực hiện bổ sung hoặc loại bỏ một sản phẩm trong đó, thậm chí ngay cả khi hệ thống server đang gặp trục trặc.”
Cách xử lý tính nhất quán của dữ liệu trên đây cũng có nét đặc biệt: quá trình kiểm tra tính nhất quán và đồng bộ dữ liệu sẽ chỉ được thực hiện khi phần dữ liệu đó được đọc ra, chứ không phải ngay khi ghi vào. Với cách tiếp cận này, mọi thao tác ghi của các ứng dụng sẽ không bao giờ bị từ chối (ít nhất là không bị từ chối vì các lý do về mặt đồng bộ), bất kể đó là thao tác ghi để bổ sung dữ liệu mới, hay ghi đè/thay đổi dữ liệu cũ.
Về giải pháp phân phối dữ liệu trên các thiết bị lưu trữ, do trước đó đã không ít lần phải dỡ khóc dở cười với phương pháp quản trị tập trung mỗi khi server quản trị (master) gặp sự cố, các kỹ sư của Amazon đã quyết định chuyển sang các phương pháp phân tán. Cũng đồng thời để tăng sự thuận tiện mỗi khi cần mở rộng hệ thống (số lượng dịch vụ mà Amazon bổ sung hàng năm vẫn đang tăng một cách chóng mặt). Hoàn toàn trái ngược với GFS, có thể nói hệ thống Dynamo mang nhiều nét của mô hình mạng ngang hàng peer-to-peer, thay vì dạng master-slave.
Dữ liệu của từng cụm lưu trữ của Dynamo được quản lý trên một vòng không gian địa chỉ, và mỗi đơn vị lưu trữ (bài viết gốc không nói rõ mỗi đơn vị này là ổ cứng, HDD stage rack hay server như Google) sẽ chịu trách nhiệm cho một phần của vòng không gian đó. Để dễ hình dung, hãy tưởng tượng không gian địa chỉ này là một chiếc hộp tròn được chia ngăn theo dạng các lát cắt bánh để cất đồ, và mỗi đơn vị lưu trữ kể trên là một ngăn trong đó.
Mỗi khi một node mới được bổ sung vào “bàn tròn” này, nó sẽ được cấp một giá trị đại diện cho vị trí, thứ tự của nó trong đó và sẽ bắt đầu chịu trách nhiệm cho một phần không gian nhớ. Các node có vị trí “bên cạnh” node mới đó sẽ phải co giãn đôi chút để điều chỉnh cho phù hợp. Cần nhớ rằng: mỗi node chịu trách nhiệm quản lý cho một lát cắt của không gian địa chỉ, còn dữ liệu trên các lát cắt riêng biệt vẫn có thể được sao lưu cho nhau – nếu không thì khả năng sao lưu, chịu lỗi của hệ thông Dynamo này sẽ chỉ là con số không to tướng. Nếu bạn chưa hiểu ý nghĩa của điều này, hãy nhìn vào hình minh họa của Amazon và xem tiếp giải thích về cơ chế ghi dữ liệu của Dynamo phía dưới:
Lại nói tiếp về quá trình kiểm tra đọc dữ liệu từ Dynamo. Khi có yêu cầu “đọc” dữ liệu từ các ứng dụng bên ngoài, các thiết bị quản lý request (tương tự GFS client) trong hệ thống Dynamo sẽ gọi để kiểm tra xem node nào có chứa dữ liệu đó. Tất cả các node có chứa một bản sao của dữ liệu đó sẽ phản hồi, dĩ nhiên là kèm theo cả thông tin về “phiên bản” của dữ liệu mà chúng lưu.
Mô hình này đã được thực tế chứng minh là có khả năng hoạt động ổn định trong phần lớn các trường hợp, kể cả khi xảy ra trục trặc nho nhỏ trong hệ thống. Lần trục trặc duy nhất là vào tháng 8/2011 khi mà một số kỹ sư mạng của Amazon khi nâng cấp router đã sai sót khi chuyển hướng lưu lượng mạng để nâng cấp router. Lưu lượng cho việc sao chép dữ liệu của các node trong mô hình này là cực lớn, và sai sót khi chuyển hướng dòng chảy khổng lồ này vào một số thiết bị mạng yếu vốn chỉ dùng để phục vụ việc “bắt tay” giữa các node đã khiến toàn bộ các website của Amazon gặp trục trặc trong một thời gian ngắn. Nói chung, tuy Dynamo là một mô hình hiệu quả và đã tạo cảm hứng cho rất nhiều mô hình dữ liệu khác như Cassandra của facebook, đây không phải là một kiến trúc mà các datacenter hạng vừa, với nguồn lực tài chính, thiết bị cũng như nhân sự yếu kém có thể mơ đến.
Tham khảo: Arstechnica
NỔI BẬT TRANG CHỦ
Cận cảnh độc quyền Galaxy S25 Edge trực tiếp tại Mỹ: Phiên bản siêu mỏng của Galaxy S25 Ultra
Galaxy S25 Edge đã có màn ra mắt đầy bất ngờ, mặc dù chưa chính thức được bán ra.
Đây là Galaxy S25 Ultra: Galaxy AI tiếng Việt “như con người”, thiết kế mới với viền màn hình siêu mỏng, chip Snapdragon 8 Elite for Galaxy, giá từ 33.9 triệu đồng