PlanetScale vừa công bố Neki, phiên bản Postgres có khả năng chia nhỏ (sharding) dữ liệu ra nhiều máy chủ, hiện đã mở bản xem trước cho người dùng. Đây là bước đi tiếp theo sau khi công ty ra mắt PlanetScale Postgres cách đây một năm rưỡi, khi hàng nghìn khách hàng bắt đầu chạm ngưỡng giới hạn của một máy chủ đơn lẻ.

Vấn đề của những cơ sở dữ liệu tăng trưởng nhanh

Bất kỳ ứng dụng nào phát triển đủ lớn, từ mạng xã hội đến sàn thương mại điện tử, đều sẽ gặp tình trạng bảng dữ liệu quá to khiến việc sao lưu mất hàng giờ, số lượng kết nối bị giới hạn, và mỗi lần thay đổi cấu trúc dữ liệu đều cần cửa sổ bảo trì. Nâng cấp lên máy chủ mạnh hơn chỉ trì hoãn vấn đề chứ không giải quyết tận gốc.

Neki hoạt động thế nào

Ứng dụng kết nối tới Neki qua giao thức Postgres tiêu chuẩn, nên các driver và ORM hiện có vẫn chạy bình thường mà không cần viết lại code. Mỗi shard là một cụm Postgres thật, gồm một primary và ít nhất hai bản sao (replica) trải trên ba khu vực khả dụng, không dùng công cụ lưu trữ giả lập nên các extension và tính năng SQL vẫn hoạt động y hệt Postgres gốc. Người dùng tự chọn shard key và có thể mở rộng dần, không bắt buộc phân mảnh ngay từ ngày đầu.

Cách tiếp cận này khác biệt so với giải pháp phân mảnh ở tầng ứng dụng và các cơ sở dữ liệu phân tán tương thích Postgres khác, vốn thường phải đánh đổi bằng cách giấu shard key hoặc bỏ bớt tính năng. Với các startup đang phát triển nhanh, đây là lựa chọn giúp mở rộng hạ tầng mà không phải viết lại toàn bộ ứng dụng, một bước tiến đáng chú ý trong lĩnh vực công nghệ cơ sở dữ liệu.