composite

Composite (Dual) – Chế độ truy vấn dữ liệu trên Power BI

Ngày đăng: 15/11/2022

Tiếp nối chuỗi series tìm hiểu về các chế độ lưu trữ (storage mode), hôm nay chúng ta sẽ khám phá chi tiết về chế độ Composite – một kiểu kết nối dữ liệu kết hợp giữa Import và DirectQuery. Composite có thể linh hoạt chuyển đổi giữa 2 mode Import và DirectQuery trong từng trường hợp cụ thể, nên nó sẽ có những điểm tốt hơn so với việc sử dụng riêng biệt từng mode. Chúng ta cùng nhau tìm hiểu xem cách hoạt động của Composite là như thế nào nhé. 

Chế độ composite là gì? 

Chế độ lưu trữ Composite (Dual) là một tính năng trong Power BI, cho phép bạn kết hợp sử dụng cả chế độ Import và DirectQuery để lưu trữ dữ liệu trong một báo cáo. Nó giúp tối ưu hóa hiệu suất và quản lý dữ liệu trong các tình huống đòi hỏi sự linh hoạt và tài nguyên. 

Các bảng được đặt trong chế độ lưu trữ Composite có thể được chia thành hai loại: 

Bảng Import: Đây là các bảng mà dữ liệu được tải lên bộ nhớ và lưu trữ trực tiếp trong báo cáo. Dữ liệu trong bảng In-Memory được tải lên và xử lý bởi Power BI để đảm bảo truy vấn nhanh chóng. Đây thường là những bảng có kích thước nhỏ hoặc thường xuyên được truy cập (Thường là bảng Dimension). 

Bảng DirectQuery: Đây là các bảng mà dữ liệu được truy xuất trực tiếp từ nguồn dữ liệu gốc, chẳng hạn như cơ sở dữ liệu SQL Server. Dữ liệu trong bảng DirectQuery không được tải lên bộ nhớ mà được truy vấn và xử lý trực tiếp từ nguồn dữ liệu. Đây thường là những bảng có kích thước lớn (Thường là bảng Fact). 

Cách lựa chọn chế độ Composite 

Bạn có thể chọn chế độ composite tại tab Model. Trong tab Model, chúng ta chọn vào bảng cần config, ở bên phần “Properties”, kéo xuống dưới và mở tab “Advanced”, các bạn chọn sang chế độ “Dual”.

Lưu ý là chúng ta chỉ có thể chuyển từ chế độ DirectQuery sang Dual chứ không thể chuyển được từ Import sang Dual. Ngoài ra, từ chế độ DirectQuery và Dual đều có thể chuyển về Import. Tuy nhiên, một khi chuyển sang Import thì ta sẽ không chọn được các chế độ khác nữa. 

Chế độ Composite hoạt động như thế nào?

Đối với chế độ Composite, Power BI sẽ dựa vào từng bối cảnh query mà quyết định xem Import hay DirectQuery sẽ là query hiệu quả nhất. Ví dụ chúng ta có 4 table sau với 3 kiểu storage mode khác nhau: 

  • FactInternetSales: Import
  • FactResellerSales: DirectQuery 
  • DimDate: Dual  
  • DimProduct: Dual 

Power BI sẽ cố gắng thực hiện các câu query join table bên dưới một cách hiệu quả nhất. Nếu query liên quan đến FactInternetSales (Import) và một hoặc nhiều bảng Dimension sử dụng chế độ Dual (Ví dụ như DimDate), câu query sẽ sử dụng data In-memory của bảng DimDate. 

Ngược lại, nếu câu query liên quan đến FactResellerSales (DirectQuery), Power BI sẽ thực hiện query join table thông qua chế độ DirectQuery. Nguyên nhân là bởi việc join và tính toán ngay tại nguồn datasource thông qua chế độ DirectQuery sẽ tối ưu hiệu năng hơn nhiều so với việc Power BI phải lấy dữ liệu chi tiết của bảng FactResellerSales về rồi mới thực hiện join với data In-Memory của bảng DimDate. 

