最近数据湖非常的火,但是一旦没弄好,就会变成“数据沼泽”。如何避免“数据湖”变成“数据沼泽”呢?最好的办法就是治理先行。
本文的内容主要包括四部分:
1、数据湖背景概述,介绍腾讯数据湖的整体架构;
2、数据湖统一元数据模块的详细架构实现;
3、介绍腾讯云上元数据多租户的设计模式;
4、介绍统一元数据的两大核心能力:在线数据目录和离线数据治理的功能。
01
什么是数据湖
随着Snowflake公司股价高歌猛进和各大云厂商的推广,数据湖已成为近2、3年来大数据领域的新贵之一,而什么是数据湖,数据湖与数据仓库之间的竞争和融合,各家云厂商和数据平台都有自己的解读。
从定义来看,数据仓库是1990年由数仓之父Bill Inmon提出,是面向主题的、集成的、相对稳定的、反映历史的数据集合,为上层提供管理决策;而数据湖概念最早是2010年由Pentaho CTO James Dixon提出,是存储各类自然格式数据的系统,提供数据ETL操作。
以我的理解,数据仓库和数据湖可分别看作是分而治之和无为而治。
-
数据仓库:具有标准的数据模型和数据分层,包括ODS操作数据层,CDM通用数据模型层,ADS数据应用层,而每层又可以进行细分;数据仓库仅支持结构化数据,在写入数据文件时,必须提前定义好数据的Schema结构;数据仓库的整体数据质量较高,但随之而来的构建成本较大且仅支持特定计算引擎。
-
数据湖:无需提前设计好数据模型和数据分层,支持结构化和半结构化数据