首页/新闻资讯/正文详情

一条 AI 管线靠 S3 Tables 省了 40% 基础设施成本,自建侧把这三笔账算明白

发布时间:2026/11/11 1:09:23 来源:云帆数科 栏目:资讯中心
一条 AI 管线靠 S3 Tables 省了 40% 基础设施成本,自建侧把这三笔账算明白
事情是这样的。前两天我在 AWS 的官方博客上刷到一个案例看完第一反应是不信。Seltz一家给 AI agent 做网络搜索的公司它的 Knowledge Pipeline 处理几十亿份文档每个数据加工阶段都要写出几百万个小文件换到 Amazon S3 Tables 之后基础设施成本省了 40%。40%。一个存储行业的老兵看到这个数字心里会同时冒出两句话一句是卧槽一句是真的假的。但这次我倾向于信。因为这个数字的口径写得特别老实AWS 原文写的是相比自管管线省 40% 基础设施成本并且专门补了一句不含工程人力。行业里太多降本故事靠把人力成本藏起来凑数能把边界主动讲清楚的反而更像真的。信归信我心里还有个更大的疑问。Seltz 是托管用户它付钱让 AWS 替它管账本。那同样是这三笔开销落到我们这种自建侧的工程师头上长什么样到底贵在哪省下来到底是什么东西。文档给不了这个手感。所以我自己跑了一遍。先交代环境数字能信几成你自己判断。我在自己电脑上起了一个 RustFS 1.0.4 单机实例Windows 本地盘客户端走 localhost引擎用的 PyIceberg 0.11.1连 RustFS 内置的 Iceberg REST 目录。RustFS 是一个 Apache 2.0 协议的 S3 兼容对象存储兼容到 S3 Tables 这种控制面 API 都能对上这也是我能把这套东西搬回家跑的原因。然后我把同一份 100 万行的数据写成了两张表。表 A 模拟 Seltz 那种 AI 管线的真实节奏200 次追加每次只写 5 千行攒出 100 万行大约 5.3 MB 的 Parquet。表 B 图省事同样的 100 万行一次写完做对照。一个缩比声明放在前面Seltz 是几百万文件的量级我这里只有 200 个税的形状是一样的税额别直接换算。写完打开桶一看第一笔账就来了。表 A600 个对象。表 B3 个。我当时就愣了一下数据明明一模一样对象数差了 200 倍。拆开看更难受表 A 的 600 个里200 个是数据文件另外 400 个全是元数据。Iceberg 每提交一次追加就会在桶里落一对 manifest 和 manifest-list200 次写入就是 400 个元数据对象一共 2.1 MB。表 A 的数据文件才 5.3 MB账本抄出了数据本身 39% 的体积。你存的每一个小文件都在元数据层再抄一遍账。这就是第一笔小文件税的数据层。本来看到这就想写结论了结果扫描的数字告诉我这才收了一半。全表扫描这 100 万行表 A 三次实测 1.74 到 1.85 秒表 B 稳定在 0.125 秒左右。14.6 倍。每个数据文件一次 S3 GET 的开销就是这 14.6 倍的主体好理解。真正让我坐直的是过滤扫描。我取 id 在最后一段的 1 万行按 Iceberg 的设计文件裁剪靠 Parquet 统计信息跳过无关文件200 个文件应该裁到只剩两三个扫起来应该飞快。裁剪确实生效了真的只剩 2 个文件实测 0.796 秒。表 B 同样条件0.131 秒。还是差 6 倍。多出来的时间花在哪我盯着火焰图想了一会儿才想明白裁剪这个动作本身要先读几百个元数据对象做引用分析。账本太厚翻账本就要半天。所以小文件税收两层第一层是数据文件的 GET 次数第二层是每次扫描前都要付的元数据读放大。AWS 案例里托管 compaction 为什么值钱因为它合并的不只是数据文件还有你后面每一次扫描都要背的那本厚账。写到这你可能会想那我把写入合并成大批量不就完了。朋友真实世界的 AI 管线做不到Seltz 的每一个加工阶段就是会产生几百万次小写入这是业务形状不是谁手滑。所以问题变成账本已经厚了怎么办。第三笔账在提交上。表 A 的 200 次追加总共跑了 198 秒单次提交 p50 是 0.97 秒最慢 2.2 秒。这个时间花在哪的每次只有几百 KB 的 Parquet写盘根本用不了一秒。它花在 Iceberg 的提交协议上每次追加都要校验基准元数据写新的 manifest然后原子更新元数据指针。两个客户端同时提交的时候后到的那个必须重读元数据解决冲突。高频小批写入的真正单价是每次约 1 秒的元数据提交不是数据本身。这 1 秒攒出来的另一个东西叫快照。200 次追加后表 A 攒了 200 个快照、402 个元数据文件。这时候我调服务端的维护端点做一次 dry-run 规划想看看能回收多少。结果等我的不是报告是等待。表 B 那边1 个快照 3 个对象0.14 秒返回。表 A 这边629.8 秒十多分钟。后面的删除计划更夸张1404 秒。维护规划要读所有快照的引用关系快照拖得越多它自己越慢。这是个会滚雪球的债越不维护越维护不动。我盯着那十几分钟的进度条突然就理解了托管侧那句话快照过期是自动的。自动的意思是有人在你看不见的地方替你还这笔债。终于等到规划结果。402 个元数据文件里200 个是删除候选保留的 202 个是当前快照还引用着的200 个数据文件零候选判定都是对的。接着真删DELETE 作业报告回来deleted_metadata_file_count 200。删干净了对吧。我顺手 list 了一下桶。600 个对象一个没少。去翻服务端日志本机 Windows 后台清理任务在报 OS 权限错误error 5物理删除根本没落地。报告说删了 200 个桶里真真切切一个都没动。这一下给我整不会了缓了半天只能接受这个事实作业报告说了删不等于桶里真没了复核只能靠自己的 list。当然要公平地说一句这是 Windows 本地盘的表现Linux 生产部署上是不是同样得单独验过才知道我这边只敢说实测如此。账三我原本没计划是被前两笔账逼出来的。既然报告不可全信我就想试试更脏的场景作业写崩留下的孤立文件。往表 B 的数据前缀直接塞了 3 个大约 3 MB 的 Parquet 残件共 8.9 MB然后调维护。这回维护的反应快得很即时把这 3 个识别成了清理候选cleanup_candidate_object_count 3。识别到了然后呢deletable_object_count 0一个没删。拦着它的是安全窗口。刚写进来的对象一律不动防止把还在途的写入误判成垃圾删掉。这个设计我认真删了你哭都来不及。但代价就是回收要等窗口过了再跑一次维护而维护多快你已经在上面看到了。再加上官方文档明确写了一条普通桶的生命周期过期规则对表桶直接禁用因为生命周期策略不认识 Iceberg 的引用关系删到当前快照还引用着的文件表就废了。写到这里三笔账就都对上了。对完我回头看 Seltz 那 40%突然觉得这个数字没那么神奇了。它省的不是硬盘的钱。数据躺在盘上的成本托管和自建差不了太多。它省的是三件事的自动化小文件合并不用你排程快照过期不用你还债孤立清理不用你复核外加一本不用你自己管的账本Iceberg REST 目录做进了存储内核控制面和数据面共用 9000 端口单独的 catalog 服务进程和它的元数据库直接省掉。而自建侧这三件事全是显式维护操作默认关闭没有内置定时什么时候跑、跑多勤是你的运维排程问题。账二已经说明了跑多勤有讲究快照积压会拖慢维护本身高频小批写入的表维护排程要跟着写入节奏走。想自己跑一遍验证的核心就三步。建桶并启用表桶curl 要 7.76 以上才支持--aws-sigv4exportAWS_ACCESS_KEY_IDyour-access-keyexportAWS_SECRET_ACCESS_KEYyour-secret-keyexportAWS_DEFAULT_REGIONus-east-1aws --endpoint-urlhttp://localhost:9000s3api create-bucket--bucketmy-bucketcurl--fail-with-body--silent--show-error\--aws-sigv4aws:amz:us-east-1:s3\--user$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\--requestPUThttp://localhost:9000/iceberg/v1/buckets/my-bucketPyIceberg 连 REST 目录的时候warehouse填桶名不是 S3 URIREST 签名和 S3 文件访问的凭证要分开配两套。有个坑我踩了提前说PyIceberg 0.11.1 带 JSON body 的请求建 namespace、提交这类会被服务端以缺少x-amz-content-sha256头拒绝因为它的 SigV4 适配器只给空 body 设了这个头得在 botocore 的SigV4Auth.add_auth前把请求体的 SHA256 补进头里再签名。计算引擎侧把 catalog 指到/iceberg就行Spark 的最小配置长这样spark.sql.catalog.demo org.apache.iceberg.spark.SparkCatalog spark.sql.catalog.demo.type rest spark.sql.catalog.demo.uri http://localhost:9000/iceberg spark.sql.catalog.demo.warehouse my-bucket spark.sql.catalog.demo.rest.sigv4-enabled true spark.sql.catalog.demo.rest.signing-name s3能力边界也交代清楚支持 Iceberg 格式 v1 和 v2默认 v2暂存式建表、删表时清除数据和格式 v3 不在支持范围没有 SQL 执行引擎查询靠 Spark、DuckDB、Trino 这些引擎接 catalogSeltz 的用法就是这个形态事务范围限于单表也不声明完整兼容 AWS S3 Tables 控制面。细节在 docs.rustfs.com 的 S3 Tables 文档PyIceberg 实操有官方的 PyIceberg 集成教程Seltz 案例原文在 AWS Storage Blog。最后把不成熟的经验掏出来1、高频小批写入的表把维护排程当写入链路的一部分追加多勤维护就得多勤快照债会拖慢维护本身。2、每次维护后自己 list 桶复核回收量报告计数和磁盘状态要分开看我的 200 就是这么露馅的。3、别拿生命周期策略清理表桶会被跳过也别想着绕过安全窗口它是防误删的最后一道闸。4、读密集场景给表留 compaction 窗口14.6 倍的扫描差距是这篇实测里最直接的性能账。一开始我也不知道跑这些能不能跑出什么名堂反正实验数据都在你复现的时候数字跟我差个百分之十几都很正常比值和对象数的变化才是能信的部分。回到开头那个 40%。算完这三笔账我反而觉得这个数字诚实得很。它从头到尾没说省的是硬盘它省的是那本你不用再自己翻的账。做自建的朋友都懂真正把人耗住的从来不是存数据是存数据这件事衍生出来的那一堆账本元数据、快照、引用关系、回收窗口每一本都得有人翻。Seltz 们把钱交给 AWS 翻。我们至少可以先把账看明白。以上实验的脚本和全部原始数据都在我的仓库里复现遇到坑欢迎来聊。

