Cơ sở dữ liệu giao dịch (transaction) và cơ sở dữ liệu báo cáo (reporting)
- AutoReport
- Jul 4, 2023
- 4 min read

Bài viết này giúp bạn có cái hình sâu sắc hơn về dữ liệu, đặc biệt các công ty có hạn tầng lưu trữ dữ liệu. Đối với người làm báo cáo thông qua Power Pivot / Power BI cần phân biệt rằng có hai loại cơ sở dữ liệu khác nhau, một loại phù hợp để sử dụng trong Power Pivot / Power BI và loại kia thì không (cần phải được shaping trước khi tải vào model).
𝗖𝗼̛ 𝘀𝗼̛̉ 𝗱𝘂̛̃ 𝗹𝗶𝗲̣̂𝘂 𝗴𝗶𝗮𝗼 𝗱𝗶̣𝗰𝗵 Cơ sở dữ liệu quan hệ (relations) hoặc giao dịch (transaction) được thiết kế để phục vụ mục đích là chèn dữ liệu mới, cập nhật dữ liệu hiện có hoặc xóa dữ liệu hiện có (INSERT, EDIT, DELETE). Các cơ sở dữ liệu này được biết là cấu trúc chuẩn hóa (normalization), có nghĩa là chúng có rất ít hoặc không có dữ liệu dư thừa. Điều này có nghĩa là khi có sự trùng lặp về giá trị dữ liệu, dữ liệu sẽ được chia nhỏ thành các bảng liên quan tiếp theo, đảm bảo rằng mọi bảng liên quan đều chứa thông tin duy nhất. Cấu trúc này đảm bảo khả năng cập nhật, chỉnh sửa dữ liệu trong cơ sở dữ liệu được nhanh chóng và hiệu quả. Tóm lại, Cơ sở dữ liệu giao dịch được thiết kế để nắm bắt và lưu trữ các giao dịch duy nhất một cách nhanh chóng và chính xác. Có thể hình dung rằng trong một tổ chức lớn, Cơ sở dữ liệu giao dịch có thể được sẽ nắm bắt và lưu trữ 100 giao dịch duy nhất trong vòng vài giây. Điều này có nghĩa là cơ sở dữ liệu cần một cấu trúc có khả năng hỗ trợ các tương tác với tần số CAO, độ phức tạp THẤP.
𝗖𝗼̛ 𝘀𝗼̛̉ 𝗱𝘂̛̃ 𝗹𝗶𝗲̣̂𝘂 𝗯𝗮́𝗼 𝗰𝗮́𝗼 Khi bạn import dữ liệu vào Power Pivot / Power BI hay sử dụng DirectQuery, Power Pivot / Power BI sẽ phải hoạt động với cơ sở dữ liệu báo cáo chứ không phải cơ sở dữ liệu giao dịch. Mặc dù có các thiết kế khác nhau về cấu trúc và hình dạng của cơ sở dữ liệu báo cáo, nhưng cách phổ biến nhất và dễ làm việc nhất trong Power Pivot / Power BI là mô hình Star schema. Star schema phân tách dữ liệu kinh doanh thành các sự kiện (facts) chứa dữ liệu định lượng, có thể đo lường được về doanh nghiệp và các dimesion là các thuộc tính mô tả liên quan đến dữ liệu thực tế. Lý do chính tại sao Power Pivot / Power BI được thiết kế xung quanh mô hình ngôi sao bắt nguồn từ vai trò của các mối quan hệ bảng. Trong một cơ sở dữ liệu quan hệ chuẩn hóa, các mối quan hệ giữa các bảng thực hiện một số công việc khác nhau tùy thuộc vào nhiệm vụ hiện tại. Trong Power BI, mối quan hệ giữa hai bảng tồn tại cho một mục đích duy nhất: chuyển bộ lọc từ bảng này sang bảng khác. Chính vì lý do này, thiết kế mô hình của bạn nên có cấu trúc này để đảm bảo công việc có thể được thực hiện nhanh chóng và hiệu quả, và điều này đạt được dễ dàng nhất khi chỉ có một mối quan hệ giữa dữ liệu ở bảng dimensions (mô tả) lọc đến dữ liệu bảng fact (định lượng). Tóm lại, cơ sở dữ liệu báo cáo được thiết kế để báo cáo về các giao dịch duy nhất một cách nhanh chóng và chính xác. Đối với cơ sở dữ liệu báo cáo được thiết kế có thể báo cáo về một cái nhìn sâu sắc từ đơn giản đến phức tạp qua hàng nghìn đến hàng triệu dòng giao dịch duy nhất trong vòng vài giây sau khi câu hỏi được đặt ra. Điều này có nghĩa là cơ sở dữ liệu cần một cấu trúc có khả năng hỗ trợ các tương tác tần suất THẤP, độ phức tạp CAO. Hoàn toàn ngược lại với Cơ sở dữ liệu giao dịch.
𝗧𝗼́𝗺 𝗹𝗮̣𝗶 Khi bạn đang thiết kế mô hình dữ liệu cho báo cáo Power Pivot / Power BI của mình, bạn cần hiểu rõ về hình dạng hiện tại của nguồn dữ liệu mà bạn định kết nối. Nếu nguồn dữ liệu là một cơ sở dữ liệu quan hệ, được sử dụng trong các hoạt động hàng ngày để thu thập và lưu trữ dữ liệu, thì nguồn dữ liệu đó có thể không phù hợp để sử dụng trong Power Pivot / Power BI ở trạng thái gốc. Sau đó, bạn sẽ cần xác định cách lấy dữ liệu phù hợp để sử dụng. Trong hầu hết các trường hợp, bạn phải chuyển đổi dữ liệu thô thành Star Schema khi nó được tải vào Power Pivot / Power BI. Sau đó, Power Pivot / Power BI sẽ lưu trữ dữ liệu này trong cơ sở dữ liệu VertiPaq, cho phép Power Pivot / Power BI sử dụng công cụ cơ sở dữ liệu trong bộ nhớ để phân tích dữ liệu của bạn. Việc sử dụng cơ sở dữ liệu báo cáo hay mô hình star schema sẽ giúp gia tăng hiệu quả phân tích nói chung và dễ dàng khi viết các công thức DAX phức tạp nói riêng.
Comments