Data Model

Định nghĩa

Data Model là tập abstraction dùng để biểu diễn dữ liệu, quan hệ và các thao tác có thể thực hiện trên dữ liệu.

Cách hiểu bằng lời của tôi

Data model là ngôn ngữ ta dùng để nhìn bài toán. Nó không trung lập: một model làm một số relationship và query trở nên trực tiếp, nhưng khiến loại khác cần join, duplication, traversal hoặc application logic phức tạp.

Chuỗi abstraction

Business objects
-> document/table/graph
-> bytes trong storage hoặc network
-> physical representation

Mỗi lớp che chi tiết của lớp thấp hơn. Nhờ đó người ở mỗi tầng có thể làm việc mà không cần hiểu toàn bộ stack.

Tiêu chí lựa chọn

  • Cardinality: one-to-many hay many-to-many?
  • Locality: dữ liệu nào thường được đọc cùng nhau?
  • Query shape: lookup, join, aggregate hay traversal?
  • Evolvability: quan hệ có dày hơn theo thời gian không?
  • Constraint: schema và invariant được enforce ở đâu?

Liên kết