Tổng quan về Bảo vệ dữ liệu và Đường dẫn dữ liệu của Dell ECS Phần I

Dell ECS là nền tảng lưu trữ đối tượng hàng đầu trong ngành được thiết kế để cung cấp khả năng mở rộng, hiệu suất và độ tin cậy ở cấp độ doanh nghiệp. ECS được xây dựng để hỗ trợ cả các ứng dụng đám mây gốc hiện đại và khối lượng công việc truyền thống, cung cấp các giải pháp lưu trữ dữ liệu đa năng. Nó cho phép các tổ chức quản lý và lưu trữ hiệu quả lượng lớn dữ liệu phi cấu trúc, đảm bảo dễ dàng truy cập và truy xuất trên nhiều ứng dụng khác nhau. Khả năng tương thích của nó với các giao thức S3, Atmos, CAS, Swift, NFS cho phép áp dụng và di chuyển dễ dàng, khiến Dell ECS trở thành lựa chọn lý tưởng cho các doanh nghiệp đang tìm kiếm giải pháp lưu trữ đối tượng linh hoạt và có khả năng mở rộng.

Blog này sẽ giới thiệu đường dẫn dữ liệu của ECS. Vui lòng tham khảo kiến ​​trúc ECS và bài viết tổng quan nếu bạn muốn biết thêm về ECS.

Trước khi giới thiệu đường dẫn dữ liệu, trước tiên chúng ta hãy nói về chunk, siêu dữ liệu. Nếu bạn đã quen thuộc với các khái niệm này, vui lòng tham khảo Tổng quan về bảo vệ dữ liệu và đường dẫn dữ liệu II của Dell ECS, sẽ giới thiệu về bảo vệ dữ liệu và luồng dữ liệu.

Khối

Một chunk là một container logic mà ECS sử dụng để lưu trữ tất cả các loại dữ liệu, bao gồm dữ liệu đối tượng, siêu dữ liệu tùy chỉnh do khách hàng cung cấp và siêu dữ liệu hệ thống. Chunk chứa 128 MB dữ liệu bao gồm một hoặc nhiều đối tượng, như thể hiện trong hình sau.

Siêu dữ liệu

Siêu dữ liệu được định nghĩa là dữ liệu cung cấp thông tin về một hoặc nhiều khía cạnh của dữ liệu. Nó bao gồm siêu dữ liệu hệ thống như chủ sở hữu, ngày tạo, kích thước và siêu dữ liệu tùy chỉnh. Một ví dụ về siêu dữ liệu khách hàng có thể là client=Dell, event=DellWorld và ID=123.

Quản lý dữ liệu 

ECS duy trì siêu dữ liệu theo dõi vị trí dữ liệu và lịch sử giao dịch. Siêu dữ liệu này được duy trì trong các bảng logic và nhật ký.

Các bảng chứa cặp khóa-giá trị để lưu trữ thông tin liên quan đến các đối tượng. Một hàm băm được sử dụng để xác định phân vùng bảng nào lưu trữ khóa. Các cặp khóa-giá trị này được lưu trữ trong cây B+ để lập chỉ mục nhanh các vị trí dữ liệu. Ngoài ra, để nâng cao hơn nữa hiệu suất truy vấn của các bảng logic này, ECS triển khai cây hợp nhất có cấu trúc nhật ký hai cấp (LSM). Do đó, có hai cấu trúc giống cây trong đó một cây nhỏ hơn nằm trong bộ nhớ (bảng bộ nhớ) và cây B+ chính nằm trên đĩa. Tra cứu cặp khóa-giá trị trước tiên sẽ truy vấn bảng bộ nhớ và nếu giá trị không phải là bộ nhớ, nó sẽ tìm trong cây B+ chính trên đĩa.

