用 Power BI 分析 Azure Databricks 里的数据,存储模式到底怎么选?Import、DirectQuery、Direct Lake、混合模式……每种都有适用场景,选错了性能可能差好几倍。
最近,微软发布了一份新白皮书,专门帮你做这个决策。虽然由微软委托,但撰写者是独立专家 Liping Huang——她曾在微软和 Databricks 都工作过,对两边都了如指掌。这份白皮书非常中立、务实,不吹不黑,值得一看。
核心结论:没有“最好”,只有“最适合”
白皮书测试了多种存储模式在不同数据量下的性能表现,结论不意外:没有一种模式能通吃所有场景。
不过,它给出了一个很有价值的参考方向:
- Direct Lake on OneLake:在大多数测试中表现最佳,尤其适合数据量中等、对实时性要求较高的场景。
- 复合模型(Composite Model):当数据量非常大时,采用 DirectQuery 事实表 + Dual 模式维度表 + Import 模式聚合 的组合,反而能获得更好的性能。这和我之前在这篇博客里提到的思路一致。
当然,你的数据模型、报表逻辑和查询模式都是独特的,所以白皮书的核心目的不是告诉你“选哪个”,而是教你如何自己跑测试,找到最适合你的方案。
白皮书没覆盖什么?
为了控制范围,白皮书没有测试所有可能的存储模式组合,而且只关注性能,没有涉及成本和治理。所以在实际决策时,你还需要结合自己的预算、安全合规要求等综合权衡。
国内用户怎么看?
国内不少企业也在用 Databricks 或类似湖仓平台(如 MaxCompute、EMR),存储模式的选择同样是个头疼的问题。这份白皮书的测试方法论特别值得借鉴——不要拍脑袋选,用数据说话,跑一轮针对自己业务场景的基准测试,才能避免上线后性能翻车。
怎么获取?
白皮书已发布在 Power BI 博客上,链接在原文中有。如果你正在做 Databricks + Power BI 的架构选型,强烈建议下载阅读,并照着里面的方法做一轮自己的测试。
如果你对复合模型、Direct Lake 的细节感兴趣,也欢迎留言讨论,后续我可以再展开讲讲。




