2021年12月17日

Tryg 如何利用 Prisma 实现数据民主化

Tryg 凭借其“360”数据经纪平台节省了大量时间,该平台通过消除手动配置环境所产生的开销,加速了开发周期。Prisma 是使他们能够民主化来自不同数据源的数十亿条记录的关键技术。

How Tryg has leveraged Prisma to democratize data

Tryg 是北欧地区最大的非寿险公司之一,为私人、商业和企业市场提供广泛的保险服务,每年处理超过 100 万起索赔。

与许多企业一样,Tryg 面临着变得更加以数据为中心的需求,同时也在与数据孤岛的痛苦作斗争。

Tryg 拥有分布在不同国家的各种数据源。由于 Tryg 的数据源模型是在数十年间建立起来的,对相同概念的定义各不相同,因此无法重复使用。这导致了许多修复、变通方案和妥协。

整合其中一个数据源的数据将需要 Tryg 对其进行统一,这是一项耗时且容易出错的任务。最终目标是使数据可供所有人使用,包括那些不熟悉 SQL 和实体关系图的人员。

Prisma 是 Tryg 实现数据民主化的主要技术之一。

通过 Tryg 360 实现数据民主化

实现数据民主化需要实施一个专有平台。因此,Tryg 实施并推出了名为 Tryg 360 的数据经纪平台。

Tryg 360 使开发人员只需点击一个按钮即可快速启动环境。这会调用他们所需的应用程序,允许他们实时可视化数据,与其他用户共享应用程序 URL 等。这帮助他们实现了每个开发人员的梦想:专注于编写增值代码,而不是管理所有后端设置,以及忍受漫长的环境加载等待时间。

Tryg 360 technology overview

为了实现这一目标,Tryg 采用了 Prisma,因为它能够自动生成数据库客户端和开发人员将交互的 GraphQL API。

generator API 确定运行 prisma generate 命令时创建哪些资产。

Prisma Client 和 GraphQL API 的自动生成对 Tryg 至关重要,因为他们拥有极其复杂的模型和海量数据——有些 Schema 文件长达 1 万行,包含超过一百万个字符!

生成 Prisma Client 后,Tryg 使用 Pal.js 自动生成一个 GraphQL API,系统中的其他开发人员和用户将与该 API 交互。这对他们很重要,因为它自动化了 GraphQL 解析器的手动编码。Pal.js 是一个生成器,允许基于 Prisma Schema 生成 GraphQL CRUD 解析器。

“Prisma 对我们来说是一个巨大的技术促成因素”

Artur Mrozowski, 数据工程师 Tryg

Prisma 自动化

Tryg 的基础设施设置相对复杂,因为它涉及通过 CI 部署完整环境的几个步骤。该过程包括从不同的系统和数据库加载数据,将其转换为规范模型,然后将其加载到单个数据库中。

Tryg 对部署新环境有以下要求:

  • 基于 Schema 自动生成数据库
  • 基于 Schema 自动生成 Prisma Client API
  • 部署任何应用程序、源或应用程序组合
  • 一键完成

“我们与 Prisma 的设置使我们能够从代码生成所有内容,并确保我们的开发人员能够非常快速地迭代。”

Lasse Abelsen, DevOps 工程师 Tryg

Tryg 360 technology overview

部署环境所需的资源在 Helm chart 中定义。Kubernetes 负责提供必要的资源。在提供资源时涉及的步骤包括:

  • 实时流式传输来自不同来源的原始数据,无需任何转换。这确保了开发人员在环境创建后可以处理实时数据。
  • 部署具备时间意识的 MirrorMaker – 负责随时正确同步来自不同数据源和管道的数据。这是 Apache Kafka MirrorMaker 的一个实现。
  • 部署本地 Kafka 集群以加载他们所需的数据,而不是从所有源加载数据。
  • 部署特定环境所需的应用程序
  • 由部署的应用程序进行数据转换并将数据加载到 Cockroach 数据库中
  • 部署使用 Prisma 访问特定 Cockroach 数据库的应用程序
  • 根据 Prisma Schema 自动生成解析器和类型定义

由于 CockroachDB 与 PostgreSQL 有线协议兼容,Prisma Client 可以与其通信,即使 Prisma 尚未完全支持 CockroachDB。

借助 Prisma,Tryg 成功快速生成了其数据库客户端和 GraphQL API——实现了快速迭代,通过单一 Schema 统一了其数据源,并简化了系统和用户的数据访问。

Tryg 和 Prisma 的愿景

通过将他们独立的数据源统一到一个集中位置,并自动化使数据可供开发团队访问的复杂过程,Tryg 开创了一种与我们对 Prisma 数据平台的愿景完美契合的方法。

Prisma 的目标是民主化像 Facebook、Twitter 和 Airbnb 这样的大公司为自己构建的应用程序数据平台概念。我们希望通过保持数据访问的灵活性、安全性和轻松可扩展性,使各种规模的开发团队和组织能够采用现代开发工作流程。

了解更多关于我们针对Prisma 企业版的计划

总结

Prisma 在帮助 Tryg 构建 Tryg 360 平台方面发挥了重要作用。作为下一步,Tryg 正在研究事件建模等技术,以完善其领域模型,思考事件以及它们如何围绕时间轴存储,我们渴望在他们的旅程中提供支持!

收听 Tryg 的完整演讲,了解更多关于:

  • 经验教训
  • 具备时间意识的 MirrorMaker 的工作原理
  • 查看 Tryg 和 Prisma 的实战演示

要了解更多关于 Prisma 如何帮助您的团队提高生产力,请加入 Prisma Slack 社区

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . All rights reserved.