5 điểm bởi GN⁺ 2024-11-19 | 1 bình luận | Chia sẻ qua WhatsApp
  • Regatta Storage là dịch vụ cho phép dùng storage tương thích S3 như một hệ thống tệp đám mây tự động đồng bộ, nhằm xử lý dữ liệu quy mô lớn mà không cần mở rộng ổ đĩa cục bộ
  • Dịch vụ này cho phép các tác vụ Spark, PyTorch, pandas truy cập trực tiếp vào dataset trên S3, nhằm giảm thời gian chờ tải xuống và gánh nặng chuẩn bị ổ đĩa cục bộ dung lượng lớn
  • Xuất phát điểm là kinh nghiệm vận hành storage tại Amazon EFS và Netflix; dù EFS có ưu điểm về sự đơn giản và khả năng mở rộng, khi chuyển từ ổ đĩa cục bộ sang NFS vẫn còn vấn đề hiệu năng
  • Khách hàng mount hệ thống tệp Regatta bằng NFSv3, còn các instance caching của Regatta kết nối với S3 bucket của khách hàng để cung cấp hiệu năng dưới mili giây cho các thao tác đọc/ghi đã được cache
  • Hiện được dùng cho notebook Jupyter serverless, lớp caching phân tán trên S3, và thay thế boot volume Ceph được thin-provision; trong tương lai cũng đang phát triển giao thức tệp tùy chỉnh

Cung cấp trải nghiệm hệ thống tệp giống cục bộ trên S3

  • Regatta Storage là hệ thống tệp đám mây tính phí theo mức sử dụng và tự động đồng bộ với storage tương thích S3
  • Mục tiêu là tạo luồng làm việc cho phép truy cập trực tiếp dataset quy mô lớn trong Spark, PyTorch, pandas mà không cần tải xuống ổ đĩa cục bộ
  • Video tổng quan về dịch vụ có trên YouTube, và có thể dùng thử miễn phí sau khi đăng ký tài khoản
  • Lý do không cung cấp trải nghiệm dùng thử không cần tài khoản là vì họ cho rằng việc người dùng Hacker News cùng chia sẻ một hệ thống tệp và S3 bucket là không phù hợp

Bối cảnh thiết kế từ kinh nghiệm với EFS

  • Nhà sáng lập tạo ra Regatta dựa trên 8 năm làm việc với Amazon Elastic File System (EFS) và kinh nghiệm xây dựng, vận hành cloud storage quy mô lớn tại Netflix và các nơi khác
  • EFS có ưu điểm là đơn giản và có khả năng mở rộng, không cần ước tính trước dung lượng cần thiết như S3, nhưng tại Netflix lại không được dùng nhiều như kỳ vọng
    • Nhiều ứng dụng cần hệ thống tệp POSIX, và nhu cầu storage có thể không rõ ràng hoặc tăng đột biến
    • Cũng có nhiều trường hợp cần storage tồn tại lâu hơn vòng đời của instance hoặc container
    • Ổ đĩa cục bộ thường bị cấp phát dư theo mức sử dụng tiềm năng, khiến cả không gian storage trống cũng phát sinh chi phí
  • EFS không phù hợp với mọi workload
    • Khi chuyển từ ổ đĩa cục bộ sang NFS, đôi khi phát sinh vấn đề hiệu năng
    • Các ứng dụng từng dùng ổ đĩa cục bộ như bộ nhớ tạm phải tự dọn dẹp thủ công dữ liệu còn lại trong storage bền vững

Cách Regatta hoạt động và mô hình cache

  • Regatta được thiết kế như một hệ thống tệp tính phí theo mức sử dụng, tự động mở rộng cùng ứng dụng
    • Tự động đồng bộ với S3 theo định dạng tệp native, nên có thể kết nối với các dataset hiện có
    • Dữ liệu tệp mới ghi gần đây cũng có thể được dùng trực tiếp từ S3
    • Dữ liệu không còn được sử dụng tích cực sẽ bị loại khỏi cache của Regatta, khi đó chỉ còn phải chịu chi phí storage S3 backend
  • Hiện khách hàng mount hệ thống tệp Regatta bằng NFSv3 để kết nối tới fleet các instance caching của Regatta
    • Instance Regatta kết nối ở backend tới S3 bucket của khách hàng
    • Cung cấp hiệu năng dưới mili giây cho các thao tác đọc và ghi đã được cache
    • Thông qua cache bền vững, cung cấp góc nhìn hệ thống tệp nhất quán mạnh cho tất cả file client được kết nối
    • Xử lý nhanh và bền vững các thao tác khó như đổi tên thư mục, rồi lan truyền bất đồng bộ sang S3 bucket

