XTX Markets đã mở mã nguồn TernFS , một hệ thống tệp phân tán quản lý hơn 600 petabyte dữ liệu cho các hoạt động giao dịch tần số cao. Mặc dù thành tựu này thể hiện quy mô đáng kể, cộng đồng kỹ thuật đã đặt ra những câu hỏi quan trọng về các lựa chọn thiết kế và hạn chế của hệ thống mà người dùng tiềm năng nên cân nhắc.
Thông số kỹ thuật chính của TernFS :
- Quy mô: 600+ petabyte trong một triển khai đơn lẻ
- Kích thước file trung bình: 2MB (không được tối ưu hóa cho các file nhỏ)
- Backend: CockroachDB để quản lý metadata
- Mạng: TCP/IP (không hỗ trợ RDMA)
- Đồng thuận: Thuật toán tùy chỉnh giống Raft
- Giấy phép: GPL-2.0-or-later (lõi), Apache-2.0 với ngoại lệ LLVM (thư viện client)
Mối Quan Ngại Về Hiệu Suất và Phần Cứng
Việc hệ thống tệp phụ thuộc vào TCP/IP thay vì RDMA (Remote Direct Memory Access) đã thu hút sự chỉ trích từ các chuyên gia lưu trữ. Các ổ đĩa NVMe hiện đại có thể đạt được băng thông cao hơn nhiều khi kết hợp với công nghệ RDMA , nhưng TernFS sử dụng kết nối TCP tiêu chuẩn thông qua các tiến trình Go . Lựa chọn thiết kế này có thể hạn chế hiệu suất cho các khối lượng công việc sử dụng nhiều lưu trữ, có thể yêu cầu nhiều nút phần cứng hơn để đạt được cùng một thông lượng mà các hệ thống khác hoàn thành với ít máy hơn.
Cộng đồng lưu ý rằng các hệ thống tệp song song sử dụng RDMA và mạng chuyên dụng có thể đạt 80-90 GB/s mỗi nút, cao hơn đáng kể so với những gì các phương pháp dựa trên TCP thường đạt được. Đối với các tổ chức lập kế hoạch triển khai quy mô lớn, khoảng cách hiệu suất này có thể dẫn đến chi phí phần cứng và vận hành đáng kể.
Bối cảnh so sánh hiệu suất:
- Các hệ thống tập tin song song hiện đại: 80-90 GB/s mỗi nút với RDMA
- TernFS : Hiệu suất dựa trên TCP (các con số cụ thể chưa được tiết lộ)
- Giới hạn kích thước tập tin: Không phù hợp với các tập tin nhỏ do chi phí metadata
- Sao chép: Khả năng sao chép liền mạch giữa các châu lục
Rủi Ro Triển Khai Tùy Chỉnh
TernFS sử dụng một thuật toán đồng thuận phân tán tùy chỉnh thay vì các triển khai đã được thiết lập và kiểm nghiệm như Raft tiêu chuẩn. Mặc dù các nhà phát triển viện dẫn kinh nghiệm của họ với các hệ thống giao dịch làm lý do chính đáng, đồng thuận phân tán nổi tiếng là khó triển khai một cách chính xác. Nhóm thừa nhận họ chưa kích hoạt chuyển đổi dự phòng tự động và có kế hoạch xác thực phương pháp của họ bằng thử nghiệm Jepsen chỉ sau khi triển khai.
Phương pháp này tương phản với các thực hành tốt nhất trong ngành là sử dụng các thuật toán đồng thuận đã được chứng minh đã trải qua thử nghiệm và xác thực rộng rãi. Quyết định này phản ánh sự đánh đổi giữa tùy chỉnh cho các nhu cầu cụ thể và độ tin cậy đi kèm với các giải pháp trưởng thành, được áp dụng rộng rãi.
Kiến trúc Kỹ thuật:
- Hệ thống tập tin chính: Backend CockroachDB
- Lưu trữ dữ liệu: Dựa trên khối với các nhóm vị trí
- Mô hình nhất quán: Tính nhất quán cuối cùng với sự hội tụ xác định
- Giao diện client: Điểm gắn kết FUSE , Object API , hàng đợi tin nhắn
- Liên vùng: Thiết lập đồng thuận phân tán đa vùng
Hạn Chế Kích Thước Tệp và Ràng Buộc Trường Hợp Sử Dụng
Hệ thống rõ ràng tuyên bố không nên được sử dụng cho các tệp nhỏ, với kích thước tệp trung vị là 2MB. Hạn chế này xuất phát từ những thách thức cơ bản trong việc quản lý siêu dữ liệu cho số lượng lớn các đối tượng nhỏ. Như một chuyên gia giải thích, xử lý hàng triệu tỷ tệp nhỏ tạo ra các vấn đề quản lý siêu dữ liệu phức tạp đòi hỏi các lựa chọn thiết kế bất thường và có thể phá vỡ các kiến trúc lưu trữ thông thường.
Ràng buộc này thu hẹp đáng kể khả năng ứng dụng của TernFS so với các hệ thống tệp phân tán khác xử lý các tệp nhỏ hiệu quả hơn. Các tổ chức có khối lượng công việc hỗn hợp chứa nhiều tệp nhỏ sẽ cần các giải pháp thay thế hoặc tái cấu trúc đáng kể tổ chức dữ liệu của họ.
So Sánh Với Các Giải Pháp Đã Được Thiết Lập
Cộng đồng đặt câu hỏi tại sao TernFS được xây dựng từ đầu thay vì điều chỉnh các giải pháp hiện có như CephFS , cũng hoạt động ở quy mô petabyte. Mặc dù các nhà phát triển TernFS viện dẫn nhu cầu của họ về 600PB trong một triển khai duy nhất và sao chép liền mạch giữa các châu lục là những điểm khác biệt chính, một số thành viên cộng đồng lưu ý rằng các triển khai Ceph lớn tồn tại, mặc dù các chi tiết cụ thể vẫn được bảo mật do quyền riêng tư của doanh nghiệp.
Lựa chọn giữa xây dựng các giải pháp tùy chỉnh so với điều chỉnh các giải pháp hiện có thường phụ thuộc vào khả năng bảo trì dài hạn và yêu cầu tính năng cụ thể. TernFS ưu tiên việc có toàn quyền kiểm soát cơ sở mã để sửa chữa và chỉnh sửa nhanh chóng, điều này có thể có giá trị cho các tổ chức có nhu cầu chuyên biệt và đủ tài nguyên kỹ thuật.
Kết Luận
TernFS đại diện cho một thành tựu kỹ thuật ấn tượng trong việc quản lý lưu trữ quy mô lớn cho các khối lượng công việc chuyên biệt. Tuy nhiên, các cuộc thảo luận kỹ thuật tiết lộ những cân nhắc quan trọng cho những người có thể áp dụng. Các lựa chọn thiết kế của hệ thống ưu tiên các trường hợp sử dụng cụ thể - tệp lớn, dữ liệu bất biến, và các tổ chức có đủ tài nguyên kỹ thuật để duy trì cơ sở hạ tầng tùy chỉnh. Mặc dù quy mô 600PB chứng minh khả năng, các hạn chế hiệu suất, triển khai tùy chỉnh, và ràng buộc kích thước tệp có nghĩa là TernFS có thể không phù hợp cho tất cả nhu cầu lưu trữ phân tán. Các tổ chức cân nhắc áp dụng nên đánh giá cẩn thận liệu yêu cầu của họ có phù hợp với điểm mạnh của hệ thống và liệu họ có thể chấp nhận các hạn chế được ghi nhận hay không.
Tham khảo: TernFS – An eventualy scalable, multiregion distributed filesystem