登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
读数据自助服务实践指南:数据开放与洞察提效08数据湖管 ...
读数据自助服务实践指南:数据开放与洞察提效08数据湖管理服务
[ 复制链接 ]
晖顶蝇
6 天前
1. 数据湖管理服务
1.1. 数据聚合在数据湖中,数据湖已经成为聚合PB级数据的中央数据存储库,这些数据包括结构化数据、半结构化数据和非结构化数据
1.2. 痛点
1.2.1. 原始的数据生命周期任务没有自动化的API,需要工程专家来实现可重复性和回滚、提供数据服务层等
1.2.2. 需要应用程序通过其他变通方法来适应数据湖中并发读写操作缺乏一致性的问题
1.2.2.1. 增量更新效率很低
1.2.3. 无法对流式数据和批处理数据进行统一管理
1.3. 替代方案需要为批处理和流处理提供单独的处理代码路径(称为Lambda架构),或者将所有数据转换为事件(称为Kappa架构),这对于大规模管理来说并非易事
1.3.1. 由于缺乏自助服务,数据工程团队会成为数据用户在执行数据湖管理操作时的瓶颈
1.4. 理想情况下,自助式数据湖管理服务具备自动化执行原始的数据生命周期管理的能力,并提供API和策略供数据用户调用
1.4.1. 鉴于数据湖管理任务是每个数据管道的基本任务,因此自动化这些任务可以降低洞察耗时
1.5. 传统上,数据被聚集在数据仓库中,用批处理的方式进行分析
1.5.1. 数据仓库支持数据生命周期管理的需求
1.6. 在快速转换到使用数据湖时,为了支持相同的数据生命周期管理需求,需要组合使用数据存储、处理引擎以及流式和批处理
1.6.1. 数据湖管理服务的目标就是将这些任务自动化
2. 路线图
2.1. 在整个过程中,执行数据管理任务消除了数据工程师和数据用户之间的瓶颈
2.1.1. 借助数据湖管理服务,数据用户可以在授权下不受制约地执行这些任务
2.2. 基本生命周期管理
2.2.1. 当数据接入数据湖时,会在对象存储中创建一个bucket来持久化与数据关联的文件
2.2.2. bucket被添加到元数据目录中,可以被不同的处理引擎访问
2.2.3. 大数据格式的设计初衷是为了不可变性
2.2.3.1. 随着数据权限合规要求的出现,客户可以要求删除他们的数据,更新数据湖中的数据已经成为一种必然
2.2.3.2. 由于大数据格式的不可变性,删除一条记录意味着需要读取所有剩余的记录,并将它们写入一个新分区
> 2.2.3.2.1. 考虑到大数据的规模,这可能会造成巨大的开销> 2.2.3.2.2. 典型的解决方法是创建细粒度的分区,以加速数据的重写速度
复制代码
2.3. 管理数据更新
2.3.1. 数据湖没有提供与数据库ACID相同的完整性保证
2.3.2. 更新一致性的另一个方面是,鉴于最终一致性模型,写操作可能没有传播到所有副本,写后读操作有时会返回不一致的数据
2.4. 管理批处理和流式数据流
2.4.1. 传统上,洞察是回顾性的,以批处理的方式运行
2.4.2. 随着洞察变得实时和可预测,它们既需要分析正在进行的更新流,也需要分析历史数据表
3. 最小化数据湖管理耗时
3.1. 包括基本生命周期管理、数据更新的正确性,以及统一管理批处理数据和流式数据的时间
3.2. 需求
3.2.1. 命名空间管理需求
3.2.1.1. 在数据湖中,可以对数据进行逻辑分区或物理分区
3.2.1.2. 命名空间可以根据当前的工作流、数据管道流程和数据集属性组织成许多不同的区域
3.2.1.3. 大多数企业以某种形式使用这种命名空间来保证数据湖的安全性、有序性和灵活性
3.2.1.4. 青铜区
> 3.2.1.4.1. 是为从事务性数据存储中接入的原始数据服务的> 3.2.1.4.2. 是原始数据的转储地,也是长期保留地> 3.2.1.4.3. 敏感数据经过加密和标记> 3.2.1.4.4. 在此区间进行最低限度的处理,以避免破坏原始数据
复制代码
3.2.1.5. 白银区
> 3.2.1.5.1. 包含中间数据的暂存区,其中包含经过滤、清理和增强的数据> 3.2.1.5.2. 在对青铜区的数据进行数据质量验证和其他处理后,就成为该区的“真相来源”,供下游分析
复制代码
3.2.1.6. 黄金区
> 3.2.1.6.1. 包含可供使用的干净数据以及业务级聚合数据和指标> 3.2.1.6.2. 这个区代表了传统的数据仓库,处理过的输出的和标准化的数据层都存储在该区域中
复制代码
3.2.1.7. 沙盒区
> 3.2.1.7.1. 除了预先创建的命名空间之外,数据用户可能希望创建沙盒命名空间进行探索> 3.2.1.7.2. 沙盒区的治理力度最小,通常在30天后删除
复制代码
3.2.2. 数据湖中支持的数据格式
3.2.2.1. 数据格式需要平衡对格式健壮性的关注(即格式对数据损坏场景的测试情况如何)和与流行的SQL引擎和分析平台的互操作性
3.2.2.2. 健壮性的另一个重要方面是格式的简单性
> 3.2.2.2.1. 格式越复杂,序列化和反序列化驱动程序中出现错误的可能性就越高
复制代码
3.2.2.3. 空间效率
> 3.2.2.3.1. 数据的紧凑表示通常是一个优化标准> 3.2.2.3.2. 将数据表示为二进制文件的能力> 3.2.2.3.3. 压缩数据的能力
复制代码
3.2.2.4. 访问优化
> 3.2.2.4.1. 可以最大限度地减少响应应用程序查询而访问的数据量(以字节为单位)> 3.2.2.4.2. 没有什么通用的解决方案,该标准在很大程度上取决于查询的类型> 3.2.2.4.3. 访问优化的另一个方面是拆分文件进行并行执行的能力
复制代码
3.2.2.5. 文本文件
> 3.2.2.5.1. 最古老的格式之一,虽然它是人类可读的和可互操作的,但在空间效率和访问优化方面效率较低
复制代码
3.2.2.6. CSV/TSV
> 3.2.2.6.1. 格式有局限性,二进制表示和访问效率低> 3.2.2.6.2. 使用这些格式表达复杂的数据结构也很困难
复制代码
3.2.2.7. JSON
> 3.2.2.7.1. 对于应用程序开发人员来说,这是最有表现力和最通用的格式之一> 3.2.2.7.2. 在空间效率和访问优化方面没有优势
复制代码
3.2.2.8. SequenceFile
> 3.2.2.8.1. 是Hadoop中最古老的文件格式之一> 3.2.2.8.2. 数据用键-值对表示,在Java是通过写接口访问Hadoop的唯一方式时,它很受欢迎> 3.2.2.8.3. 最大的问题是互操作性差,且没有一个通用的定义
复制代码
3.2.2.9. Avro
> 3.2.2.9.1. 类似于SequenceFile,不同之处是它的模式存储在文件头中> 3.2.2.9.2. 该格式具有表现力和互操作性,但是二进制表示有开销,并不是最优化的> 3.2.2.9.3. 非常适合通用的工作场景
复制代码
3.2.2.10. ORCFile
> 3.2.2.10.1. 是一种面向列的格式,在高端商业数据库中使用> 3.2.2.10.2. 被认为是RCFile格式的继承者 > 3.2.2.10.2.1. RCFile格式在将数据作为字符串存储时效率很低> 3.2.2.10.3. ORCFile支持Hortonworks,主要包括谓词下推(Push Predicate Down,PPD)和压缩优化
复制代码
3.2.2.11. Parquet
> 3.2.2.11.1. 与ORCFile类似,并得到了Cloudera的支持> 3.2.2.11.2. 实现了谷歌Dremel论文中的优化
复制代码
3.2.2.12. 虽然压缩技术在很大程度上与编码无关,但重要的是要区分主要依赖于单个值的列式压缩技术(如标记化、前缀压缩等),以及依赖于值序列的压缩技术(如运行长度编码(RLE)和增量压缩)
3.2.3. 数据服务层的类型
3.2.3.1. 数据湖中的数据可以是结构化的、半结构化的和非结构化的
3.2.3.2. 半结构化数据有不同的数据模型,如键-值、图、文档等
> 3.2.3.2.1. 根据数据模型的不同,应该使用合适的数据存储来实现最佳性能和扩展
复制代码
3.2.3.3. 键-值数据模型
> 3.2.3.3.1. 最简单的数据模型> 3.2.3.3.2. 应用程序将任意数据存储为一组值或blob> 3.2.3.3.3. 存储的值是不透明的—任何模式的解释都必须由应用程序进行> 3.2.3.3.4. 键-值存储只是按键检索或存储值> 3.2.3.3.5. 主流的实现主要有Riak、Redis、Memcache、Hazelcast、Aerospike和AWS DynamoDB
复制代码
3.2.3.4. 宽-列数据模型
> 3.2.3.4.1. 类似于关系型数据库,宽-列数据库将数据组织成行和列> 3.2.3.4.2. 逻辑上相关的列被分成一组,称为列族> 3.2.3.4.3. 主流的实现主要包括Cassandra、HBase、Hypertable、Accumulo和Google Bigtable
复制代码
3.2.3.5. 文档数据模型
> 3.2.3.5.1. 文档中的字段可以通过使用这些字段中的值来查询和过滤数据> 3.2.3.5.2. 单个文档可能包含的信息分布在RDBMS中的多个关系表中> 3.2.3.5.3. MongoDB和其他实现支持原地更新,使应用程序能够修改文档中特定字段的值,而无须重写整个文档> 3.2.3.5.4. 对单个文档中多个字段的读和写操作是原子的> 3.2.3.5.5. 主流的实现主要包括MongoDB、AWS DynamoDB(有限功能)、Couchbase、CouchDB和Azure Cosmos DB
复制代码
3.2.3.6. 图数据模型
> 3.2.3.6.1. 图数据库存储两种类型的信息:节点和边> 3.2.3.6.2. 节点是实体,边指定节点之间的关系,且有方向> 3.2.3.6.3. 节点和边都可以包含有关该节点或边的信息的属性,类似于表中的列> 3.2.3.6.4. 主流的实现包括Neo4j、OrientDB、Azure Cosmos DB、Giraph和Amazon Neptune
复制代码
4. 实现模式
4.1. 数据生命周期基本模式
4.1.1. 简化基本操作以及增量数据更新
4.1.2. 目标是让数据用户能够通过策略和API执行基本操作
4.1.3. 包括创建命名空间、在数据服务层中存储数据、创建分区、创建审计规则、处理模式演变和数据版本控制等的策略
4.1.4. 模式演变
4.1.4.1. 目标是自动管理模式变更,使下游的分析不受变更的影响
4.1.4.2. 希望针对不断演变的模式重用现有的查询,并避免在查询过程中出现模式不匹配错误
4.1.4.3. 模式演变是关于数据格式、模式变更类型和底层查询引擎的函数
4.1.4.4. Parquet和ORC是列式数据存储格式,可以通过索引或名称读取
4.1.5. 数据版本控制
4.1.5.1. 目标是实现时间旅行功能—用户可以在特定的时间点查询数据
4.1.5.2. 对于模型训练重现、回滚和审计等场景是必需的
4.1.6. 增量更新
4.1.6.1. 目标是优化数据湖中的增量更新
4.1.6.2. 该模式的一个开源实现是Hudi(Hadoop upsert delete and incremental)
4.1.6.3. 在每次压缩迭代中,因为重写Parquet文件的成本没有分摊到文件的每次更新上,所以具有最大日志文件的文件优先被压缩,而较小的日志文件最后被压缩
4.2. 事务模式
4.2.1. 在数据湖更新中支持ACID事务
4.2.2. 专注于在数据湖上实现ACID(原子性、一致性、隔离性、持久性)事务
4.2.3. 该模式有几个实现,即Delta Lake、Iceberg和Apache ORC(在Hive 3.x中)。
4.3. 高级数据管理模式
4.3.1. 统一流式和批处理数据流
4.3.2. 将流式事件数据组合到一个现有表中
4.3.3. 传统上,批处理分析和流式分析是分开处理的,因为在数据湖中缺失基本功能模块
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
如何优雅上线、下线?原来 大厂应用 是这样 优雅发布的!
在 .NET 中将 EF Core 升级到 9.0.5 MySQL 连接提示 get_LockReleaseBehavior
开源情报中批判性思维因人工智能而逐渐衰落
sshd服务
AppFreeze与资源泄漏能力开放及常见问题定位方法介绍
人工智能将如何影响语言的演变?
HarmonyOS 5.0 分布式数据协同与跨设备同步
【UAP】使用 .NET Core App 编写 UAP
微软又退出中国。。。
不是哥们,26 岁程序员,去种头发了?
Datawhale速通百炼RAG应用-Task1
【一步步开发AI运动APP】一、写在最前
记录---前端图像五兄弟:网络 URL、Base64、Blob、ArrayBuffer、本地路径,全整明白!
在Ubuntu中部署.NET 8 Minimal WebAPI项目
MOSN(Modular Open Smart Network)是一款主要使用 Go 语言开发的云原生网络代理平台
JavaScript基础
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
并发编程--下篇
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
晖顶蝇
6 天前
关注
0
粉丝关注
6
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9994
谭皎洁
9998
斜素欣
9996
4
喝岖
9996
5
森萌黠
9996
6
堵赫然
9996
7
凶契帽
9996
8
季卓然
9996
9
柴古香
9996
10
玲液
9996
查看更多