如何避免数据湖变成数据沼泽

2年前 (2022) 程序员胖胖胖虎阿
174 0 0

本文转载自 www.dbta.com,作者李栋

今年,Gartner 发布了《分析查询加速的市场引导报告》(Market Guide for Analytics Query Accelerators),指出企业在享受数据湖带来灵活性的同时,也承受着因数据使用和数据管理混乱带来的不利影响。Kyligence 智能多维数据库产品及解决方案已经助力多家企业有效解决这一难题。

1. 数据湖带来的治理难题

数据湖采用“读时模式”(schema-on-read)的数据存储结构,在存储 PB 级数据和支撑业务应用方面具备强大的能力。然而,任何事物都有两面性。作为一种语义灵活的数据存储方式,数据湖在数据治理方面难免有所欠缺,如果管理不善就会变成混乱的数据沼泽。

1.1 数据信任的挑战

创新的数据洞察一般来自多个数据主题的融合分析。传统的数据分析模式往往依赖数据工程师开发 ETL 取数,以满足特定场景的分析需求。在这种情况下,即使数据分析师希望能够灵活地探索更多数据,但由于很难掌握这些数据的生成逻辑,只能谨慎地选择,以免复用其他部门或业务上的数据。

1.2 宽表爆炸的挑战

久而久之,数据孤岛愈加严重,数据湖上的表日渐增多。例如,一家拥有 5700+ 张源表的互联网公司可在数据湖上生成近百万张宽表和聚合表。宽表爆炸逐渐成为数据团队的一大挑战,他们不仅要确保数据的质量及一致性,还要应对数据爆炸式增长所带来的成本持续上行的压力。

1.3 成本过高的挑战

在数据湖上存放数以百万计的表,除了会占用大量的计算资源和存储资源,还需投入相当多的人力进行开发和维护。而这些投入带来的回报,如每张表的实际使用量、单次查询的成本等都将难以计算。

为了应对上述挑战,不少企业尝试将数据仓库技术引入数据湖,并构建湖仓一体(Lakehouse)的架构,数据仓库技术对数据质量和标准有严格的要求,有助于弥补数据湖在数据治理方面的不足。

2. 多维数据库的优势

自上世纪 60 年代问世以来,多维数据库技术已经渐趋成熟 [1]。多维数据库是关系模型的一种变体,采用多维数据模型来整理数据并表达数据之间的关系 [2]。多维数据库是当今被广泛认可的联机分析处理(OLAP)技术,广泛应用于数据仓库中的数据集市层。

数据是两维的,业务是多维的。与传统的关系型数据库使用“表”作为数据库关键实体不同,多维数据库根据表之间的关系定义多维数据模型,并以“多维模型”作为数据库的关键实体。多维模型包含业务维度和度量(而非列和行),构建统一的语义层,为业务指标提供单一的数据源。基于标准化的语义定义,业务用户可以全面拉齐对业务数据的理解,有助于解决数据使用中互不信任的痛点。

从存储的角度来看,多维数据库将以 OLAP Cube(多维立方体)的形式保存数据。OLAP Cube 会基于维度的多种组合进行聚合计算并保存计算结果,加速多维分析。数据工程师只需准备待分析的事实表和维度表,并将表接入多维星型或雪花模型,不再需要为每个数据应用或 BI 报表开发宽表。得益于此,数据工程师还可以通过管理 OLAP Cube 中的聚合索引来妥善治理存储的数据,让数据存储变得井然有序。

随着越来越多的企业上云,IT 团队正致力于寻求更有效的方法,以更低的成本满足更多的数据量和分析需求。对云上资源而言,相较于计算和网络资源,存储资源的价格更加低廉,多维数据库采用预计算技术构建 OLAP Cube,正是使用更为便宜的存储来节省计算和网络资源的消耗。尤其是对于自助式 BI 分析、数据服务 API 等应用场景,多维数据库将比关系型 MPP 数据库具有更高的 ROI。

除此之外,多维数据库中存储了易于业务用户理解的维度和度量信息。无论业务用户,还是数据分析师,都能够通过统一语义层自助地找到任何想要的数据。与此同时,数据工程师可以轻松地治理数据湖,将热门数据模型快速识别为最有价值的数据。

3. Kyligence 智能多维数据库

Kyligence 由 Apache Kylin 创始团队于 2016 年创办,致力于打造下一代企业级智能多维数据库,为企业简化数据湖上的多维数据分析(OLAP)。Apache Kylin 是开源 OLAP 的领导者,是第一个由中国团队贡献到 Apache 软件基金会(ASF)的顶级开源项目,已被全球超过 1500 多家公司作为核心大数据分析平台使用,点击「阅读原文」即可了解更多 Kyligence 客户案例。

Kyligence 通过 AI 增强引擎从核心业务查询中识别关键特征和模式,并自动构建和管理分布式数据集市,为业务提供更可靠的指标体系,进一步缩短数据湖开发流程,释放业务自助分析潜力。Kyligence 的统一 SQL 接口及服务,能够在云端对象存储(如 AWS S3、Azure ADLS 等)、多维立方体(OLAP Cube)、高速索引及底层数据源上进行智能路由,为上层分析应用提供成本最优的高性能查询能力,以支撑商务智能(BI)分析、灵活查询和互联网级数据服务等多类应用场景。

如何避免数据湖变成数据沼泽

参考资料:

[1] An Introduction to Multidimensional Database Technology (fing.edu.uy)

[2] Multidimensional analysis - Wikipedia

关于 Kyligence

上海跬智信息技术有限公司 (Kyligence) 由 Apache Kylin 创始团队于 2016 年创办,致力于打造下一代企业级智能多维数据库,为企业简化数据湖上的多维数据分析(OLAP)。通过 AI 增强的高性能分析引擎、统一 SQL 服务接口、业务语义层等功能,Kyligence 提供成本最优的多维数据分析能力,支撑企业商务智能(BI)分析、灵活查询和互联网级数据服务等多类应用场景,助力企业构建更可靠的指标体系,释放业务自助分析潜力。

Kyligence 已服务中国、美国、欧洲及亚太的多个银行、证券、保险、制造、零售等行业客户,包括建设银行、浦发银行、招商银行、平安银行、宁波银行、太平洋保险、中国银联、上汽、Costa、UBS、MetLife 等全球知名企业,并和微软、亚马逊、华为、Tableau 等技术领导者达成全球合作伙伴关系。目前公司已经在上海、北京、深圳、厦门、武汉及美国的硅谷、纽约、西雅图等开设分公司或办事机构。

版权声明:程序员胖胖胖虎阿 发表于 2022年11月5日 下午5:16。
转载请注明:如何避免数据湖变成数据沼泽 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...