2021年12月17日

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

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

How Tryg has leveraged Prisma to democratize data

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

与许多企业一样,Tryg 面临着成为更 数据中心化 的需求,同时努力解决数据孤岛的困扰。

Tryg 在不同国家拥有各种不同的数据源。Tryg 的数据源数据模型无法重复使用,因为它们是几十年来构建的,同一概念的定义各不相同。这导致了许多修复、权宜之计和妥协。

集成其中一个数据源的数据需要 Tryg 对其进行协调一致,这是一项耗时且容易出错的任务。最终目标是让所有人都能访问数据,包括那些不熟悉 SQL 和实体关系图的人。

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

通过 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 文件长达 10k 行,包含超过一百万个字符!

生成 Prisma Client 后,Tryg 使用 Pal.js 自动生成 GraphQL 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 charts 中。Kubernetes 负责配置必要的资源。配置资源涉及的步骤包括

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

由于 CockroachDB 与 PostgreSQL 线协议兼容,因此即使 Prisma 尚未完全支持 CockroachDB,Prisma Client 也能与其通信。

借助 Prisma,Tryg 成功快速生成了数据库客户端和 GraphQL API——这使得快速迭代成为可能,通过单一 schema 统一了他们的数据源,并简化了系统和用户的数据访问。

Tryg 和 Prisma 的愿景

通过将分散的数据源统一到一个地方,并自动化使数据对开发团队可访问的复杂过程,Tryg 开创了一种方法,这与我们对 Prisma Data Platform 的愿景完美契合。

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

了解更多关于我们Prisma Enterprise 的计划

结论

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

收听完整的 Tryg 演讲以了解更多信息

  • 经验教训
  • Time-Aware MirrorMaker 如何工作
  • 观看 Tryg & Prisma 实际操作演示

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

不要错过下一篇文章!

订阅 Prisma 新闻通讯