相关推荐

大模型开发必看:轻松掌握MCP协议,让AI应用如虎添翼!
大模型开发必看:轻松掌握MCP协议,让AI应用如虎添翼!

MCP(模型上下文协议)是一套让AI应用以统一方式发现、读取和调用外部能力的开放协议。它解决了外部能力接入AI应用时的重复适配问题,通过规范工具描述、调用请求和结果返回,使同一套业务能力可以支持多个AI应用。本文以“查询订单”… · 2026/11/5 11:15:38

从Java后端到AI应用开发:我的转型之路与避坑指南(收藏备用)
从Java后端到AI应用开发:我的转型之路与避坑指南(收藏备用)

本文分享了一位8年Java后端工程师转型AI应用开发的心路历程和实战经验。作者指出,2026年AI应用开发领域急需既懂后端工程又懂大模型的复合型人才,并针对后端转AI的常见误区提供了专业建议。文章强调后端技术是转型优势,通过分阶段学习路线图和… · 2026/11/11 1:09:23

英语听力材料怎么选?5类真正好用的材料与天学网实践拆解
英语听力材料怎么选?5类真正好用的材料与天学网实践拆解

摘要:英语听力材料选不对,练再多也容易白费。本文从一线教学场景出发,拆解5类真正好用的材料类型:教材同步泛听、分层语速阶梯、逐句精听拆解、自定义挖空听写、错题重组定向。核心结论有三点:材料难度要跟着学情走&am… · 2026/11/5 11:39:44

