现代数据栈架构师指南

本文最初发布于 The New Stack。
虽然现代数据栈的精确定义可能难以捉摸,但有一点是明确的:它与过去巨头青睐的传统、单片式方法不同。现代数据栈是一个由专门工具组成的动态集合,每个工具都擅长数据处理的特定方面。它是一个模块化、不断变化的生态系统,可以适应技术流变和不断变化的业务需求。
尽管,或者可能是由于这种流动性,现代数据栈确实有一些定义特征。它是云原生的、模块化的、高性能的、与 RESTful API 兼容的,具有解耦的计算和存储,并且是开放的。让我们更详细地看一下这些特征。
- 云原生:云原生工具提供无与伦比的可扩展性,使组织能够无缝处理和分析庞大的数据集,同时在各种云环境中保持高性能。无论是公共云还是私有云,现代数据栈都与多云兼容,确保灵活性并避免供应商锁定。
- 模块化:现代数据栈提供各种专门工具,每个工具都针对特定数据任务进行了优化。这种模块化使组织能够根据自身独特需求构建定制化的数据基础设施,在快速发展的数据环境中促进敏捷性和适应性。
- 高性能:性能是现代数据栈的核心。其组件经过精心设计,具有高性能,使组织能够高效地处理和分析数据。
- RESTful API 兼容性用于在栈组件之间实现流畅和标准化的通信,促进互操作性并创建将栈分解成可管理组件的微服务。例如,S3 API 在栈中无处不在。
- 解耦计算:将计算与存储解耦 是现代数据栈的基本架构原则。这种分离使组织能够独立地扩展其计算资源和存储容量,从而优化成本效益和性能。它还使动态资源分配成为可能,确保计算能力与特定工作负载相匹配。
- 开放:现代数据栈通过拥抱开源解决方案和开放表格格式 来倡导开放性,打破专有孤岛并消除供应商锁定。这种对开放性的承诺促进了跨平台和工具的协作、创新和数据可访问性,增强了栈的适应性和包容性。
现代数据栈的形状
将现代数据栈想象成一个交响乐团,每个乐器都发挥着各自的作用,同时遵循指挥家 Kubernetes 的指挥,创造和谐的数据体验。虽然演奏者可能会改变,但组成部分仍然保持不变:数据集成、存储、转换、数据可观测性、数据发现、数据可视化、数据分析以及机器学习和人工智能。让我们深入探讨这些领域的每一个。
存储
对象存储在现代数据栈中扮演着至关重要的角色。对象存储为不断增长的海量数据提供了可扩展、高性能且灵活的存储解决方案。对象存储增强了栈的敏捷性,因为最佳的对象存储可以部署在各种基础设施中,突出了软件定义存储的重要性。
存储越来越多地发挥着积极作用,与栈中其他元素无缝集成,并作为湖仓架构 的基础。使用 MinIO 和 Iceberg、Hudi 以及 Delta Lake 构建的湖仓,完美地体现了这种用例。
数据集成
摄取是连接不同数据源的桥梁。现代数据集成 工具拥抱灵活性和民主化的精神。它们不会将数据储存在专有孤岛中;相反,它们促进数据可访问性,无论数据位于何处。无论是公共云、私有云、裸机基础设施还是边缘,数据集成工具都打破了曾经将数据隔离的障碍。
这个领域中一个值得注意的参与者是Apache NiFi,这是一种开源数据集成工具,可以轻松地编排数据流。它与对象存储兼容,确保您的数据能够无缝地跨越各种环境。Airflow 是这个领域中另一个明显的参与者。 Airflow 是一个开源平台,专为编排、调度和监控复杂的数据工作流而设计,使管理和自动化与数据相关的任务变得更加容易。
数据集成涉及实际数据移动的旧模式在很大程度上已被就地集成理念取代。这种范式转变不仅代表了我们管理数据方式的变化,也代表了我们如何看待数据自由、可访问性和敏捷性的根本转变。现代数据栈中的数据属于您,而不是专有系统。受益的实体必须是您和您的组织,而不是销售过时关系型数据库管理系统的跨国公司。
转换
虽然转换和数据集成应用程序之间可能存在一些重叠,但需要注意的是,存在像Apache Spark 和 DBT 这样高度专门化的转换工具。这些工具具有独特的功能,允许数据工程师和分析师在数据被栈中的下游应用程序使用之前对其进行修改和细化。以对象存储作为数据的源和目的地,这些工具确保数据在整个转换过程中保持一致、可访问和可靠。
数据可观测性
在现代数据栈中,确保数据可靠性和质量至关重要。数据可观测性工具充当警觉的守护者,提供对数据管道健康状况和行为的洞察。这些工具不仅监控,而且还检测异常,帮助您维护数据完整性。
Prometheus 是一种流行的可观测性工具,使您能够深入了解数据基础设施,提供必要的数据可观测性以及现代数据栈的标准S3 兼容性。虽然Grafana 通常与基础设施和应用程序监控相关联,但它也可以扩展到监控数据管道。
数据发现
像 Apache Atlas 和 Collibra 这样的工具提供了对组织中数据资产进行分类和发现的方法。与对象存储库集成可以确保所有数据,无论其位置,都可以被发现和使用。
数据可视化
数据可视化工具将原始数据转化为有意义的、可操作的见解。它们使用户能够构建引人入胜的故事、发现模式并做出数据驱动的决策。这些工具重视可访问性,确保数据在所有人的触手可及,而不仅仅是数据科学家或分析师。在这里,我们再次看到 RESTful API 的广泛使用,用于连接到栈中的数据。
像 Tableau、Power BI、Looker 和 Apache SuperSet 这样的工具在这个领域中处于领先地位,提供对数据位置的洞察。
数据分析
对象存储是主要的存储 用于在线分析处理 (OLAP) 分析数据库。这种前瞻性方法,被 Snowflake、SQL Server 和 Teradata 等分析巨头采用,依赖于可查询表的概念,消除了数据迁移的需要,并允许这些高性能数据库将精力集中在查询性能而不是存储上。这种趋势随着 DuckDB 等更小、更轻量级的分析引擎的出现而迈向了下一步,这些引擎完全放弃了存储,而是仅依赖于内存内进程来进一步加速数据分析工作负载。
追求大规模、高性能和成本效益的云原生分析平台正在彻底改变企业从数据中提取价值的方式。这不仅仅是技术上的转变,对于那些想要在当今数据驱动型世界中保持竞争力的组织来说,这更是一种战略上的必要。
机器学习和人工智能
现在,机器学习 (ML) 和人工智能在现代数据堆栈中占据着比以往更加重要的地位,推动着变革性的洞察力和决策能力。像 TensorFlow 和 PyTorch 这样的 ML 框架占据着中心地位,展示了它们与高性能对象存储集成时实现超大规模的能力。这种强大的协同作用不仅加速了 ML 模型的训练和推理阶段,而且还提高了 AI 驱动应用程序的敏捷性,使组织能够利用数据的潜力进行 异常检测、自然语言处理、计算机视觉 等更多应用。在这个数据驱动创新的时代,MI 和 AI 已经成为不可或缺的支柱,重塑着行业,并为愿意探索智能自动化和数据驱动决策支持(由强大的对象存储支持)前沿的企业开辟了新的可能性。
结论
这些现代数据堆栈的竞争者并不是企业架构师的最终选择。有很多未列出的选项,还有更多我们尚未探索的选项,但类别应该是读者的主要收获。现代数据堆栈将继续发展,拥抱新的工具和技术。然而,不变的是它对规模、性能、数据可访问性、模块化和灵活性的要求。
在 MinIO,我们将这些支柱视为以工程为首的原则。事实上,我们认为自己更像是一家数据公司,而不是一家存储公司。我们的目标是成为整体数据乐团的一部分,支持大规模作品以及即兴创作。
继续探索,继续创新,并继续释放数据的无限潜力。现代数据堆栈是您的交响乐,您是作曲家。如果您对现代数据堆栈中应该包含什么有任何疑问或想法,可以随时在 Slack 上联系我们,或发送电子邮件至 hello@min.io。