https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/create-rules?tabs=new
https://learn.microsoft.com/en-us/training/modules/design-power-bi-application-lifecycle-management-strategy/4-design-deployment-strategy
Giả sử bạn có Azure SQL Database chứa bảng SalesData
với 1 triệu bản ghi. Nếu bạn refresh semantic model trong Development/Test với
toàn bộ bảng SalesData, thì truy vấn SQL sẽ lấy đủ 1 triệu bản ghi, gây lãng
phí.
Thay vào đó:
- Tạo
cơ sở dữ liệu mẫu:
- Tạo
một phiên bản khác của SalesData, ví dụ: SalesData_Sample, chỉ chứa 10.000
bản ghi (1% dữ liệu).
- Cơ sở
dữ liệu này được dùng cho môi trường Development/Test.
- Sử
dụng subset của dữ liệu:
- Nếu
bạn không muốn tạo cơ sở dữ liệu riêng, bạn có thể tạo view trong
cùng Azure SQL Database để chỉ trả về một phần dữ liệu:
CREATE VIEW SalesData_Sample AS
SELECT TOP 10000 * FROM SalesData;
- Kết
nối semantic model đến view này thay vì toàn bộ bảng.
Áp dụng vào Deployment Pipeline
- Parameterize
Connection String:
- Trong
semantic model, bạn định nghĩa một tham số (parameter) cho connection
string, chẳng hạn:
- ProdConnectionString:
Kết nối đến database đầy đủ.
- DevTestConnectionString:
Kết nối đến cơ sở dữ liệu mẫu hoặc view.
- Cấu
hình Rules trong Deployment Pipeline:
- Khi
triển khai model qua các môi trường:
- Development/Test:
Đặt tham số DevTestConnectionString để chỉ kết nối đến SalesData_Sample.
- Production:
Giữ nguyên tham số ProdConnectionString để kết nối đến SalesData.
Kết quả đạt được
- Development/Test:
Khi refresh model, chỉ cần nạp một phần dữ liệu (nhanh hơn, tiết kiệm
hơn).
- Production:
Nạp toàn bộ dữ liệu như bình thường, đảm bảo tính chính xác cho người dùng
cuối.
Nhận xét
Đăng nhận xét