DAT — Data Architecture —
|
|
| Version |
1.0 |
| Date |
YYYY-MM-DD |
| Author |
(skill sa-2-architecture) |
| Status |
🟡 Draft |
| Approved by |
Tech Lead: — · DBA: — · DPO/Legal: — |
| Source |
SAD_… v1.0 · BR_… của BA · schema hiện tại |
| Scope |
|
| Confidence |
🟡 |
Change Log
| Version |
Date |
Người sửa |
Thay đổi |
ADR |
| 1.0 |
|
|
Bản đầu |
— |
1. Nguyên tắc: mỗi thực thể có đúng một chủ
Quy tắc D7. Đồng bộ hai chiều không có chủ là cách sinh ra dữ liệu mâu thuẫn không ai gỡ được.
| Thực thể |
Hệ thống chủ (SoT) |
Bản sao ở đâu |
Cập nhật bằng cơ chế gì |
Trễ tối đa cho phép |
Lệch quá thì sao |
|
|
|
event / CDC / job / gọi trực tiếp |
|
cảnh báo QAS-nnn |
🔴 Thực thể có hai chủ ⇒ chưa quyết xong, không được qua AG2. Chọn một bên; bên kia thành
read model.
2. Mô hình dữ liệu mức khái niệm
Thực thể và quan hệ, chưa phải schema. Schema vật lý đủ cột, index, DDL và migration nằm ở
PDM (--focus pdm), sinh sau tài liệu này — mỗi thực thể ở đây phải có ≥ 1 bảng trong PDM §2.
| Thực thể |
Ý nghĩa nghiệp vụ |
Khoá tự nhiên |
Ước lượng số bản ghi (năm 1 / năm 3) |
Tăng trưởng |
3. Chọn công nghệ lưu trữ
| Kho |
Loại |
Chứa gì |
Vì sao loại này |
ADR |
|
quan hệ / tài liệu / khoá-giá trị / cột / tìm kiếm |
|
gắn với QAS-nnn |
|
Phương án bị loại: (quy tắc D3)
4. Consistency
| Nhánh dữ liệu |
Mức nhất quán |
Trễ tối đa |
Vì sao chấp nhận được |
Ai chấp nhận |
ADR |
| Số dư ví |
Mạnh |
0 |
BR-0nn không cho phép sai |
PO |
|
| Báo cáo tổng hợp |
Eventual |
≤ 5 phút |
Người dùng chấp nhận theo QAS-nnn |
PO |
|
🔴 "Eventual consistency" không có con số trễ là câu nói suông. Người dùng và QA cần biết
lệch bao lâu là bình thường, bao lâu là sự cố.
4.1 Giao dịch xuyên service
| Luồng nghiệp vụ |
Cơ chế |
Bù trừ khi lỗi giữa chừng |
Ai phát hiện lệch |
ADR |
|
saga / outbox / 2PC / không có |
|
job đối soát chạy … |
|
Nếu chọn "không có" — ghi rõ hệ quả: luồng nào có thể để lại trạng thái nửa vời, ai dọn,
sau bao lâu.
5. Phân loại dữ liệu & tuân thủ
| Nhóm dữ liệu |
Mức nhạy cảm |
Ví dụ trường |
Lưu ở đâu |
Mã hoá at-rest |
Che khi hiển thị |
Retention |
Cách xoá theo yêu cầu |
|
công khai / nội bộ / PII / nhạy cảm |
|
|
|
|
|
|
| Ràng buộc pháp lý |
Nguồn |
Hệ quả kiến trúc |
| Dữ liệu phải nằm trong lãnh thổ … |
CON-05 |
Ràng buộc vùng cho mọi dịch vụ lưu trữ, kể cả backup và log |
| Quyền được xoá |
|
Xoá thật hay ẩn danh hoá? Ảnh hưởng tới báo cáo lịch sử? |
🔴 Backup và log cũng chứa PII. Ràng buộc lãnh thổ và retention áp dụng cho cả hai — đây là
chỗ bị bỏ sót nhiều nhất khi kiểm toán.
6. Vòng đời & lưu trữ dài hạn
| Thực thể |
Dữ liệu nóng |
Chuyển sang lạnh sau |
Xoá sau |
Ai duyệt |
7. Hiệu năng dữ liệu
| Truy vấn quan trọng |
Tần suất |
Khối lượng quét |
Chỉ mục cần |
QAS |
| Vấn đề |
Quyết định |
ADR |
| Phân mảnh (sharding/partitioning) |
có/không · khoá: … |
|
| Đọc/ghi tách nhau |
|
|
| Cache: cái gì, invalidate thế nào |
|
|
🔴 Cache invalidation phải thiết kế cùng lúc với cache. Cache không có chiến lược làm mới
là nguồn dữ liệu sai mà không ai nghi ngờ.
8. Migration dữ liệu legacy
Bỏ mục này nếu hệ thống hoàn toàn mới — ghi rõ "không áp dụng", đừng để trống.
|
|
| Nguồn |
hệ thống · số bản ghi · chất lượng |
| Cách chuyển |
một lần (big bang) / song song hai hệ thống / cuốn chiếu theo nhóm |
| Ánh xạ trường |
(bảng riêng bên dưới) |
| Cách đối chiếu sau khi chuyển |
(truy vấn nào, ngưỡng chênh lệch chấp nhận được là bao nhiêu) |
| 🔴 Cách rollback |
(bắt buộc) |
| Dữ liệu phát sinh trong lúc chuyển |
(xử lý thế nào) |
| Thời lượng cửa sổ cắt chuyển |
|
Ánh xạ trường
| Trường nguồn |
Trường đích |
Chuyển đổi |
Xử lý giá trị thiếu/sai |
🔴 Migration không có rollback là migration một chiều. Phải trả lời được: sau 2 giờ phát
hiện sai thì quay lại thế nào, dữ liệu phát sinh trong 2 giờ đó xử lý ra sao. Chưa trả lời
được ⇒ chặn AG2.
9. Sao lưu & khôi phục
|
|
| Tần suất backup |
|
| Giữ bao lâu |
|
| Lần khôi phục thử gần nhất |
(chưa từng thử ⇒ Confidence 🔴 + ARISK) |
| Thời gian khôi phục đo được |
… (khớp với RTO ở INF) |
10. Giả định & Ngoài phạm vi
Giả định:
| ID |
Giả định |
Cách xác minh |
Nếu sai |
Ngoài phạm vi:
11. Open Questions
| ID |
Câu hỏi |
Hỏi ai |
Từ ngày |
Chặn gì |
Hệ quả nếu trả lời ngược |