电工作业安全员条件你知道吗?内部消息透露考前必须知道的这些事
电工作业安全员条件你知道吗?内部消息透露考前必须知道的这些事

电工作业安全员条件你知道吗?内部消息透露考前必须知道的这些事 怕考不过白交培训费?电工作业安全员条件你得提前搞清楚,不然培训费打水漂,证书也拿不到。最近几年,随着各地项目现场对安全员的要求越来越高,电工作业安全员的报考人数也在不断攀升,但真… · 2026/11/11 1:08:53

学历不高怕报不上名?兄弟连电工证+电子证书怎么考
学历不高怕报不上名?兄弟连电工证+电子证书怎么考

学历不高怕报不上名?兄弟连电工证+电子证书怎么考 学历不高怕报不上名?兄弟连电工证现在是很多低学历朋友想进电工行业的“入场券”,特别是像你这种刚转岗的,可能对流程、考试内容一头雾水,担心自己文化程度不够过不了关。别急,这篇文章会从… · 2026/11/11 1:08:53

大朗高压电工证办理官方报名入口在哪?别再被中介坑了
大朗高压电工证办理官方报名入口在哪?别再被中介坑了

大朗高压电工证办理官方报名入口在哪?别再被中介坑了 你是不是也遇到过这种情况?想考大朗高压电工证,但不知道去哪报名,网上一搜全是中介广告,真假难辨?现在很多人对【大朗高压电工证办理】这个关键词很感兴趣,但真正知道怎么操作的却不多,更别说找到… · 2026/11/11 1:08:53

