Procore 如何用 OpenSharing 驱动建筑数据分析
How Procore is powering construction analytics with OpenSharing
Procore 基于 Databricks 的 OpenSharing 构建 Procore Analytics 2.0,取代原先受限于每日一次、最多三次刷新的 SQL Server 架构。
连接一个建立在割裂数据之上的行业
建筑行业的运转依赖数据,而这些数据很少集中在一处。信息分散在各个平台、地区和团队之间,往往被锁在生成它的那一方系统里。当现场数据没有与财务系统打通时,这种割裂就可能掩盖财务风险。当项目经理、数千英里之外的建筑高管和工地上的现场主管无法看到同一个项目视图时,决策就会基于过时或不完整的信息做出。
Procore 是一家全球领先的建筑管理软件提供商,服务于美国、欧洲、中东、亚洲和澳大利亚的数万名客户,它的诞生正是为了弥合这些鸿沟——将建筑行业中的每个人连接在同一个平台上。这尤其意味着三类群体:业主(房地产开发商,以及任何自行拥有并运营房地产设施或基础设施的人)、端到端管理项目的总承包商,以及像电工和水管工这样在现场执行作业的专业承包商。
但把数据在 Procore 内部连接起来只是故事的一半。客户还需要把这些数据放到自己的环境中,与支撑其业务运营的其他一切系统放在一起(例如,总承包商将 Procore 数据拉入 Power BI,以跟踪在建项目的劳动力和人员指标;或者客户将其与自己的 ERP 和财务系统关联,在一处查看项目执行情况和成本)。这正是 Procore Analytics 所提供的:以编程方式访问已连接的 Procore 数据集,并将其拉取到客户已经在使用的任何工具中——Power BI、Tableau、Snowflake、BigQuery、他们自己的 Databricks 工作区,或本地 SQL Server——用于报表和下游分析。
超越第一代 Procore Analytics
第一代 Procore Analytics 完全早于 OpenSharing 出现。它构建在 SQL Server 后端之上。数据从 Procore 的公共 API 中提取,并加载到客户可以查询的 Azure 数据库中。
这套架构行之有效,但存在硬性上限。刷新被限制为每天仅运行一次,即便是付费购买额外刷新的客户,每天最多也只能刷新三次。对于状况每小时都在变化的建筑项目而言,这种延迟是最大的单一限制因素。
由 API 驱动的数据提取在规模化时还会带来成本和可靠性问题。通过公共 API 为数万名客户拉取数据,意味着要运行深度递归调用,这些调用成本高昂、脆弱,且容易超时或触达限制。
为什么选择 OpenSharing
到 Procore 开始设计下一代 Procore Analytics 时,Databricks 已经在为 Procore 平台的其他部分提供支持。这也让 OpenSharing 成为面向客户的提取产品的自然选择,并且相比旧的 API 路径具有若干具体优势。
运营效率。就地共享经过整理的文件,消除了为每位客户运行深度递归 API 调用所带来的成本、脆弱性和超时风险——正是这种压力限制了 Procore Analytics 1.0 的刷新频率。
规模。Procore 现在可以向每个客户共享数百张精选表,并按客户维护分区访问权限,从而在规模化条件下管理数十万个不同的数据共享。其中一些公司同时运行着数百甚至数千个项目,而每一个项目都需要对工作进展有实时的视图。
覆盖范围。Procore 的客户运行在各大主流云平台和几乎所有能想到的 IT 技术栈上,从 Excel 和 Power BI 到完整搭建的 Databricks 环境。OpenSharing 的开放协议能够对接所有这些环境。Power BI 和 Tableau 等 BI 工具开箱即用,已经在 Databricks 上运行的客户无需移动任何数据即可获得原生的 Databricks 到 Databricks 体验。使用其他数据仓库和平台的客户则可以通过开放的 OpenSharing 客户端库消费同样的共享数据。
可靠性与性能。客户消费的是经过清洗、建模和质量检查的、受治理的精选数据,而无需把一系列 API 调用串联起来再拼接结果。
安全与治理。共享通过 Unity Catalog 进行,因此每张表都受到集中治理,访问权限按用户和按项目强制执行。总承包商可以与业主共享项目进度,同时保持自身的财务数据私密。
实现方式 
Procore 在 Databricks 内基于奖章架构构建了 Procore Analytics 2.0。来自 Procore 应用数据库的原始事件和集成事件原封不动地进入青铜层。白银层执行清洗、验证和数据质量检查,产出下游一切所依赖的已确认数据集。黄金层则是对数据进行聚合、优化并为分析建模的地方。
青铜层、白银层和黄金层都跨多个区域运行,因此处理发生在靠近源数据的地方。随后,黄金层的表从各个区域汇集到一个主分析区域,OpenSharing 正是在这里将数据分发给客户。
两条接收方路径。没有 Databricks 的客户可以直接在 Procore 应用内生成 OpenSharing 令牌,并使用开放协议进行连接。已有 Databricks 的客户则添加其工作区标识符,通过 Databricks 到 Databricks 共享原生接收数据。
自动化授权。一个定时任务会监视新的共享和权限变更,从 Procore 应用中读取每个用户的权限,并据此协调 OpenSharing 的授权。结果是按用户、按项目强制执行,无需手动配置,因此总承包商可以与业主共享项目进度,同时保持自身财务数据私密,或者只与某个贸易伙伴共享该伙伴范围内的数据。
粒度与增量。Procore 支持在模式、视图、表和分区级别进行共享。表启用了变更数据流(Change Data Feed),因此接收方可以选择消费完整数据集,或只消费自上次同步以来发生变化的数据,这在单张表包含数百万条记录时尤为重要。
统一的语义层。由于同一个黄金层同时支撑 Procore 的应用内报表和客户数据提取,各产品之间的模式和命名约定保持一致。客户在 Procore 界面中看到的值,在其数据提取中会以相同的名称呈现相同的值。
可预测的变更节奏。将数据交付到数千个下游客户环境,意味着破坏性变更必须被谨慎地提前告知。破坏性变更是指任何可能扰乱客户下游管道的改动,例如重命名字段、更改列的数据类型或重构表结构。Procore 最终确定每年发布四次破坏性变更,提前六周通知;每年发布十二次非破坏性变更,提前三周通知,并与更广泛的组织发布日历保持一致。
重组后的数据团队。过去有两套并行的管道,一套用于分析,一套用于应用内报表,各自拥有独立的摄取、建模和治理。新的模式将其整合为一条路径。一条统一的管道负责摄取、落地、建模和治理,然后分发到按业务领域(如财务)划分的数据领域团队。每个领域团队端到端地拥有自己的数据,并与相关应用团队协作处理各工具的细微差异,而不是在独立的分析、报表和智能团队之间重复这些知识。
可衡量的影响
最切实的业务成果是数据可用性。Procore Analytics 1.0 花费数年时间通过 OpenSharing 构建了可用表和字段的基线目录,而 Procore Analytics 2.0 在不到一半的时间内将该目录扩展到数百张表,实际上使客户能够大规模提取的数据范围翻了一番。这一点很重要,因为 Procore 不断发布新功能,而每项新功能都会产生客户希望拉取到自己环境中的数据。更广泛的目录意味着更多新功能可供下游客户使用,而无需一次性集成工作。
对于最终客户而言,迁移到 OpenSharing 打破了每日一次刷新的上限,并重塑了工作节奏。客户现在可以根据自身业务节奏安排刷新,许多每天拉取数据的客户实际上每天拉取多次,具体取决于其下游工具支持的频率。一位准备重要客户演示的项目经理,可以在当天早上接收高管的一系列最后一刻更新,并让实时仪表板在会议前反映这些更新。在旧模式下,这些细微变化只能在会议本身中解释。
对于内部产品团队而言,单一共享管道意味着工具团队可以构建新功能,并几乎在功能发布的同时就让客户能够提取其数据,而不必等待并行的分析管道数月之久。Procore 预计工具数据可用性的每一次提升都将直接转化为客户的新产品体验。
面向报表、分析和 AI 的数据基础
除了在刷新频率、规模和覆盖范围方面的直接收益之外,Procore 在 Databricks 和 OpenSharing 上构建的数据架构为客户提供了一个受治理、持续可用的基础,用于企业级报表和智能。无论客户是在标准化所有活跃项目的报表、将项目数据输入企业 BI,还是在此基础上构建 AI,价值的起点都是一样的:数据干净、经过建模、受治理,并可在所有需要它的系统中使用。
这正是 Procore Analytics 2.0 所实现的效果。一个单一的多区域黄金层,既为 Procore 自身的应用体验提供支持,也流入客户基于其 Procore 数据构建的产品,并通过 OpenSharing 和 Procore 的其他数据通路,触达各大主流云平台上成千上万的建筑公司。有了这一基础,企业报表、分析和新兴的 AI 用例都能依托同一个可信、实时的单一事实来源,而不再依赖一系列一次性集成。
这一长期目标与 Procore 自创立之初的使命一致:在一个全球平台上连接建筑行业的每一个人——让每个项目上的每个团队都能获得所需的可信数据,从而更安全、更快速、更智能地建设。
“OpenSharing 帮助我们提升了数据可用性,这意味着建筑行业中的每个人,从高管到项目经理再到现场人员,都能更好地了解自己所做的工作。这帮助他们按时、按预算、安全地交付项目。”- Matthew Guptill,Procore Analytics 产品经理
正在构建供客户在自己工具中使用的数据产品?OpenSharing 为你提供一种开放、受治理的方式,在他们运行的每一朵云、每一个区域和每一个平台上交付实时数据,无需维护副本。了解 OpenSharing 如何运作,然后探索 Databricks Marketplace 来共享和发现实时数据集。探索 OpenSharing
让你的数据发挥作用。Procore Analytics 将你的项目数据转化为可执行的商业智能,连接每个项目的信息,并将其交付到你的团队已经在使用的工具中。了解 Procore Analytics 如何帮助你在整个项目组合中做出更快、更确定的决策。探索 Procore Analytics
来源:Databricks Blog · databricks.com