Supabase Storage 迎来重大更新,性能、安全与可靠性全面升级

近日,Supabase 宣布对其存储服务 Storage 进行了一系列重大更新,涉及性能优化、安全漏洞修复以及可靠性改进。这些更新已立即生效,影响所有使用 Storage 的项目,旨在解决随着规模扩大而暴露的诸多问题,并为开发者提供更稳定、高效的对象存储体验。

核心改进:对象列表性能提升 14.8 倍

在众多更新中,最引人注目的是 Storage 对象列表功能的重写。原有系统依赖一个包含六条触发器和十二个辅助函数的 prefixes 表来维护文件夹结构,但在大容量存储桶和高并发写入场景下,这些触发器成为性能瓶颈,严重拖慢写入速度。

Supabase 团队采用了一种混合跳跃扫描算法,彻底移除了 prefixes 表,改为在读取时从 objects 表动态推导文件夹结构。同时,分页方式也从基于偏移量(OFFSET)改为基于游标(cursor),使得深度分页的耗时变得恒定。测试数据显示,在包含 6000 万行记录的表上,深度分页速度提升了 14.8 倍 ,且写入性能不再受触发器影响。此外,level 列和两个索引也被移除,进一步简化了架构。

安全加固:堵住路径遍历与意外删除漏洞

安全性方面,本次更新修复了一个文件后端存在的路径遍历漏洞------此前攻击者可能通过精心构造的路径逃逸存储根目录。现在,文件后端已严格限制读写操作只能在配置的存储路径内进行。

另一个常见问题是用户直接在 SQL 中执行 DELETE FROM storage.objects 导致数据库记录被删除而实际文件残留,形成孤立对象。新版本通过语句级触发器阻止了此类直接删除,除非显式设置会话变量 storage.allow_delete_querytrue。Storage API 会自动设置该变量,因此常规操作不受影响,但意外删除的风险被彻底消除。

可靠性增强:幂等迁移与锁竞争修复

为了提升服务稳定性,Supabase 对 Storage 的迁移系统进行了改造,所有迁移现在都是幂等的。这意味着开发者可以安全地重置迁移表并重放整个迁移链而不会出错,CI 流程也增加了双重验证,避免迁移卡住的问题。

针对 TUS 可恢复上传,团队修复了 S3 锁存器中的竞争条件。此前在锁续约期间,若锁恰好被释放,可能导致死锁无法自动过期。现在续约逻辑会先检查锁状态,确保锁的正确释放。此外,孤立对象扫描器也得到了改进:S3 前缀现在使用尾部斜杠防止误匹配(如 images/ 不会匹配 images2),并支持多个存储桶的批量删除控制。

可观测性升级:引入 OpenTelemetry

在监控和调试方面,Storage 现在采用 OpenTelemetry 替代原有的 prom-client 收集指标,可推送到任何兼容 OTel 的后端。同时,/metrics 端点仍支持 Prometheus 抓取,并附带更新后的 Grafana 仪表盘和 OTel Collector 配置。请求日志中也增加了服务器端执行时间字段,便于性能分析。

多项错误修复

除了上述主要更新,本次发布还包含大量错误修复,例如:

  • 修复 TUS 上传 URL 中的双斜杠问题;

  • PutVector 端点的请求体限制从 1.6 MB 提高到 20 MB;

  • 修复无效 S3 响应头覆盖导致请求崩溃的问题;

  • 修正缺失 Content-Type 时的错误回退类型;

  • 解决 Linux 文件后端扩展属性冲突(content-type 和 etag 使用同一属性导致覆盖);

  • 确保 listV1 接口返回的文件夹前缀大小写与原文件夹一致等。

结语

此次 Storage 的更新充分体现了 Supabase 在应对规模化挑战时的技术投入。通过重写核心算法、强化安全边界、提升可观测性,Supabase 不仅解决了现有用户的痛点,也为未来更大规模的应用奠定了坚实基础。对于依赖 Supabase Storage 的开发者而言,这些改进将带来更流畅的开发体验和更可靠的存储服务,尤其是深度分页性能的飞跃,将显著优化处理海量对象时的交互效率。

随着数据量的持续增长,云原生数据库与存储服务的竞争已从功能丰富转向规模化下的稳定与性能。Supabase 此次的主动优化,无疑会巩固其在开发者社区中的地位,并吸引更多追求高性能与安全性的企业级用户。

相关推荐
互成2 小时前
数据防泄密软件应该怎么选?2026顶尖数据防泄密软件推荐
网络
零基础的修炼2 小时前
Linux网络---Epoll-Reactor模式
linux·网络·php
小尔¥2 小时前
Nginx核心功能
运维·网络·nginx
℡終嚸♂6802 小时前
Goby资产测绘漏洞扫描工具红队版自带1000+poc,以及附赠收集的1000+poc(附下载链接)
安全·web安全·php
犀思云2 小时前
解构网络复杂性:基于 FusionWAN NaaS 的确定性架构工程实践与流量编排深度指南
网络·人工智能·机器人·智能仓储·专线
一个无名的炼丹师2 小时前
从零构建工业级 AI Agent 操作系统:本地优先记忆网络与动态 Skills 架构详解
网络·人工智能·架构·大模型·openclow
The Shio2 小时前
为什么我认为设备协议真正缺的,不是更多文档,而是代码生成能力?
网络·物联网·c#·.net·业界资讯
duration~2 小时前
TCP 网络控制
网络·网络协议·tcp/ip
coding随想2 小时前
V8引擎深度解密:Isolate隔离机制如何保障多环境安全执行
安全