Quản trị dữ liệu với hệ thống định danh

Vì sao đi học bạn cần có mã số sinh viên, đi làm cần mã nhân viên. Mỗi bảng biểu bất kỳ, dù là list các email, hay số điện thoại, những thực thể không thể giống nhau nếu không phải cùng là 1, thì người ta vẫn có một id riêng, kiểu số thứ tự. Tại sao cái gì cũng cần một id khi nói đến dữ liệu?

Một trong những vấn đề đau đầu của bất kỳ hệ thống dữ liệu nào là khả năng đồng bộ.

Bộ phận A nhận đầu vào X1, xử lý, xong cho ra X2, bộ phận B nhận X2 xử lý lại cho ra X3… Đầu vào qua một chuỗi biến đổi đầu vào –> X1 –> X2–>… –> đầu ra.

Một hôm nào đó đẹp trời, bộ phận nào đó sửa xoá bất cứ dữ liệu nào trong chuỗi trên, khiến quan hệ logic của chuỗi bị phá bỏ, đầu vào đầu ra không ăn khớp nhau và người ta không biết chỗ nào trong cái chuỗi kia bị hỏng.
Trong một vài trường hợp, đầu ra còn lưu trữ thông tin đầu vào, như mã số định danh, để xác định đầu vào và chạy lại quy trình xử lý sinh ra chuỗi X1, X2… xem từ chỗ nào dữ liệu bị sửa xoá.

Một vài trường hợp mất dấu đầu vào, đầu ra như một đứa trẻ lên hai lạc mẹ và không bao giờ người ta biết vì sao nó lạc.

Thiết kế hệ thống dữ liệu vì thế luôn phải đặt vấn đề làm sao truy ngược lại từ đầu ra trở về đầu vào dễ dàng.

Một cách đơn giản là hệ thống định danh Id.

Chẳng hạn, đầu vào X1 có Id1, khi chuyển sang X2 và đẩy sang bộ phận khác, X2 bổ sung vào Id1 của X1 với id của bộ phận xử lý đầu tiên, chẳng hạn a1, sẽ có id của X2 là (id1,a1).

Sau khi X2 được xử lý bởi bộ phận thứ 2, biến thành X3 thì X3 có định danh là (id1, a1,a2) Cuối cùng chuỗi định danh của đầu ra là (id,a1,a2…,an).

Chuỗi định danh luôn là thứ được kiểm soát chặt chẽ trong hệ thống và hầu như không được xoá sửa.

Thực thể nào không có chuỗi định danh thì coi như không tồn tại. Dữ liệu có thể mất, nhưng định danh còn thì còn tái tạo lại được.

Như ví dụ trên, mỗi đầu ra trong chuỗi hệ thống được định danh bởi các đầu vào và các bộ phận xử lý.

Từ đây, với bất cứ đầu ra nào có vấn đề, chỉ cần cho chạy lại đầu vào qua các hệ thống được lưu trong chuỗi định danh là bắt được vấn đề phát sinh ở đâu, và tìm cách giải quyết.

Vì thế, khi khảo sát hệ thống dữ liệu, nên đi vào hệ thống định danh trước.