读数据工程之道:设计和构建健壮的数据系统03数据工程生命周期(上)

读数据工程之道:设计和构建健壮的数据系统03数据工程生命周期(上).png

1. 数据工程生命周期

1.1. 数据领域正在经历新数据技术和实践的爆炸式增长,抽象程度和易用性不断提高

1.2. 由于技术抽象程度的增加,数据工程师将越来越多地成为数据生命周期工程师,根据数据生命周期管理的原则来进行思考和操作

1.3. 数据工程生命周期包括将原始数据成分转化为有用的最终产品的阶段,可供分析师、数据科学家、机器学习工程师和其他人使用

1.4. 五个阶段

  • 1.4.1. 生成

  • 1.4.2. 存储

  • 1.4.3. 获取

  • 1.4.4. 转换

  • 1.4.5. 中间阶段

    • 1.4.5.1. 可能会有点混乱
  • 1.4.6. 服务

  • 1.4.7. 生命周期的各个阶段可能会以有趣和意想不到的方式重复、无序、重叠或交织在一起

1.5. 作为基石的是横跨数据工程生命周期多阶段的底层设计

  • 1.5.1. 安全

  • 1.5.2. 数据管理

  • 1.5.3. DataOps

  • 1.5.4. 数据架构

  • 1.5.5. 编排和软件工程

  • 1.5.6. 没有这些底层设计,数据工程生命周期的任何部分都无法充分发挥作用

2. 数据生命周期

2.1. 数据工程生命周期是完整数据生命周期的一个子集

2.2. 完整的数据生命周期涵盖整个生命周期中的数据,而数据工程生命周期则侧重于数据工程师控制的阶段

3. 生成:源系统

3.1. 源系统是数据工程生命周期中使用的数据的来源

  • 3.1.1. IoT设备

  • 3.1.2. 应用程序的消息队列

  • 3.1.3. 事务数据库

3.2. 数据工程师需要对源系统的工作方式、它们生成数据的方式、数据的频率和速度以及它们生成的数据的多样性有一个工作上的理解

  • 3.2.1. 还需要与源系统所有者保持开放的沟通渠道,了解可能破坏管道和分析的更改

3.3. 数据工程的一个主要挑战是工程师必须处理和理解令人眼花缭乱的数据源阵列

3.4. 随着软件开发实践的各种现代演变,应用程序+数据库模式在今天仍然很流行

3.5. 源系统评估问题

  • 3.5.1. 数据源的本质特征是什么?

    • 3.5.1.1. 它是一个应用程序,还是一个物联网设备集群?
  • 3.5.2. 数据如何持久化在源系统中?

    • 3.5.2.1. 数据是长期保存的,还是临时的并被迅速删除?
  • 3.5.3. 数据生成的速率是多少?

    • 3.5.3.1. 每秒有多少事件?

    • 3.5.3.2. 每小时有多少数据量?

  • 3.5.4. 从输出数据中期望什么程度的一致性?

    • 3.5.4.1. 如果你对输出数据进行数据质量检查,数据不一致(数据空值、糟糕的格式等)的发生频率是多少?
  • 3.5.5. 错误发生的频率如何?

  • 3.5.6. 数据会包含重复项吗?

  • 3.5.7. 某些数据是否会延迟到达,是否会比同时生成的其他消息晚很多?

  • 3.5.8. 获取数据的模式是什么?

    • 3.5.8.1. 是否需要跨多个表甚至多个系统进行连接才能获得数据的全貌?
  • 3.5.9. 如果数据结构发生变化(例如,添加了一个新列),如何处理并传达给下游利益相关者?

  • 3.5.10. 应该多久从源系统中提取一次数据?

  • 3.5.11. 数据是否以定期快照或变更数据捕获(Change Data Capture,CDC)的更新事件提供?

    • 3.5.11.1. 执行更改的逻辑是什么?

    • 3.5.11.2. 如何在源数据库中跟踪这些更改?

  • 3.5.12. 将为下游消费传输数据的数据提供者是谁/什么?

  • 3.5.13. 从数据源读取会影响其性能吗?

  • 3.5.14. 源系统是否有上游数据依赖?

    • 3.5.14.1. 上游系统的特点是什么?
  • 3.5.15. 是否进行了检查延迟或丢失的数据的质量检查?

3.6. 数据源产生的数据供下游系统消费,包括人工生成的电子表格、物联网传感器以及网络和移动应用程序

  • 3.6.1. 每个来源都有其独特的数据生成量和节奏

  • 3.6.2. 数据工程师应该知道来源如何生成数据,包括相关的怪癖或细微差别

3.7. 源数据最具挑战性的细微差别之一是模式

  • 3.7.1. 无模式

    • 3.7.1.1. 无模式并不意味着没有模式

    • 3.7.1.2. 意味着应用程序在写入数据时定义模式,无论是写入消息队列、平面文件、blob还是文档数据库(如MongoDB)

  • 3.7.2. 固定模式

    • 3.7.2.1. 建立在关系数据库存储之上的更传统的模型使用数据库中强制执行的固定模式,应用程序写入必须符合该模式

3.8. 模式随时间变化

  • 3.8.1. 事实上,在软件开发的敏捷方法中鼓励模式演变

3.9. 在源系统模式中获取原始数据输入,并将其转换为有价值的分析输出

4. 存储

4.1. 选择存储解决方案是在数据生命周期其余部分取得成功的关键,而且出于各种原因,它也是数据生命周期中最复杂的阶段之一

  • 4.1.1. 云上的数据架构通常利用多种存储解决方案

  • 4.1.2. 很少有数据存储解决方案纯粹用作存储,许多支持复杂的转换查询,甚至对象存储解决方案也可能支持强大的查询功能

  • 4.1.3. 虽然存储是数据工程生命周期的一个阶段,但它经常涉及其他阶段,例如获取、转换和服务

4.2. 数据的存储方式会影响数据在数据工程生命周期的所有阶段中的使用方式

4.3. Apache Kafka和Pulsar等流式框架可以同时作为消息的获取、存储和查询系统,对象存储是数据传输的标准层

4.4. 评估存储系统

  • 4.4.1. 该存储解决方案是否与架构所需的写入和读取速度兼容?

  • 4.4.2. 存储是否会给下游流程造成瓶颈?

  • 4.4.3. 了解这种存储技术的工作原理吗?

    • 4.4.3.1. 你是在最佳地利用存储系统还是在做出不自然的行为?

    • 4.4.3.2. 你是否在对象存储系统中应用了高速率的随机访问更新

  • 4.4.4. 该存储系统能否处理预期的未来规模?

  • 4.4.5. 下游用户和进程是否能够在所需的服务等级协定(Service Level Agreement,SLA)中检索数据?

  • 4.4.6. 你是否正在捕获有关模式演变、数据流、数据血缘等的元数据?

  • 4.4.7. 这是一个纯存储解决方案(对象存储),还是支持复杂的查询模式(即云数据仓库)?

  • 4.4.8. 存储系统是模式不可知的(对象存储)吗?

    • 4.4.8.1. 灵活的模式(Cassandra)吗?

    • 4.4.8.2. 是强制模式(云数据仓库)吗?

  • 4.4.9. 如何跟踪主数据、黄金记录数据质量和数据血缘以进行数据治理?

  • 4.4.10. 何处理法规遵从性和数据主权?

    • 4.4.10.1. 能否将数据存储在某些地理位置而不是其他位置?

4.5. 数据访问频率

  • 4.5.1. 并非所有数据都以相同的方式访问

  • 4.5.2. 检索模式将因存储和查询的数据不同而有很大差异

  • 4.5.3. 数据访问频率将决定数据的温度

    • 4.5.3.1. 访问频率最高的数据称为热数据

      4.5.3.1.1. 热数据通常每天被检索多次,甚至每秒可能被检索几次

    • 4.5.3.2. 不冷不热的数据可能会每隔一段时间访问一次

    • 4.5.3.3. 冷数据很少被查询,适合存储在归档系统中

      4.5.3.3.1. 出于合规目的或在另一个系统发生灾难性故障的情况下,通常会保留冷数据

      4.5.3.3.2. 在“过去”,冷数据将存储在磁带上并运送到远程档案设施

      4.5.3.3.3. 在云环境中,供应商提供专门的存储层,每月存储成本非常低廉,但数据检索的价格很高

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容