Một định dạng trao đổi dữ liệu mới có tên 6NF đã xuất hiện, được thiết kế đặc biệt cho các kho dữ liệu và hệ thống báo cáo. Định dạng này nhằm thay thế các định dạng phân cấp phức tạp như XBRL , XML , JSON và YAML bằng cấu trúc phẳng hơn, thân thiện với cơ sở dữ liệu. Tuy nhiên, định dạng này đã gây ra cuộc thảo luận sôi nổi trong cộng đồng kỹ thuật về các lựa chọn thiết kế và ứng dụng thực tế của nó.
Các tính năng chính của định dạng 6NF:
- Cấu trúc phẳng thân thiện với cơ sở dữ liệu (không có đối tượng/mảng lồng nhau)
- Tương thích bitemporal với các dấu thời gian valid_from và recorded_at
- Tiêu chuẩn thời gian UTC với hậu tố 'Z' (ví dụ: 2023-01-01T12:00:00Z)
- UUIDv7 được mã hóa Base32 của Crockford cho các định danh
- Ký hiệu Snake_case cho các định danh
- Từ khóa phân biệt chữ hoa chữ thường (CHỮ HOA) và định danh (chữ thường)
- Mã hóa UTF-8
Mối quan ngại về độ chính xác Timestamp chia rẽ ý kiến
Định dạng 6NF yêu cầu tất cả dữ liệu phải bao gồm cả timestamp valid_from và recorded_at theo định dạng UTC . Cách tiếp cận bitemporal này đã tạo ra cuộc tranh luận giữa các nhà phát triển về việc liệu độ chính xác như vậy có luôn cần thiết hay không. Một số người cho rằng nhiều tình huống kinh doanh chỉ cần độ chính xác ở mức ngày thay vì timestamp chính xác.
Theo kinh nghiệm của tôi, valid_from luôn là một ngày (không có thời gian, không có múi giờ). Đó là cách nó được báo cáo trong các tài liệu (ví dụ: thời hạn hiệu lực hợp đồng).
Cuộc thảo luận cho thấy sự chia rẽ giữa những người coi độ chính xác timestamp là thiết yếu để nắm bắt tất cả các tình huống dữ liệu có thể có, và những người tin rằng nó tạo thêm độ phức tạp không cần thiết cho nhiều trường hợp sử dụng phổ biến. Những người chỉ trích chỉ ra rằng ngày bắt đầu làm việc, thời hạn hiệu lực hợp đồng và các sự kiện kinh doanh tương tự thường hoạt động với độ chính xác hàng ngày thay vì hàng giờ.
Thiếu ngày kết thúc tạo ra câu hỏi về triển khai
Một mối quan ngại kỹ thuật đáng kể đã nổi lên xung quanh việc định dạng 6NF xử lý tính hợp lệ theo thời gian. Định dạng 6NF bao gồm timestamp valid_from nhưng thiếu các trường valid_to tương ứng. Lựa chọn thiết kế này đã đặt ra câu hỏi về cách hệ thống xử lý việc cập nhật, xóa dữ liệu và các khoảng thời gian hợp lệ.
Các thành viên cộng đồng lưu ý rằng các cơ sở dữ liệu bitemporal thường sử dụng khoảng nửa mở cho cả thời gian hệ thống và thời gian hợp lệ. Việc thiếu timestamp kết thúc có nghĩa là trong khi các bản ghi có thể được cập nhật, chúng không thể dễ dàng bị xóa hoặc đánh dấu là không còn hợp lệ sau khi chúng tồn tại. Hạn chế này có thể gây ra vấn đề cho các ứng dụng thực tế nơi dữ liệu cần được loại bỏ hoặc đánh dấu là không còn hợp lệ.
Các Thành Phần Cú Pháp Định Dạng:
ENTITY
- Định nghĩa các thực thể dữ liệu chính với UUIDREFERENCE
- Tạo dữ liệu tham chiếu với các định danhATTRIBUTE_OF
- Liên kết các thuộc tính với thực thể kèm theo dấu thời gianATTRIBUTE_REF_OF
- Tham chiếu các thuộc tính giữa các thực thểSTRUCT_OF
- Nhóm nhiều thuộc tính với ngữ cảnh thời gian chungRELATIONSHIP
- Định nghĩa các kết nối giữa các thực thể
Triết lý chuẩn hóa gặp xu hướng dữ liệu hiện đại
Sự nhấn mạnh của định dạng vào việc chuẩn hóa dạng chuẩn thứ sáu đi ngược lại xu hướng ngành hiện tại hướng tới các cấu trúc dữ liệu không chuẩn hóa, lồng nhau. Các sản phẩm kho dữ liệu hiện đại ngày càng bổ sung hỗ trợ xử lý dữ liệu JSON lồng nhau trực tiếp, thay vì làm phẳng chúng thành các bảng chuẩn hóa.
Người tạo ra định dạng thừa nhận sự căng thẳng này, giải thích rằng định dạng giải quyết các chu kỳ tốn kém của việc chuẩn hóa và không chuẩn hóa xảy ra khi dữ liệu di chuyển giữa các hệ thống. Mục tiêu là chuyển dữ liệu ở dạng đã được chuẩn hóa để loại bỏ các bước chuyển đổi tốn kém này. Tuy nhiên, một số người đặt câu hỏi liệu cách tiếp cận này có phù hợp với cách các tổ chức thực sự xử lý các tập dữ liệu bán cấu trúc ngày càng phức tạp của họ hay không.
Định dạng 6NF đại diện cho một nỗ lực thú vị nhằm kết nối các nguyên tắc thiết kế cơ sở dữ liệu truyền thống với nhu cầu trao đổi dữ liệu hiện đại. Trong khi nó mang lại lợi ích tiềm năng cho các trường hợp sử dụng cụ thể, cuộc thảo luận của cộng đồng làm nổi bật những câu hỏi quan trọng về độ chính xác timestamp, xử lý dữ liệu theo thời gian và liệu các định dạng chuẩn hóa có thể cạnh tranh hiệu quả với tính linh hoạt của các cách tiếp cận bán cấu trúc hiện đại hay không.
Tham khảo: 6NF File Format