Scaled KV Storage - OCG's Challenging Products (P5)

Scaled KV Storage - OCG's Challenging Products (P5)
Key Value Storage Architecture | Image Source

 Manage Assets at Scale - Cost Optimization

Việc sử dụng các nền tảng cloud (AWS, GCP, Azure...) giúp đơn giản hóa rất nhiều trong việc vận hành sản phẩm. Bởi OCG xây dựng sản phẩm cho thị trường quốc tế nên chúng tôi xác định sản phẩm sẽ gắn liền với các nền tảng này. Bên cạnh đó, việc sử dụng cloud cũng mang đến khá nhiều bài toán cần tối ưu hóa chi phí và quản lý resource tốt hơn, trong đó có bài toán quản lý tài nguyên ở quy mô lớn.

Mỗi bức ảnh, hoặc file người dùng upload vào hệ thống hiện tại đều được lưu trữ và quản lý trực tiếp trên Cloud Storage và database. ShopBase hiện tại có tới hàng tỉ files được lưu trữ trên các nền tảng đó. Tuy vậy, tính năng của các hệ thống này lại khá hạn chế. Có bên chỉ cho phép xóa các files không sử dụng đến sau một khoảng thời gian xác định, có bên lại tính chi phí call API rất cao.

Để tối ưu được chi phí, và có thể lưu trữ trên multi-cloud chỉ có một cách đó là xây dựng hệ thống để manage lượng dữ liệu đó trên nền các công cụ lưu trữ đám mây. Hệ thống này sẽ cần đủ nhanh để có thể trả lại dữ liệu cho người dùng ở latency phù hợp, cần có các cơ chế quản lý để có thể xử lý được các bài toán: thêm, sửa, xóa, ghi nhận traffic, tự động tối ưu chi phí theo các rules có sẵn, thống kê, chống ddos, hot linking… mà không ảnh hưởng đến tốc độ truy xuất.

Dưới đây là một số thách thức cần giải quyết khi xây dựng hệ thống này:

  • Tốc độ: Hệ thống cần có khả năng xử lý truy vấn dữ liệu nhanh chóng, đáp ứng được nhu cầu của người dùng.
  • Quản lý: Hệ thống cần có các cơ chế quản lý chặt chẽ để đảm bảo an toàn dữ liệu và tối ưu hóa chi phí.
  • Khả năng mở rộng: Hệ thống cần có khả năng mở rộng để đáp ứng nhu cầu tăng trưởng dữ liệu trong tương lai.

Để giải quyết những thách thức này, OCG mong muốn các bạn có hiểu biết sâu sắc về các công nghệ lưu trữ NoSQL, SQL, cũng như các kiến thức về hệ thống phân tán, big data, machine learning nhằm xây dựng được hệ thống này một cách tối ưu nhất.