Trên thực tế, đối với các bảng Dimensions, nếu bạn muốn đổi storage mode từ DirectQuery sang Import thì Power BI sẽ đưa một cảnh báo như sau: 

Cảnh báo này có ý nghĩa rằng, Power BI đã phát hiện ra các liên kết giữa các bảng (Cụ thể là bảng Dim với một bảng khác) trong cùng một datasource, nên nó đang đưa ra gợi ý cho chúng ta nên sử dụng chế độ Dual cho bảng này, như vậy sẽ là phương án tốt nhất. 

Đối với 2 bảng trong cùng một datasource có cardinality là 1-n hay n-1, thì các config về storage mode dưới đây sẽ là tối ưu nhất: 

Bảng bên phía Many Bảng bên phía One 
Dual Dual 
Import Import or Dual 
DirectQuery DirectQuery or Dual 

Ưu điểm của chế độ Composite

  • Tối ưu hóa hiệu suất: Composite storage mode cho phép bạn tận dụng lợi thế của cả Import và DirectQuery. Bằng cách lưu trữ các bảng Dim với chế độ Import và các bảng Fact với chế độ DirectQuery, bạn có thể cải thiện hiệu suất truy vấn và xử lý dữ liệu. Điều này đặc biệt hữu ích cho các mô hình dữ liệu lớn và phức tạp. 
  • Giảm tải cho nguồn dữ liệu: Composite storage mode giúp giảm tải cho nguồn dữ liệu gốc. Với DirectQuery, dữ liệu chỉ được truy vấn khi cần thiết, giúp giảm sự lưu trữ dữ liệu lặp lại và tối ưu hóa tài nguyên hệ thống. Điều này đặc biệt hữu ích khi làm việc với các nguồn dữ liệu lớn hoặc không thể lưu trữ toàn bộ dữ liệu trong Power BI. 

Các lưu ý khi sử dụng Composite

  • Thiết kế data model phù hợp: Chế độ lưu trữ Composite yêu cầu một data model có cấu trúc tốt. Hãy đảm bảo rằng bạn đã thiết kế các bảng và mối quan hệ giữa chúng một cách chính xác để tận dụng được lợi thế của chế độ Composite. 
  • Cân nhắc về kích thước dữ liệu: Composite storage mode phù hợp với các mô hình dữ liệu có kích thước trung bình đến lớn. Hãy xem xét khối lượng dữ liệu của bạn và đảm bảo rằng hệ thống có đủ tài nguyên để xử lý và refresh data một cách hiệu quả. 
  • Kiểm tra và đánh giá performance: Trước khi triển khai chế độ Composite vào thực tế, hãy thực hiện các kiểm tra và đánh giá chi tiết về hiệu suất. Điều này giúp bạn xác định và giải quyết các vấn đề hiệu suất trước khi nó ảnh hưởng đến người dùng cuối. 
  • Lưu ý về vấn đề bảo mật data từ các nguồn datasource khác nhau. Do khi sử dụng Composite, Power BI có thể gửi request query đến các nguồn Datasource mà trong đó có thể chứa các thông tin đến từ nguồn data bạn Import vào. 

Kết luận

Chế độ lưu trữ Composite trong Power BI cung cấp sự linh hoạt và tối ưu hóa hiệu suất cho data model. Bằng cách kết hợp Import và DirectQuery, chế độ này cho phép bạn tận dụng lợi thế của cả hai chế độ lưu trữ, cải thiện hiệu suất truy vấn và quản lý dữ liệu hiệu quả. Tuy nhiên, cần cân nhắc các lưu ý về thiết kế, kích thước dữ liệu và quản lý mối quan hệ để đảm bảo thành công trong việc sử dụng chế độ Composite. 

Các bạn có thể xem thêm nội dung các bài viết liên quan dưới đây:  

Chia sẻ bài viết này

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *