读数据工程之道:设计和构建健壮的数据系统33未来

news/2024/11/13 7:57:05/文章来源:https://www.cnblogs.com/lying7/p/18536037

1. 未来

1.1. 运营的优先级和最佳实践与技术可能会改变,但生命周期的主要阶段会在许多年内保持不变

1.2. 随着组织以新的方式利用数据,将需要新的基础、系统和工作流来满足这些需求

1.3. 如果工具变得更容易使用,数据工程师就会向价值链上游移动,专注于更高级别的工作

1.4. 数据工程生命周期不会很快消失

1.5. 简化的、易用的工具继续降低着数据工程师的准入门槛

1.6. 大数据相关技术总会青出于蓝

  • 1.6.1. 谷歌BigQuery是GFS和MapReduce的后裔,可以查询PB级的数据

  • 1.6.2. 云的出现导致开源工具的使用产生重大转折

  • 1.6.3. 云托管的开源工具与云专有的服务一样容易使用

  • 1.6.3.1. 有高度专业化需求的公司也可以部署云托管的开源,然后如果它们需要定制底层代码,再转向到自管理的开源工具

1.7. 现成的数据连接器越来越受欢迎

  • 1.7.1. 新一代的托管连接器是非常引人注目的,即使对专精于此的工程师来说也是如此,因为他们开始认识到这种工具可以节省时间和精力

1.8. 技术趋势不仅是由那些造轮子的人决定的,也是由那些用好轮子的人决定的

  • 1.8.1. 有效地使用工具与创造工具同样重要

  • 1.8.2. 下一步可以找机会应用实时技术、改善用户体验、创造价值,并定义全新的应用程序类型

2. 云数据操作系统及其高互通性

2.1. 类似操作系统服务,但规模要更大,在许多机器上运行而不是单一的服务器

2.2. 云数据操作系统这一概念的进化的下一个前沿将在更高层级发展

2.3. 新一代文件格式(如Parquet和Avro)已经开始用于云数据交换,大大改善了CSV互操作性和原生JSON的性能

2.4. 数据API生态系统的另一个关键部分是包括了模式和数据层级的元数据目录,目前普遍使用的是传统的Hive Metastore

  • 2.4.1. 元数据将在数据互操作性方面发挥关键作用,包括跨应用程序和系统以及跨云和网络,并推动自动化和简化

2.5. 管理云数据服务的脚手架也会有重大改进

  • 2.5.1. Apache Airflow已经成为第一个真正面向云的数据任务编排平台

  • 2.5.2. 下一代的数据编排平台将以增强数据集成和数据可感知性为特征

  • 2.5.2.1. 任务编排平台将与数据目录和数据血缘集成,数据可感知性因此会极大增强

2.6. 流管道和数据库能够获取和查询流数据

  • 2.6.1. Apache Pulsar这样的工具为指明了未来,即流式DAG可以用相对简单的代码来部署复杂的转换

2.7. 更复杂的移动操作系统沙盘框架并没有淘汰移动应用程序开发人员

  • 2.7.1. 移动应用程序开发人员现在可以专注于构建质量更好、更复杂的应用程序

2.8. 云数据操作系统范式提高了各种应用程序和系统的互操作性和简易性

3. “企业级”数据工程

3.1. 数据工具的日益简化和最佳实践的流传意味着数据工程将变得更加“企业级”

3.2. 曾经只给巨型组织使用的技术和实践正在向下游渗透

3.3. 大数据和流数据曾经的困难部分现在已经被抽象化,重点转移到了易用性、互操作性和其他改进上

4. 数据工程师的头衔和职责将发生的变化

4.1. 许多数据科学家是通过一个有机的过程转变为数据工程师的

4.2. 这类跨角色但专注于机器学习的新工程师将了解算法、机器学习技术、模型优化、模型监控和数据监控

4.3. 主要任务将是创建或利用自动训练模型的系统、监控性能,并将众所周知的模型类型变为整套可运作的机器学习流程

4.4. 可能改变的职位发生在软件工程和数据工程的交叉点上

  • 4.4.1. 软件工程师将需要对数据工程有更深入的了解,学习如流处理、数据管道、数据建模和数据质量等方面的专业知识

5. 迈向实时数据栈

5.1. 现代数据栈(Modern Data Stack,MDS)并不那么现代

  • 5.1.1. MDS基本上是现代云和SaaS技术对旧数据仓库实践的重新包装

  • 5.1.2. MDS是围绕云数据仓库范式建立的,因此它与下一代实时数据应用程序的潜力相比有一些严重的限制

  • 5.1.3. 现实的需求正在超越基于数据仓库的内部分析和数据科学,需要用下一代实时数据库为整个企业和应用程序提供实时支持

  • 5.1.4. MDS将自己限制在视数据为有界的批处理技术上

