Database Schema là gì

Trước tiên mình xin viết lại định nghĩa của Database Schema sau đó chúng ta sẽ cùng mổ xẻ nó:

Database Schema là một cấu trúc “sườn” đại diện cho một “cách nhìn” dữ liệu của người truy xuất. Schema quyết định data được tổ chức như thế nào và mối quan hệ giữa chúng. Schema cũng định ra các giới hạn của dữ liệu

Sưu tầm và dịch

Physical schema

Schema thực ra là định nghĩa rất rộng, thường thì đối với người làm công việc liên quan đến offline database họ có thể hiểu schema còn dính tới cả physical schema (schema về mặt vật lí). Tức là nó được phân chia về mặt vật lí .Ví dụ bạn có 2 ổ cứng gắn vào cùng 1 con pc thì 2 ổ cứng này không có tương tác vật lí với nhau -> 2 schemas vật lí

Database Schema là gì
Dù được lưu ở đâu thì logical schema cũng chứa các columns như trên

Tuy nhiên đó là khi bạn nhìn thấy được ở mặt “physical” , vậy nếu dữ liệu nằm trong đám mây, được phân chia trong các cluster (nhiều máy lưu cùng 1 file và chọn máy nhanh nhất trả về). Lúc này physical schema không còn là cách hình dung dữ liệu tốt nhất nữa -> Logical schema (schema trên logic).

Logical schema

Logical schema tức là, bạn không quan tâm rằng dữ liệu đó được lưu vật lý ở đâu, mà chỉ quan tâm đến cấu trúc của nó. Ví dụ bản dữ liệu có các cột : amount | userid | transactionid -> Dù dữ liệu lưu ở đâu thì bạn vẫn biết được rằng nó chứa các thông tin về giá tiền, người dùng, và mã số giao dịch/

Ok vậy giờ là đến phần ứng dụng mình xin phân chia các “tầng” như sau để các bạn có thể tiết kiệm thời gian:

Tầng 1: Data Analyst, Junior Data Scientist, người làm việc với data nhưng không thay đổi data nhiều

Các bạn chỉ cần dừng lại ở mức hiểu nếu 1 cơ sở dữ liệu đã có schema, và schema đó là tên của các columns (cột giá bán hàng cột người dùng v..v..). Thì bạn đã đủ kiến thức để làm hầu hết công việc.

Nếu bạn cần dữ liệu và bạn dev trông công ty nói db này là no-sql không có schema thì bạn có thể nhờ phòng ban phụ trách define lại schema và tạo 1 DB có schema để tiếp tục làm việc

Tầng 2: Data Engineer, DS, DBA,….

Hiểu rõ và tách biệt 2 khái niệm để tránh nhầm lẫn

Kết

Xu hướng dịch chuyển lên cloud với các dịch vụ của AWS, S3,… làm cho việc hiểu khái niệm trừu tượng về schema rất quan trọng. Bài toán nên sử dụng hệ thống schema hay schema-less là điều luôn làm đau đầu các startup (deploy nhanh, analysze chậm hay ngược lại). Hiểu rõ khái niệm này giúp bạn có thể giúp doanh nghiệp định hướng được phải lựa chọn hệ thống nào để tối ưu lợi nhuận

Leave a Comment

Scroll to Top