Các trường hợp sử dụng ban đầu và bước tiếp theo

  • Những người dùng ban đầu đang dùng Regatta cho server notebook Jupyter serverless dành cho nhà nghiên cứu AI, lớp caching phân tán độ trễ thấp trên S3, và thay thế boot volume Ceph được thin-provision
  • Giao thức tệp tùy chỉnh đang được phát triển hướng tới hiệu năng gần như cục bộ cho workload nhiều tệp nhỏ, và hiệu năng scale-out giống Lustre cho các tác vụ dữ liệu phân tán

1 bình luận

 
GN⁺ 2024-11-19
Ý kiến Hacker News
  • Điểm khác biệt giữa Rclone và Regatta Storage là khi thực hiện các thao tác biến đổi hệ thống tệp, Regatta cung cấp tính nhất quán mạnh nhờ sử dụng lớp bộ nhớ đệm tốc độ cao. Rclone không có lớp đảm bảo tính nhất quán giữa các client chạy song song

    • Regatta Storage cung cấp tính nhất quán mạnh khi thực hiện các thao tác biến đổi hệ thống tệp bằng cách sử dụng lớp bộ nhớ đệm tốc độ cao
    • Rclone không có lớp đảm bảo tính nhất quán giữa các client chạy song song
  • Đây là một trong những sản phẩm thú vị nhất từng ra từ YC, và có nhiều câu hỏi về cách nó hoạt động

    • Muốn biết liệu có bị giảm hiệu năng khi xử lý dữ liệu cỡ 50GB trên đĩa cục bộ 10GB hay không
    • Muốn biết liệu có thể đạt tốc độ cao trên các cloud khác ngoài AWS hay không
    • Có thắc mắc về cách sử dụng mount FUSE và NFS
    • Muốn biết liệu có thể chạy Clickhouse hoặc Postgres trên volume Regatta hay không
    • Muốn biết quan điểm về mã nguồn mở
    • Muốn biết liệu có thể mount trên nhiều server hay không, và các giới hạn của việc đó là gì
  • Đang host DuckDB bằng GCP Filestore và yêu cầu thông tin về giá và hiệu năng của Regatta

    • Yêu cầu thông tin về giá và hiệu năng của instance 10 TiB
  • Quan tâm dùng làm đĩa sao lưu cho SQLite/DuckDB/parquet, đồng thời muốn các lượt đọc được cache trên bộ nhớ NVMe cục bộ của instance

    • Cần các tính năng khóa và bộ nhớ chia sẻ mà NFS không cung cấp được
    • Có thể tự triển khai trực tiếp trong user space, nhưng như vậy thì thà dùng S3 còn hơn
  • Cho rằng việc dùng NFS làm giao thức là một ý tưởng hay

    • Từng có kinh nghiệm viết một hệ thống tệp mã hóa với ý tưởng tương tự tại IBM
    • Cảm giác như ma thuật khi mount hệ thống tệp và mọi dữ liệu "đơn giản là ở đó"
  • Có lo ngại rằng AWS có thể sao chép sản phẩm này và cung cấp với mức giá thấp hơn

  • Từng có trải nghiệm demo thành công trước CEO của Adobe vào năm 2008, trong đó một bức ảnh chụp bằng iPhone tự động xuất hiện thành tệp trên máy Mac

    • Đã triển khai FUSE cục bộ để giao tiếp với kho lưu trữ đối tượng phân tán của Adobe bằng FUSE
    • Bắt đầu nghiên cứu và phát triển hệ thống phân tán cùng thời điểm Dropbox ra mắt
  • Muốn biết liệu có thể xây dựng hệ thống lưu trữ SQL ACID thời gian thực bằng Lambda + SQLite + Regatta hay không

  • Chưa rõ cách xử lý xung đột khi cập nhật tệp

    • Ví dụ, nếu hai người dùng cập nhật cùng một tệp từ các máy tính khác nhau thì tệp cuối cùng sẽ như thế nào
  • Có những lựa chọn thay thế đáng chú ý như s3fs, rclone, goofys, v.v.