5.2. 目前大多数看板和报表在回答“是什么”和“什么时间”

  • 5.2.1. 如果直接知道怎么做了,为什么还要再看报表呢?

  • 5.2.1.1. “做什么”就可以自动化了

5.3. 真正的实时数据应用程序,在点击按钮时提供所需要的行动,同时在幕后进行极其复杂但快速的数据处理和机器学习

  • 5.3.1. ELT、云数据仓库和SaaS数据管道的抽象无疑改变了许多公司的游戏规则,为BI、分析和数据科学开辟了新的力量

5.4. 实时技术的民主化将引导我们走向MDS的续集:实时数据栈的上市和普及

  • 5.4.1. 将通过流技术将实时分析和机器学习融合到应用程序中,涵盖从应用程序源系统到数据处理再到机器学习的整个数据生命周期,循环往复

  • 5.4.2. 将企业内部的数据仓库和管道技术带给大众一样,实时数据栈将精英科技公司使用的实时数据应用程序技术作为易于使用的云产品提供给各种规模的公司

5.5. 实时数据应用程序将数据视为无界的、连续的流

  • 5.5.1. 流式管道和实时分析数据库作为两个核心技术,将促进MDS到实时数据栈的转变

  • 5.5.2. 流数据将用其更多业务用途证明这种预期

  • 5.5.3. 流式传输将从根本上改变组织技术和业务流程

5.6. 实时分析数据库可以实现对这些数据的快速获取和亚秒级的查询

  • 5.6.1. 数据可以被扩充或与历史数据集相结合

  • 5.6.2. 当与流式管道和自动化相结合时,或者与实时分析的仪表板结合时,一个全新的可能性就出现了

  • 5.6.2.1. 将不再受制于运行缓慢的ELT流程、间隔15分钟的更新,或其他要等待的环节,数据变成了连续流动的

5.7. 随着流式获取变得越来越普遍,批量获取将越来越少

  • 5.7.1. 将从ELT(也就是数据库内转换)转变为更像ETL的东西

  • 5.7.2. 在流的语境下数据抽取是一个持续的、连续的过程

  • 5.7.3. 批量转换不会完全消失

  • 5.7.3.1. 批处理对于模型训练、季度报表等仍将非常有用

  • 5.7.4. 流式转换将成为常态

5.8. 数据仓库和数据湖对于容纳大量的数据和执行点对点查询是很好的,但它们对于低延迟的数据获取或对快速传输的数据的查询却没有那么好的优化

5.9. 实时数据栈将由专门为流而设计的OLAP数据库驱动

  • 5.9.1. 像Druid、ClickHouse、Rockset和Firebolt这样的数据库在为下一代数据应用的后端赋能方面处于领先地位

5.10. ⑩数据与应用程序的融合

  • 5.10.1. 应用程序栈将成为数据栈,反之亦然

  • 5.10.2. 应用程序将集成实时自动化和决策,由流式管道和机器学习驱动

  • 5.10.3. 数据工程生命周期不一定会改变,但生命周期各阶段之间的时间将大幅缩短

5.11. ⑾应用程序和机器学习之间的紧密反馈循环

  • 5.11.1. 应用程序和机器学习的融合

  • 5.11.2. 当下,应用程序和机器学习是不相干的系统,就像应用程序和分析那样是分离开的

  • 5.11.2.1. 软件工程师、数据科学家和机器学习工程师相互独立工作

  • 5.11.3. 机器学习非常适用于那些数据生成的速度和数量惊人到无法手动处理的场景

  • 5.11.4. 随着数据规模和速度的增长,机器学习会变得适用于所有场景

  • 5.11.5. 大量快速移动的数据,加上复杂的工作流和步骤,能让机器学习一展身手

  • 5.11.6. 随着数据反馈回路的缩短,我们预计大多数应用程序都能集成机器学习

  • 5.11.6.1. 随着数据的快速移动,应用程序和机器学习之间的反馈循环将变得紧密

  • 5.11.6.2. 实时数据栈中的应用程序应当是智能的,并能够实时适应数据的变化

5.12. ⑿电子表格

  • 5.12.1. 电子表格的用户群在7亿~20亿人之间

  • 5.12.2. 电子表格是数据世界的“暗物质”​

  • 5.12.3. 大量的数据分析都是在电子表格中运行的,从不属于我们在本书中描述的复杂的数据系统

  • 5.12.4. 电子表格是一种支持复杂分析的交互式数据应用程序

  • 5.12.5. 与pandas(Python数据分析库)等纯粹的基于代码的工具不同,电子表格可以被各种用户使用,从那些只知道如何打开文件和看报表的用户到可以编写复杂的程序性数据处理的高级用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/830429.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干货分享:开启PWM调光之门,一起来做呼吸灯

PWM作为一种灵活且高效的信号调制手段,在电气设备的性能控制和调节中发挥着重要作用,常用于电机控制、灯光调光、音频信号生成、加热控制等应用。 本文将以合宙低功耗4G模组经典型号——Air780E为例,展示PWM(脉冲宽度调制)输出呼吸灯的实现方法,帮助大家深入理解如何在项…

