Tới nội dung chính
Tất cả bài viết

Kiến trúc hệ thống

Những quyết định về cơ sở dữ liệu sẽ rất đắt về sau

Mã nguồn dễ thay đổi. Dữ liệu đã tồn tại thì không.

2 phút đọc

Phần lớn các cuộc migration đau đớn đều bắt nguồn từ vài lựa chọn ban đầu về định danh, quan hệ, thời gian và xoá dữ liệu.

Cơ sở dữ liệu sống lâu hơn mã nguồn quanh nó. Mỗi quyết định về cách lưu trữ thông tin càng khó đảo ngược khi số bản ghi tăng lên.

Những lựa chọn rất tốn kém khi đảo ngược

  • Định danh: dùng giá trị có thể thay đổi như email làm khoá chính.
  • Mô hình quan hệ bằng mảng hoặc JSON thay vì tham chiếu thật.
  • Lưu thời gian không kèm múi giờ hoặc chỉ dưới dạng chuỗi hiển thị.
  • Lưu tiền tệ bằng số thực thay vì số nguyên hoặc decimal.
  • Xoá cứng không có dấu vết, trong khi nghiệp vụ sau này cần lịch sử.
  • Dữ liệu nhiều khách hàng mà không có cột phân tách ngay từ đầu.

Những thói quen rẻ giúp tránh migration đắt

  1. 1Dùng khoá thay thế và xem định danh nghiệp vụ là thuộc tính.
  2. 2Thêm khoá ngoại, ràng buộc duy nhất và not-null sớm.
  3. 3Đánh phiên bản mọi thay đổi schema và giữ migration có thể quay lui.
  4. 4Lưu thời gian theo UTC và định dạng ở lớp hiển thị.
  5. 5Quyết định chính sách xoá trước khi thao tác xoá đầu tiên lên production.

Bạn đang xây dựng điều tương tự? Trao đổi với VNEXUS.

Hãy chia sẻ bạn đang xây dựng gì và đang vướng ở đâu. Một kỹ sư cấp cao sẽ đọc và phản hồi bằng góc nhìn kỹ thuật ban đầu.

Bài viết liên quan