Schemata:分散式的数据结构建模框架


自从 Hadoop 和 MapReduce 诞生以来,数据工程社区一直非常关注数据转换的商品化。所有 Hadoop 抽象,如 Hive、Pig、Crunch 等。在 Hadoop 之上构建以进一步简化数据转换。通过简化数据转换,Apache Spark 对 dbt 数据工程社区取得了重大飞跃。 

数据湖(或 LakeHouse)成为事实上的架构模式来获取事件并产生分析见解。
数据湖本质上在产品功能团队和数据工程团队之间创建了生产者-消费者关系。随着数据湖的增长,数据管理的复杂性也在增长。让我们以典型数据管理中的日常数据流为例。 

  • 数据生产者为他们开发的产品功能生成数据并将其发送到数据湖。(如果你很幸运,可以作为 ProtoBuf/Avro/Thrift 或 Json 格式,如果你喜欢数据冒险)
  • 下游的消费者对生产者没有领域了解,并且难以理解数据湖数据。
  • 消费者然后与数据生产者联系,以了解生产者的领域专家的数据。领域专家可能没有上下文,或者人类知识可能不可用。

数据湖变成了技术债务而不是战略优势,因为它变成了垃圾存储而不是数据作为资产。 

在 Schemata 之前,没有系统的方法来衡量数据模型的完整性。我们不断构建没有反馈循环的新数据模型,以平衡数据资产的成本和完整性。它创建 Garbage-In Garbage-Out 模型。 

GIGO 问题就像组织知识管理系统中的病毒,是许多公司的重要业务差异化因素。

Schemata是一个用于数据合约的去中心化模式建模框架。

Schemata 如何解决 Garbage-In Garbage-Out (GIGO) 问题?

1、Schemata 启用面向领域的数据所有权
Schemata 专注于将数据视为产品。处理产品特性的特性团队对数据有领域的理解,而不是数据的消费者。Schemata 使特性团队能够拥有数据所有权,以创建、附加元数据、对数据进行编目并存储它以便于使用。
数据创建阶段的数据管理和数据编目带来了更多的可见性并使其更易于使用。该过程还消除了人类知识孤岛,真正使数据民主化。它帮助数据消费者不必担心数据发现,并专注于从数据中产生价值。

2、Schemata 促进去中心化数据建模
传统上,前期数据建模是有代价的。一个集中的数据架构/建模团队通常与多个团队协作来设计企业数据建模。一个人很难在脑海中掌握整个公司的数据架构。数据建模工具不反映数据建模的当前状态。去中心化数据建模是唯一可扩展的方法,Schemata 支持自下而上的众包数据建模方法,使组织中的数据访问民主化。

3、Schemata 将 DevOps 原则引入数据建模。
去中心化数据建模原则带来了一种独特的协作方法来管理数据资产的生命周期。它将所有经过验证的 devops 原则(如所有权、责任、协作、自动化、持续改进和以客户为中心的行动)引入数据管理。
Schemata 加强数据模型的连接性和完整性

4、数据本质上是社会性的。 
去中心化数据管理的重大挑战是数据之间缺乏连通性会降低数据的可用性。Schemata 是一个固执己见的数据建模框架,它以编程方式测量数据模型的连通性并为其分配分数。

https ://github.com/ananthdurai/schemata