Đây là phần tiếp theo về quản lý Storage mode (chế độ lưu trữ) trong Power BI Desktop, hãy xem lại phần đầu tiên ngay dưới đây để biết cách sử dụng tính năng này. Trong phần này, chúng ta tiếp tục tìm hiểu những mục còn lại như Dual, ví dụ về cách dùng Storage mode, Data view…
Tham khảo: Quản lý chế độ lưu trữ trong Power BI Desktop (Phần 1)
1. Truyền cài đặt Dual
Xem xét mô hình đơn giản dưới đây, tất cả các bảng từ một nguồn hỗ trợ Import và DirectQuery.
Giả sử tất cả các bảng trong mô hình này ban đầu được đặt thành DirectQuery. Nếu sau đó bạn thay đổi Storage mode của bảng SurveyResponse thành Import, cửa sổ cảnh báo sẽ hiển thị:
Bạn có thể đặt các bảng dimension (Customer, Geography và Date) thành Dual để giảm số lượng các mối quan hệ hạn chế trong dataset và cải thiện hiệu suất. Các mối quan hệ bị giới hạn thường tham gia vào ít nhất một bảng DirectQuery nơi logic nối (join) không thể được đẩy đến hệ thống nguồn. Bởi vì, các bảng Dual có thể hoạt động như bảng DirectQuery hoặc Import nên tránh được trường hợp này.
Logic lan truyền được thiết kế để giúp các mô hình chứa nhiều bảng. Giả sử bạn có một mô hình với 50 bảng và chỉ một số bảng giao dịch nhất định cần được lưu vào bộ nhớ đệm. Logic trong Power BI Desktop tính toán bộ bảng dimension tối thiểu phải được đặt thành Dual, nên bạn không cần thực hiện thao tác này.
Logic lan truyền chỉ đi qua một phía của các mối quan hệ one-to-many.
2. Ví dụ về việc sử dụng Storage mode
Tiếp tục với ví dụ từ phần trước và hình dung việc áp dụng các cài đặt thuộc tính storage mode (chế độ lưu trữ) dưới đây:
Cài đặt các thuộc tính chế độ lưu trữ dẫn đến các hành vi sau, giả sử bảng Sales có khối lượng dữ liệu đáng kể:
- Power BI Desktop lưu các bảng dimension Date, Customer, và Geography. Vì thế, thời gian tải của các báo cáo ban đầu rất nhanh khi chúng truy xuất các giá trị của slicer để hiển thị.
- Power BI Desktop không lưu bảng Sales vào bộ nhớ cache. Bằng cách không lưu vào bộ nhớ đệm bảng này, Power BI Desktop cung cấp các kết quả sau:
- Số lần làm mới dữ liệu được cải thiện, bộ nhớ sử dụng được giảm.
- Các truy vấn report mà dựa trên bảng Sales chạy trong chế độ DirectQuery. Những truy vấn này có thể lâu hơn nhưng gần với thời gian thực bởi vì không có độ trễ bộ nhớ đệm được giới thiệu.
- Các truy vấn report dựa trên bảng SurveyResponsse được trả lại từ trong bộ nhớ cache do đó nó khá nhanh.
3. Các truy vấn chậm hoặc bỏ sót bộ nhớ
Nếu bạn kết nối SQL Profiler với cổng chuẩn đoán cho Power BI Desktop, bạn có thể xem truy vấn nào chạm hoặc bỏ sót bộ nhớ đệm trong bộ nhớ bằng cách thực hiện theo dõi dựa trên các sự kiện sau:
- Queries Events\Query Begin
- Query Processing\Vertipaq SE Query Begin
- Query Processing\DirectQuery Begin
Đối với mỗi sự kiện Query Begin, kiểm tra các sự kiện khác cùng ActivityID. Ví dụ, nếu không có một sự kiện DirectQuery Begin nhưng có một sự kiện Vertipaq SE Query Begin, truy vấn được trả lời từ bộ nhớ đệm.
Các truy vấn tham chiếu đến các bảng Dual trả về dữ liệu từ bộ nhớ đệm, nếu có thể, nếu không, chúng hoàn nguyên về DirectQuery.
Tiếp tục các ví dụ trước, truy vấn dưới đây chỉ tham chiếu đến một cột từ bảng Date trong chế độ Dual. Vì thế, truy vấn nên chạm đến bộ nhớ đệm:
Truy vấn dưới đây tham chiếu đến một cột trong bảng Sales mà trong chế độ DirectQuery. Vì thế, nó không nên chạm đến bộ nhớ đệm.:
Truy vấn dưới đây kết hợp 2 cột, nó không chạm đến bộ nhớ đệm. Ban đầu, bạn có thể mong nó truy xuất các giá trị CalendarYear từ bộ nhớ đệm và các giá trị SalesAmount từ nguồn, sau đó kết hợp các kết quả. Nhưng cách tiếp cận này kém hiệu quả hơn so với với việc gửi hoạt động SUM/GROUP BY tới hệ thống nguồn. Nếu thao tác được đẩy xuống nguồn, số hàng được trả về có thể ít hơn nhiều:
Lưu ý: Hành vi này khác với mối quan hệ many-to-many trong Power BI Desktop khi các bảng được lưu trong bộ nhớ đệm và không được lưu trong bộ nhớ đệm được kết hợp.
4. Bộ nhớ đệm phải được đồng bộ hóa
Các truy vấn hiển thị trong phần trước cho thấy các bảng Dual đôi khi chạm đến bộ nhớ đệm, đôi khi không. Kết quả là nếu bộ nhớ hết hạn, các giá trị khác nhau có thể được trả về. Việc thực thi truy vấn sẽ không che giấu được các vấn đề dữ liệu. Ví dụ, lọc kết quả DirectQuery để khớp với các giá trị được lưu trong bộ nhớ. Bạn có trách nhiệm biết các luồng dữ liệu của mình và thiết kế phù hợp. Có các kỹ thuật được thiết lập để xử lý các trường hợp như vậy tại nguồn, nếu cần thiết.
Chế độ lưu trữ Dual là một sự tối ưu hiệu suất. Nó chỉ nên được dùng theo những cách không ảnh hưởng đến khả năng đáp ứng các yêu cầu kinh doanh.
Tham khảo: Áp dụng mối quan hệ many-many trong Power BI Desktop
5. Data view
Nếu có ít nhất một bảng trong dataset được đặt chế độ lưu trữ thành Import hoặc Dual thì tab Data view có thể hiển thị.
Khi bạn chọn các bảng Dual và Import trong view Data, chúng hiển thị các dữ liệu được lưu. Các bảng DirectQuery không hiển thị dữ liệu và một tin nhắn được hiển thị cho biết bảng DirectQuery không thể được hiển thị.
6. Giới hạn và cân nhắc
Có một vài hạn chế với việc phát hành chế độ lưu trữ này và mối tương quan của nó với các composite models.
Khi bạn kết nối với các nguồn đa chiều này bằng cách dùng DirectQuery, bạn không thể kết nối với một nguồn DirectQuery khác hoặc kết hợp nó với dữ liệu đã nhập.
Các hạn chế hiện có của DirectQuery vẫn áp dụng khi bạn dùng composite models. Nhiều hạn chế hiện có trên mỗi bảng, tùy thuộc vào chế độ lưu trữ của bảng. Ví dụ, một calculated column trên một bảng được nhúng (import) có thể tham chiếu đến các bảng khác. Tuy nhiên, một calculated column trên một bảng DirectQuery vẫn chỉ có thể tham chiếu đến các cột trên cùng bảng.
Các giới hạn khác áp dụng cho toàn bộ mô hình nếu bất kì bảng nào trong mô hình là DirectQuery. Ví dụ, các tính năng QuickInsight và Q&A không khả dụng trên một mô hình nếu bất kì bảng nào trong đó có chế độ lưu trữ DirectQuery.
Đến đây chúng ta đã hoàn tất chủ đề quản lý storage mode trong Power BI Desktop. Hy vọng rằng qua bài viết này bạn đã biết được cách sử dụng storage mode và các vấn đề liên quan. Đừng quên theo dõi các nội dung mới nhất sẽ được cập nhật tại website bacs.vn và tham gia khóa học Power BI tại BAC để được trang bị những kiến thức nền tảng về phân tích và trực quan dữ liệu.
Nguồn tham khảo:
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
Các bài viết liên quan Power BI:
- Power BI cơ bản cho người mới bắt đầu
- Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
- Kết hợp dữ liệu trong Power BI Desktop
- Hướng dẫn kết nối dữ liệu trong Power BI Desktop
- Hướng dẫn tải & cài đặt Power BI trên máy tính
- Khóa học Phân tích và trực quan hóa dữ liệu với Power BI
- Power BI là gì?
Các bài viết liên quan:
- TABLEAU – Giải pháp BUSINESS INTELLIGENCE (BI) – click vào đây
- Hướng dẫn cài đặt và Sử dụng TABLEAU – click vào đây
- Tính năng mới trên tableau – verion 2019.1 – click vào đây
BAC – Biên soạn và tổng hợp nội dung