数据分析解决方案如今不断涌现。数据团队处于风暴的中心,因为他们必须平衡对访问、数据完整性、安全性和适当治理的所有需求,这需要遵守相关政策和法规。他们所服务的企业需要尽快获得信息,并且需要应对不平衡的行为,数据团队必须快速而明智地采取行动。
他们还必须进行分析和预测,因为他们不仅需要为现在构建系统,还需要为未来构建平台。数据团队首先必须考虑的一个关键问题是:开放或封闭的数据架构。
开放与封闭的数据架构
先从术语“数据架构”开始。如果要展示多年来任何一个企业的架构图,很可能他们的数据标签实际上是代表数据库的标签——并不是数据本身,而是对数据起作用的引擎。人们可能对这些名称很熟悉,例如Oracle、DB2、SQL Server、Teradata、Exadata、Snowflake等。这些都是为了加载数据集用于操作或分析目的的数据库,它们是“数据架构”的基础。
根据定义,这些数据库就是所说的“封闭数据架构”。这意味着数据本身与其他应用程序隔离,必须通过数据库引擎访问。即使使用ETL作业移动数据也是如此,因为在某些时候,要进行导出或导入,需要遍历数据库,无论这是否是实现企业想要做的事情的最佳方式。在这个重要的意义上,数据与架构的其余部分是“封闭”的。
总之,封闭的数据架构将数据带到数据库引擎,而开放的数据架构将数据库引擎带到数据。
测试企业是否正在处理开放式架构的一种简单方法是考虑未来采用新引擎的难度。能否将新引擎与现有引擎(在相同数据上)并行运行,还是需要进行大规模(并且可能不切实际)的迁移?
需要注意的是,在这一点上,已经触及了与开源无关的“开放”的一个关键方面。第一步是决定希望其数据开放并可供任何希望利用它的服务,这将在云计算世界中开放。
开放的、面向服务的数据架构
当应用程序从客户端-服务器迁移到Web时,基本架构发生了变化。从在一个进程中运行的单一应用程序转变为面向服务的应用程序,这些应用程序被分解为更小、更专业的软件服务。这些最终被称为“微服务”,并且它们仍然是Web和移动应用程序的主导设计。由于云计算基础设施的性质,微服务方法具有许多优势。在具有按需资源模型和众多团队致力于功能块的横向扩展系统中,应用程序只不过是数十或数百个微服务的外观。
很多人都认为这种方法在构建模块化和可扩展的应用程序方面具有许多优势。出于某种原因,应该相信这种范式对数据并没有那么有效。专家指出,以与应用程序相同的开放、面向服务的方式查看数据的逻辑是显而易见并且可取的。在实践和战略层面,开放的、面向服务的数据架构才有意义。
这就是为什么说开源软件的问题是次要的原因。最重要的 “开放”是决定开放数据架构比封闭数据架构更可取的第一步。一旦发生这种情况,就会出现一个分水岭。开放文件和表格格式(Apache Parquet、Apache Iceberg等)非常重要,因为它们允许全行业创新。其创新以服务于独立开发者的形式交付。杂乱、昂贵、脆弱和破坏合规性的数据被显著减少甚至消除。数据团队可以从同类最佳的服务中进行选择来处理该数据,并将它们放入架构中,就像人们十多年来对应用程序服务所做的一样。是时候让数据架构迎头赶上了。
那些对开放数据架构的价值提出异议的人表示它们太复杂了。任何重大的技术转变都会带来复杂性。中型机最初比已建立的大型机更难以管理。然后,基于Intel架构的服务器最初比已建立的中端系统更难以管理。管理个人电脑最初比管理已建立的哑终端更复杂。而每次发生技术转变时,它都会通过正常的采用曲线进入应用主流。从管理的角度来看,早期总是更加复杂,但随着时间的推移,新的工具和方法会降低这种复杂性,从而产生远远超过初始复杂性成本的收益。这就是为什么进行技术创新的原因。
Dremio是一款DaaS平台,其创建是为了使开放的、面向服务的数据架构变得更加容易和强大。使用Dremio,由于可以将所有部分放在一起,因此对Lakehouse运行SQL很容易。在这一过程中,创建了改变行业的开源项目,例如Nessie、ApacheArrow和ArrowFlight。这些是开源项目,因为开源技术鼓励采用和互操作性,这对于企业数据架构中的服务集成层至关重要。客户之所以受益,是因为他们可以采用创新的关键技术,以更好地为他们服务。开源爱好者之所以受益,是因为他们可以访问代码以更好地理解它,甚至改进它。行业厂商之所以受益,是因为可以使用这些创新来快速轻松地在Lakehouses上创建SQL。
对这个讨论提出一个很好的观点,现实上,无论供应商声称多么“开放”,无论他们如何谈论支持开放格式和开放标准,即使该供应商的核心是开源的,如果数据架构是封闭的,那么它就是封闭的。
Snowflake公司在最近发表的一篇文章中提出的关键一点是,需要在数据格式和存储所有权等方面进行封闭以满足业务需求。虽然这在多年前可能需要这么做,但云存储和事务表格式等最近的进步现在使开放式架构能够满足这些要求。如果企业可以通过开放式架构和随之而来的所有好处来满足其要求,那么为什么要选择封闭式架构呢?
数据成为一等公民
行业专家倡导数据本身成为架构中一等公民的世界。对于想要从开放架构中爱益的企业,行业厂商正在使这一点变得越来越容易实现,例如:(1)灵活地使用最适合不同工作的同类最佳引擎;(2)避免被锁定通过专有引擎来访问他们的数据;(3)做好准备以利用未来的创新;(4)消除无休止地将数据复制和移出数据仓库所造成的复杂性。
行业厂商不仅致力于开放标准和开源,尽管它们可能很重要,但首先致力于开放数据架构。因为随着它们变得越来越容易实现和使用,与封闭的数据架构相比,其优势是压倒性的。