Lịch sử giao dịch được ghi lại trong nhật ký nhật ký, được ghi vào đĩa. Nhật ký theo dõi các giao dịch chỉ mục chưa được cam kết với cây B+. Sau khi giao dịch được ghi vào nhật ký, bảng bộ nhớ được cập nhật. Sau khi bảng trong bộ nhớ đầy hoặc sau một khoảng thời gian nhất định, bảng được hợp nhất, sắp xếp hoặc đổ vào cây B+ trên đĩa. Sau đó, một điểm kiểm tra được ghi lại trong nhật ký.

ECS sử dụng một số bảng khác nhau và mỗi bảng có thể khá lớn. Để tối ưu hóa hiệu suất tra cứu bảng, mỗi bảng được chia thành các phân vùng được phân phối trên các nút. Nút nơi phân vùng được ghi và sau đó trở thành chủ sở hữu hoặc thẩm quyền của phân vùng hoặc phần đó của bảng.

Một trong những bảng như vậy là bảng chunk, theo dõi vị trí vật lý của các mảnh chunk và bản sao trên đĩa. Bảng sau đây hiển thị mẫu phân vùng của bảng chunk. Mỗi chunk xác định vị trí vật lý của nó bằng cách liệt kê đĩa trong nút, tệp trong đĩa, độ lệch trong tệp đó và độ dài của dữ liệu. ID chunk C1 được mã hóa xóa và ID chunk C2 được phản chiếu ba lần như thể hiện trong bảng 1.

Bảng 1: Phân vùng bảng khối mẫu

ID khối Vị trí khối
C1 Node1:Đĩa1:Tệp1:Độ lệch:Chiều dài

Node2: Đĩa1: Tệp1: độ lệch: chiều dài

Node3: Đĩa1: Tệp1: độ lệch: chiều dài

Node4: Đĩa1: Tệp1: độ lệch: chiều dài

Node5: Đĩa1: Tệp1: độ lệch: chiều dài

Node6: Đĩa1: Tệp1: độ lệch: chiều dài

Node7: Đĩa1: Tệp1: độ lệch: chiều dài

Node8: Đĩa1: Tệp1: độ lệch: chiều dài

Nút 1: Đĩa 2: Tệp 1: Độ lệch: Chiều dài

Node2:Đĩa2:Tệp1:Độ lệch:Chiều dài

Nút 3: Đĩa 2: Tệp 1: độ lệch: chiều dài

Node4: Đĩa2: Tệp1: độ lệch: chiều dài

Node5: Đĩa 2: Tệp 1: độ lệch: chiều dài

Node6: Đĩa2: Tệp1: độ lệch: chiều dài

Node7: Đĩa 2: Tệp 1: độ lệch: chiều dài

Node8: Đĩa 2: Tệp 1: độ lệch: chiều dài

C2 Nút 1: Đĩa 3: Tệp 1: Độ lệch: Chiều dài

Node2:Đĩa3:Tệp1:Độ lệch:Chiều dài

Node3:Đĩa3:Tệp1:Độ lệch:Chiều dài

 Một ví dụ khác là bảng đối tượng, được sử dụng để ánh xạ tên đối tượng thành khối. Bảng sau đây hiển thị ví dụ về phân vùng của bảng đối tượng liệt kê khối hoặc các khối và hiển thị vị trí của đối tượng trong khối hoặc các khối.

Bảng 2: Bảng đối tượng mẫu

Tên đối tượng ID khối
ẢnhA C1:bù trừ:chiều dài
Tập tinA C4:bù trừ:chiều dài

C6:bù trừ:chiều dài

 Kho lưu trữ KV (Key-Value) phân tán, chạy trên một phần của các nút, duy trì việc ánh xạ các chủ sở hữu phân vùng bảng. Bảng sau đây cho thấy một ví dụ về một phần của bảng ánh xạ KV.

Bảng 3: Bảng ánh xạ mẫu

ID bảng Chủ sở hữu phân vùng bảng
Bảng 0 P1 Nút 1
Bảng 0 P2 Nút 2