Apache Flink 2.3 推出原生 S3 檔案系統,拋棄 Hadoop 依賴並實現 2 倍加速
Apache Flink Blog · 2026-06-26
Apache Flink 於 2026 年 6 月 26 日發布部落格文章,宣布在 Flink 2.3 中以實驗性(experimental)方式提供全新的 flink-s3-fs-native 外掛。
此外掛由 Gabor Somogyi 與 Samrat Deb 主導開發,從零開始重寫,完全基於 AWS SDK v2,不再攜帶任何 Hadoop 依賴樹。
根據官方基準測試,在 Amazon EKS 上以 20 GB RocksDB 狀態進行 Checkpoint 時,新外掛耗時 48.8 秒,較舊有 Presto 外掛的 90.1 秒縮短約一半。
背景
Flink 長期以來提供兩種 S3 外掛:基於 Presto 的 flink-s3-fs-presto 與基於 Hadoop 的 flink-s3-fs-hadoop。
前者的 JAR 約 30 MB、後者甚至可達 93 MB,兩者都依賴於 AWS SDK v1——而 SDK v1 已於 2025 年宣告終止維護。
Hadoop 依賴不僅帶來龐大的 JAR 體積,也使設定方式複雜,需要使用 fs.s3a.* 等 Hadoop 風格的前綴,與 Flink 原生設定語義格格不入。
新外掛的目標即是清理這些技術債,同時提升效能與功能完整性。
核心改動
flink-s3-fs-native 的 JAR 僅約 13 MB,採用非阻塞 NIO 非同步 I/O,透過 S3TransferManager 與 Netty 多路復用連線實作。
設定鍵統一改用乾淨的 s3.* 前綴,例如 s3.access-key、s3.secret-key、s3.endpoint。
啟用方式只需複製一個 JAR,無需修改任何應用程式程式碼:
mkdir -p ./plugins/s3-fs-native
cp ./opt/flink-s3-fs-native-2.3.jar ./plugins/s3-fs-native/ 新外掛透過 NativeS3RecoverableWriter 支援 Exactly-Once FileSink,可在失敗後繼續(resume)中斷的 multipart upload。
它也支援 Entropy Injection(熵注入)——自動為 Checkpoint 路徑加入隨機前綴,以避免 S3 對單一前綴請求的節流(throttling)限制。
伺服器端加密方面,支援 SSE-S3 與 SSE-KMS(含 KMS encryption context)。
影響範圍
官方基準數據顯示,吞吐量從 Presto 外掛的 92 MB/s 提升至 200 MB/s,小型狀態(0–2 GB)情境下最高可達 4.58 倍加速。
外掛同時支援 s3:// 與 s3a:// URI 方案,當多個 S3 實作共存時,Native 版本的優先級最低(-1),不會覆蓋既有設定。
下表整理三種 S3 外掛的功能差異:
| 功能 | Native S3(新) | Presto | Hadoop |
|---|---|---|---|
| Checkpointing | ✓ | ✓ | ✓ |
| FileSink | ✓ | ✗ | ✓ |
| RecoverableWriter | ✓ | ✗ | ✓ |
| JAR 大小 | ~13 MB | ~30 MB | 30–93 MB |
| Hadoop 依賴 | 無 | 無 | 有 |
| AWS SDK 版本 | v2 | v1 | v1 |
路線圖方面,Flink 2.4 預計加入 per-bucket 設定,後續版本將提升為推薦預設值,並正式宣告舊有外掛棄用。
目前仍為實驗性功能,建議在非生產環境先行驗證。
社群討論可透過郵件列表 user@flink.apache.org 進行,主旨標籤為 [flink-s3-fs-native]。
IvorySQL 5.4 正式發布:以 PostgreSQL 18.4 為底、整合 AI 查詢能力
Highgo Software / postgresql.org · 2026-06-26
Highgo Software 於 2026 年 6 月 26 日透過 PostgreSQL 官方新聞頻道宣布發布 IvorySQL 5.4,此版本以 PostgreSQL 18.4 為核心,繼承所有上游修補,並新增 AI 查詢擴充套件 pg_ai_query 與 IvorySQL Skills 整合。
IvorySQL 定位為 Oracle 相容的開源資料庫,同時維持對 PostgreSQL 生態的完整支援。
本次發布帶入 PostgreSQL 18.4 的六項安全性與穩定性修補,並擴充了多架構打包支援。
核心改動
PostgreSQL 18.4 上游修補涵蓋啟動封包處理中的無界遞迴漏洞、記憶體配置整數溢位偵測、ts_headline() 過長選項拒絕,以及屬性 MCV 統計驗證改進。
EXTRACT 函式在本版本中獲得語法擴充(PR #1222),支援更多 SQL 方言變體,有助於從 Oracle 遷移的應用程式減少改寫量。
AI 功能方面,IvorySQL Skills 讓 AI 助理能夠成為 IvorySQL 資料庫專家,透過 MCP(Model Context Protocol)風格的整合,使大型語言模型可直接查詢資料庫 schema 與執行語意分析。
新的 pg_ai_query 擴充套件則允許在 SQL 查詢中直接呼叫 AI 推論,搭配已內建的 pgvector 擴充套件,可構成完整的向量搜尋加語意增強管線。
本版本支援的完整擴充套件清單新增至 24 個,涵蓋:
pg_ai_query— AI 查詢整合(新增)pgvector— 向量資料型別與相似度搜尋PostGIS— 地理空間資料支援AGE— 圖形資料庫(Apache AGE)pg_cron、pg_partman、wal2json、pg_stat_monitor等
影響範圍
部署方式已全面容器化,支援 Docker Compose、Podman、Swarm、Helm 以及 IvorySQL Kubernetes Operator,適合在雲原生環境快速建立叢集。
多架構打包支援 X86、ARM、MIPS 及 LoongArch,後兩者主要面向中國本地化硬體生態系,顯示 Highgo Software 對國產晶片平台的持續投入。
同步推出的 IvorySQL Cloud 5.4 提供視覺化資料庫生命週期管理平台,含圖形化控制平面與一鍵部署功能。
對於需要兼顧 Oracle SQL 相容性與 PostgreSQL 開放生態的場景,IvorySQL 5.4 的發布意義在於:它現在是首個在正式版本中整合 AI 查詢能力的 PostgreSQL 衍生發行版之一。
官方提供無需安裝的瀏覽器端試用環境,可於 ivorysql.org 直接評估。
文件位於 docs.ivorysql.org。
原始來源:PostgreSQL News — IvorySQL 5.4 Released · GitHub Release
PoWA 工具鏈更新:pg_qualstats 2.1.4 修正 JOIN 統計缺陷,pg_stat_kcache 2.3.2 加入 PostgreSQL 19 支援
PoWA Team / postgresql.org · 2026-06-26
PoWA(PostgreSQL Workload Analyzer)維護團隊於 2026 年 6 月 26 日同步發布 pg_qualstats 2.1.4 與 pg_stat_kcache 2.3.2 兩個維護版本。
前者修正了 JOIN 謂詞屬性追蹤的統計遺漏問題,後者則補充了對 PostgreSQL 19 Beta 1 的相容性,並修正 RHEL/Rocky/Alma 系列 Linux 的安裝指令錯誤。
兩個擴充套件均為 PoWA 套件的核心組件,分別負責查詢謂詞統計與核心快取效能分析。
背景
pg_qualstats 是 PostgreSQL 擴充套件,負責收集 WHERE 子句與 JOIN 條件中謂詞(predicate)的執行統計。
這些資料由 PoWA UI 用於生成索引建議(Index Advisor),協助 DBA 識別缺少索引的欄位組合。
pg_stat_kcache 則透過 Linux getrusage() 系統呼叫,蒐集每個查詢的核心層 CPU 與 I/O 快取命中統計,補足 pg_stat_statements 在系統資源面向的盲點。
核心改動
pg_qualstats 2.1.4 的主要修正由 Julien Rouhaud 提交,感謝 Tatsuro Yamada 的問題回報。
修正內容為「Teach joins about joinqual attribute」——在舊版本中,當查詢計畫使用 join qualifier(即連接條件中的屬性)時,擴充套件未能正確識別該屬性歸屬,導致 PoWA Index Advisor 在涉及多表 JOIN 的查詢中可能產生不完整的索引建議。
此修正確保 joinqual 屬性能被正確解析並納入統計資料。
pg_stat_kcache 2.3.2 包含兩項變更。
PostgreSQL 19 相容性支援由 Georgy Shelkovy 與 Julien Rouhaud 共同提交;RHEL 系列安裝指令修正則由 Pierre Forstmann 貢獻,修復了在 Rocky Linux 與 AlmaLinux 上安裝時指令失敗的問題。
此版本沒有功能性新增,屬於純維護版本。
兩個版本的歷史演進如下:
| 版本 | 主要變更 | PostgreSQL 相容範圍 |
|---|---|---|
pg_qualstats 2.1.4 | 修正 joinqual 屬性追蹤;新增 PG19 支援 | 12–19 |
pg_qualstats 2.1.3 | 修正 special var 指向另一 special var 時的 crash | 12–18 |
pg_qualstats 2.1.2 | 新增 PG18 支援 | 12–18 |
pg_stat_kcache 2.3.2 | PG19 支援;修正 RHEL 安裝指令 | 12–19 |
影響範圍
pg_qualstats 的 joinqual 修正影響所有使用 PoWA Index Advisor 分析多表 JOIN 查詢的場景,建議任何正在使用 Index Advisor 功能的部署升級至 2.1.4。
由於這是行為正確性修正而非單純效能最佳化,舊版本在特定 JOIN 模式下的索引建議可能存在遺漏,升級後應重新執行分析以獲得完整建議。
對於提早測試 PostgreSQL 19 Beta 1(於 2026 年 6 月 4 日發布)的團隊,此次兩個擴充套件同步加入 PG19 相容性是重要前置步驟——PoWA 工具鏈通常需要 pg_qualstats、pg_stat_kcache 與 pg_stat_statements 三者同時就緒方能完整運作。
兩個擴充套件均可從 GitHub Releases 下載原始碼,或透過 PGDG 套件庫安裝。
原始來源:PostgreSQL News — pg_qualstats 2.1.4 · pg_qualstats GitHub · pg_stat_kcache GitHub