Tới nội dung chính
← Tất cả bài viết
02/09/2026 · 4 phút đọc

Tách dữ liệu từ ngày đầu

Có một câu hỏi dễ bị hoãn lại khi mới xây một nền tảng: dữ liệu của từng doanh nghiệp nằm ở đâu, và ai được phép nhìn thấy nó? Hoãn câu hỏi này thường nghĩa là trả lời nó bằng một migration đau đớn sau này, khi đã có khách hàng thật dùng hệ thống thật.

Một vùng dữ liệu cho mỗi doanh nghiệp

Harnix tách dữ liệu theo tenant từ lớp lưu trữ, không phải bằng một cột tenant_id thêm vào sau và hy vọng mọi truy vấn đều nhớ lọc theo nó. Mỗi doanh nghiệp có một vùng dữ liệu riêng cho tài liệu, agent, và lịch sử hội thoại. Người dùng cuối chỉ xem được hội thoại của chính họ — không phải của người dùng khác trong cùng tổ chức, và chắc chắn không phải của tổ chức khác.

Vì sao không thể thêm sau

Cách một hệ thống lưu trữ dữ liệu định hình cách nó có thể xoá dữ liệu. Nếu tenancy là một điều kiện lọc được thêm vào từng câu query, việc đảm bảo xoá đúng — và chỉ đúng — dữ liệu của một người dùng khi họ yêu cầu trở thành một bài toán kiểm tra lại toàn bộ codebase. Nếu tenancy là một biên giới ở tầng lưu trữ, thao tác xoá là một thao tác cục bộ trong đúng vùng dữ liệu đó.

Đây không phải là chi tiết kỹ thuật thuần tuý. Nghị định 13/2023 về bảo vệ dữ liệu cá nhân đặt ra yêu cầu cụ thể về việc xoá dữ liệu theo yêu cầu. Một kiến trúc tách tenant từ đầu là điều kiện để trả lời yêu cầu đó một cách đáng tin, thay vì một lời hứa không kiểm chứng được.