干货分享:Air780E软件指南:字符串处理

一、Lua字符串介绍关于字符串,Lua提供了一些灵活且强大的功能,一些入门知识如下: 1.1 字符串定义 在Lua中,字符串可以用单引号或双引号"来定义。例如: localstr1=Hello,World! localstr2="Hello,Lua!" 1.2 字符串长度 可以使用#操作符获取字符串的长度。例…

干货分享:通用加解密函数(crypto),Air780E篇

一、加解密概述加解密算法是保证数据安全的基础技术,无论是在数据传输、存储,还是用户身份验证中,都起着至关重要的作用.随着互联网的发展和信息安全威胁的增加,了解并掌握常用的加解密算法已经成为开发者和安全从业者的必修课. 常见的15种加密解密算法分别是:散列哈希[MD…

Docker仓库之Harbor企业级镜像仓库的搭建与使用

本章将和大家分享Docker仓库之Harbor企业级镜像仓库的搭建与使用。本章将和大家分享Docker仓库之Harbor企业级镜像仓库的搭建与使用。废话不多说,下面我们直接进入主题。 一、企业最爱:Harbor企业级镜像仓库 Harbor是VMware公司开源的一个企业级Docker Registry项目,项目地址…

面试:什么是死锁,如何避免或解决死锁;MySQL中的死锁现象,MySQL死锁如何解决

面试:什么是死锁,死锁产生的四个必要条件,如何避免或解决死锁;数据库锁,锁分类,控制事务;MySQL中的死锁现象,MySQL死锁如何解决文章目录 前言 一、死锁1.1 什么是死锁 1.2 死锁产生的四个必要条件 1.3 模拟产生死锁的代码 1.4 死锁的产生原因二、如何避免或解决死锁2.1…

23. 使用MySQL之使用存储过程

1. 存储过程 迄今为止,使用的大多数SQL语句都是针对一个或多个表的单条语句。并非所有操作都这么简单,经常会有一个完整的操作需要多条语句才能完成。 例如,考虑以下的情形。为了处理订单,需要核对以保证库存中有相应的物品。如果库存有物品,这些物品需要预定以便不将它们…

【java开发】 Java 打包方式总结

前言 由于笔者之前也一直在使用 IDEA, Maven 等成熟工具|框架的打包方式, 也没有仔细研究过这个 JAR 包打包之中的细节, 网上公开的视频也没有找到, 但文章倒挺多的, 那周六日就简单看一下吧, 将这些打包方式都整理整理. 本篇文章彻底理解 Maven & IDEA & 原生的打包方…

分享一套基于thinkphp开发的小说内容管理系统源码,附安装教程,100%开源。

小说内容管理系统系统介绍小说内容管理系统是一套用于快速构建小说发布与阅读的小说内容管理平台。使用小说内容管理系统可以快速搭建一个完整的小说阅读网站,节省开发时间和成本。 小说内容管理系统是一套基于ThinkPHP6 + MySql + Layui + BUI 开发的小说行业内容管理系统。 …

【数据库】Cassandra的安装及基本操作

Cassandra 数据库安装 官方文档 安装环境Ubuntu 22.04.5LTS Cassandra 4.0.14 JDK 11操作步骤下载安装包curl -OL https://dlcdn.apache.org/cassandra/4.0.14/apache-cassandra-4.0.14-bin.tar.gz解压操作解压tar -zxvf ./apache-cassandra-4.0.14-bin.tar.gz运行数据库,该步…

【数据库】GeoMesa的安装及基本操作

GeoMesa-Cassandra 安装 官方文档_安装 GeoMesa Cassandra 安装环境Ubuntu 22.04.5 LTS Cassandra 3.11.16 JDK 11 geomesa-cassandra_2.12-5.1.0操作步骤下载 bin文件 wget https://github.com/locationtech/geomesa/releases/download/geomesa-5.1.0/geomesa-cassandra_2.12-…

【数据库】GeoServer的安装及基本操作

GeoServer 安装 参考: WSL-Ubuntu22.04 安装Geoserver流程 方式一:采用Tomcat的方式安装GeoServer 下载curl -OL https://sourceforge.net/projects/geoserver/files/GeoServer/2.26.0/geoserver-2.26.0-war.ziphttp://localhost:8080/http://localhost:8080/geoserver/方式二…

【java开发】 java web的Filter(过滤器),Interceptor(拦截器) 和 Aspect(切面)

“ 在Java Web开发中,始终离不开Filter,Interceptor,Aspect三个部分,本文将对此进行介绍。” Filter 是servlet层面的,由Servlet容器(如Tomcat)支持,只能在web程序中使用,实现了javax.servlet.Filter接口 Interceptor 是Spring Web层面的(Structs也有), 它是由Spring容器…