資料與儲存 2026 年 4 月 25 日

2026-04-25 — pg_clickhouse JSONB 推下與串流、Redis 客戶端原生 OTel 指標

pg_clickhouse 四月更新:JSONB 推下、時間…

pg_clickhouse 四月更新:JSONB 推下、時間函數伺服器端執行、HTTP 串流降記憶體 86%

ClickHouse Blog · 2026-04-24

pg_clickhouse 是讓 PostgreSQL 作為 ClickHouse 外部表格前端的擴充,透過 Foreign Data Wrapper(FDW)機制將查詢下推(pushdown)至 ClickHouse 執行。2026 年 4 月的版本帶來三個重要的查詢效能與記憶體優化。

JSONB 存取子推下(v0.1.10)

先前 JSONB 屬性的過濾只能在 PostgreSQL 側執行,即先從 ClickHouse 拉回所有資料再過濾。v0.1.10 讓 WHEREORDER BYHAVING 子句中的 JSONB 存取子直接映射至 ClickHouse 的 sub-column 語法,在伺服器端完成過濾:

  • >> 運算子(返回 text)直接轉為 ClickHouse sub-column 存取
  • -> 運算子(返回 JSONB)加入 JSON 轉換後推下
  • jsonb_extract_path()jsonb_extract_path_text() 同樣支援推下,允許巢狀值存取

SQL 值函數推下(v0.2.0)

v0.2.0 加入對 CURRENT_DATECURRENT_TIMESTAMPclock_timestamp() 等日期時間函數的推下支援,這些函數在 ClickHouse 側執行時遵循 PostgreSQL 工作階段的時區設定,並正確與 date_part()date_trunc() 組合使用。同版本還新增陣列操作推下:array_catarrayConcatarray_to_stringarrayStringConcatstring_to_arraysplitByString

HTTP 結果集串流(v0.1.10)

HTTP 驅動層改為串流模式,預設緩衝約 50 MB,而非將整個結果集載入記憶體後再返回。以 NYC 計程車資料集的測試為例:

  • 優化前:601.8 MiB
  • 優化後:86 MiB 以下

查詢速度基本持平,但記憶體峰值顯著下降,對大型查詢結果尤為重要。

原始來源:ClickHouse Blog — pg_clickhouse April 2026


Redis 客戶端函式庫原生 OpenTelemetry 指標:七組可觀測性維度同步支援三大語言

Redis Blog · 2026-04-24

Redis 宣布 redis-py v7.3.0go-redis v9.18.0node-redis v5.12.0 同步加入原生 OpenTelemetry 指標支援,填補伺服器端監控看不到的客戶端行為盲點,包括連接池壓力、請求佇列延遲與重試行為。

七組指標分組

指標按功能分為七組,預設只啟用 resiliencyconnection-basic

分組預設主要指標
resiliency啟用錯誤計數、伺服器維護通知
connection-basic啟用閒置/活躍連接數、連接時間
connection-advanced停用連接池等待時間、已關閉連接總數
command停用命令延遲(db.client.operation.duration
client-side-caching停用快取命中率、逐出計數
pubsub停用訂閱/發布統計
streaming停用Stream 訊息處理延遲

命名慣例

標準 OTel 語意慣例指標:

  • db.client.operation.duration
  • db.client.connection.count

Redis 私有命名空間指標(redis.client.*):

  • redis.client.errors(含 internal/user-visible 分類)
  • redis.client.maintenance.notifications
  • redis.client.csc.requests / redis.client.csc.evictions

初始化範例(Python)

from redis.observability import enable_client_observability

enable_client_observability(
    metrics_groups=["resiliency", "connection-basic", "command"]
)

停用時開銷 <1%,按需逐步加入更多分組。社群提供的 Grafana 儀表板 可直接使用。

原始來源:Redis Blog — Native OpenTelemetry metrics for Redis client libraries


End of article
0
Would love your thoughts, please comment.x
()
x