石家庄高压电工证价格多少?证书过期了不知道怎么复审延期怎么办
石家庄高压电工证价格多少?证书过期了不知道怎么复审延期怎么办

石家庄高压电工证价格多少?证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期,这事儿真不是闹着玩的。前两天,一个在石家庄做电工的朋友找到我,他手里的高压电工证已经到期了,但因为工作太忙,一直没顾上处理。结果一查,他那证已经作废… · 2026/11/11 1:08:53

电工证是省级颁发吗?考前押题怎么选才靠谱
电工证是省级颁发吗?考前押题怎么选才靠谱

电工证是省级颁发吗?考前押题怎么选才靠谱 你急着上岗找工作,但手里还缺一个电工证,连面试资格都没?别急,电工证的报考流程和颁发机构确实让人摸不着头脑,尤其是【电工证是省级颁发吗】这个问题,直接关系到你能否顺利拿证上岗。别被培训机构忽悠了,咱… · 2026/11/11 1:08:53

南充特种工培训学校保姆级教程:学历不高怕报不上名?看这篇就够了
南充特种工培训学校保姆级教程:学历不高怕报不上名?看这篇就够了

南充特种工培训学校保姆级教程:学历不高怕报不上名?看这篇就够了 你是不是也觉得学历不高,考不了特种作业操作证?别急,今天这期保姆级教程,专为像你这样担心学历问题的小伙伴量身打造。在南充, 特种工培训学校… · 2026/11/11 1:07:52

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/10 2:16:10

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43

_中职电工证最新政策解读
_中职电工证最新政策解读

中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52

昆明电工证培训价格值不值得考?老电工告诉你真相
昆明电工证培训价格值不值得考?老电工告诉你真相

昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52

特种电缆张工网上查询全攻略:外省证如何转过来
特种电缆张工网上查询全攻略:外省证如何转过来

特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码