东方银行--用 MinIO 和 Dremio 替代 Hadoop

2024-08-24 07:12

本文主要是介绍东方银行--用 MinIO 和 Dremio 替代 Hadoop,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们的客户是一家总部位于日本的全球金融机构,最近与MinIO和Dremio一起完成了一个雄心勃勃的Hadoop替换项目。你可以在Subsurface的这个演讲中看到他们介绍它,但我们认为我们也会把它写下来。与大多数银行一样,该公司已经建立了大量的Hadoop足迹,以支持其分析和风险管理工作负载。与其他所有银行一样,在不断增加的数据量和更密集的查询负载下,传统架构开始破裂。此外,频繁的系统中断影响了银行满足严格的 SLA 和监管要求的能力。为了解决这些挑战,该银行启动了一项全面的现代化计划,其核心是采用 Dremio 针对云数据湖优化的高性能 SQL 查询引擎。为了补充 Dremio 的计算能力,该银行选择了 MinIO 的企业级对象存储。MinIO 专为分析和 AI 工作负载而设计,可提供可扩展且有弹性的数据基础,以满足银行激增的分析需求。对于旨在实现下一代数据驱动型洞察的组织来说,他们的成功凸显了 MinIO 的战略部署如何克服分析限制并释放新的潜力。让我们深入了解一下可以从这个成功故事中吸取的一些教训。

第 1 课:识别遗留系统何时阻碍您

在这家金融机构的现代化之旅中,一个关键的里程碑是认识到其基于Hadoop的架构日益增长的局限性。Hadoop 专为批处理而设计,难以提供现代工作负载所需的实时性能和可扩展性。频繁的稳定性问题和停机困扰着运营。管理Hadoop的复杂性也阻碍了创新,使得追求新的计划变得困难。最重要的是,该银行意识到Hadoop无法经济高效地进行扩展以满足未来的数据增长。像Hadoop这样的遗留系统不是为了利用云或处理JSON和Avro等新数据类型而构建的。将其未来与Hadoop联系在一起意味着限制业务敏捷性和分析能力。

最佳实践

组织应定期评估现有数据基础设施是否仍满足当前和预计的需求。工作负载性能、可扩展性上限、运营开销和创新就绪性是关键的评估标准。尽管最初已经足够了,但遗留系统通常难以支持现代分析需求。及早认识到这些局限性对于在数据架构阻碍竞争力之前实现数据架构转型至关重要。定期审查可确保系统不断发展并符合组织需求。

第 2 课:采用云原生方法实现灵活性和可扩展性

为了实现数据架构的现代化,该银行巧妙地采用了以 Kubernetes 为中心的云原生技术,以实现编排和容器化。这种基于微服务的方法提供了更高的自动化程度,简化了基础设施管理。Kubernetes 的动态资源分配和自动扩展还实现了无缝可扩展性,以处理棘手的工作负载。至关重要的是,Kubernetes 支持跨本地和多云环境的可移植部署。通过集成 Dremio 和 MinIO 等云原生技术,该银行获得了一致的界面,可以在任何地方查询数据。这种支持混合云和多云的分析平台确保了未来的灵活性,并降低了供应商锁定风险。

最佳实践

云原生方法可提高可扩展性,同时抽象出底层基础设施的复杂性。跨环境的可移植性使分析投资经得起未来考验。通过将功能封装到 Kubernetes 编排的模块化微服务中,可以降低复杂性,同时提高运营效率。优先考虑云原生功能和标准合规性,可以跨管道和工作负载解锁数据敏捷性。

第 3 课:为分析工作负载选择专用存储

通用存储系统无法充分发挥现代分析引擎(如 Dremio)的性能潜力。通过选择 MinIO 专门构建的对象存储,该银行确保存储永远不会成为瓶颈。MinIO 的纠删码策略、bitrot 保护和并行化架构专为处理高负载的即席 SQL 查询而设计。这些优化防止了存储阻碍要求苛刻的分析工作负载。通过将 MinIO 的快速对象存储与 Dremio 的加速查询引擎相结合,该银行建立了一流的分析堆栈。总之,这些技术通过减少不必要的数据移动和 I/O 来最大程度地减少查询延迟。该银行没有满足于通用存储,而是选择了一个专为密集分析而设计的系统。Dremio 和 MinIO 的这种战略性配对实现了 PB 级的无与伦比的性能。

最佳实践

评估存储时,请仔细分析针对目标工作负载优化的体系结构属性。对于要求苛刻的分析用例,MinIO 的专用设计可提供出色的性能。

第 4 课:通过战略性数据本地化最大限度地提高性能

为了优化查询性能,该银行战略性地在同一台物理服务器上部署了 Dremio 和 MinIO。这种拓扑最大限度地提高了查询引擎和存储层之间的数据局部性。由于这两种技术都位于每个节点上,Dremio 可以利用 MinIO 的并行架构在本地 SSD 上实现高吞吐量。 计算不是在网络上移动数据,而是与存储的数据一起进行。MinIO 能够使可用磁盘带宽饱和,从而能够快速并行执行查询和数据扫描。同时,Dremio 的列式优化和缓存功能最大限度地减少了最常见查询的磁盘 I/O。通过最大限度地提高 MinIO 和 Dremio 之间的数据局部性,该银行最大限度地减少了网络流量和延迟。这与平台的原生加速功能一起,转化为炽热的整体性能。

最佳实践

构建 MinIO 部署,使存储在物理上靠近计算引擎,从而最大限度地提高数据局部性。这允许快速并行查询执行和缓存,以释放全部性能潜力。该银行的分析现代化之旅为旨在实现下一代数据驱动型洞察的组织提供了关键经验教训。通过采用 MinIO 的云原生对象存储,该银行克服了传统基础设施的限制,从而提高了性能、确保了弹性并解锁了新的创新。

这篇关于东方银行--用 MinIO 和 Dremio 替代 Hadoop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101799

相关文章

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

docker基于minio部署outline团队知识库

outline 介绍 Outline 是一个开源的Wiki 知识库和团队协作文档管理工具,美观、实时协作、功能丰富且兼容 Markdown,设计用于帮助团队和组织有效地创建、共享和管理文档。 Outline 具有简单易用的界面和强大的功能,可以替代传统的文档管理系统,如 Google Docs 或 Confluence。Outline 提供了一种结构化的方式来组织信息,使团队成员可以快速访问和