Zstandard と Pingora を活用すれば、キャッシュストレージの容量をペタバイト単位で節約できます。

2026/09/01 22:41

Zstandard と Pingora を活用すれば、キャッシュストレージの容量をペタバイト単位で節約できます。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Cloudflare は、インターン・プログラムの 1.1.1.1 インターンプログラムを通じて実装した「Cache Transcoding」機能のプロトタイプを開発しました。この機能は、2016 年にオープンソース化された高速でロスレスなアルゴリズムである Zstandard(zstd)を活用し、キャッシュレイヤー内で直接対象となるテキストアセットを圧縮します。システムは zstd レベル 3 を適用し、わずかな CPU リソースの増加に対して、格納容量およびクロスデータセンター帯域幅の大幅な削減を実現しています:初期テストの結果、ディスク上のサイズが元の約 3 分の 1 にまで削減され、圧縮率は約 2.8 倍となりました。対象となる条件は、HTML、JSON、CSS、JavaScript のような圧縮可能なテキストタイプ(200 OK レスポンスであり、以前に Content-Encoding が付与されていないもの)で、かつサイズが 4 KiB を超える場合です。メディアファイルは CPU コストがかかる割にメリットがないため除外されています。キャッシュフィルloff 時のエンコードコストはバイトあたり約 4.31 ns(約 232 MB/s)、デコードは各リクエストで約 1.56 ns per byte(約 641 MB/s)で発生します。10 サーバーのキャッシュにおいて 100 万件以上のリクエストをテストし、設計が CPU ブジェット内で動作し、コンテンツの整合性が保たれていることを確認しました。キャッシュ密度を高めることで、貴重なコンテンツの破棄リスクを低減し、インフラコストを削減します。今後の取り組みでは、より高い圧縮レベル、より広いコンテンツタイプ・サイズの対応、および圧縮済みオブジェクトを下流コンポーネントへ直接渡す評価を行う予定です。これにより、最適化されたフォーマットを効率的に処理できるユーザーのレイテンシ低下が実現する可能性があります。

本文

ピングオラ「キャッシュ変換」によるメモリコスト削減とストレージ効率化の実現

クラウドフレードルにおいて RAM と HDD の価格が急騰する中、効率的なメモリアクティブ活用によりサービスの継続性を保つため、実効的なキャッシュ容量を増やすプロトタイプを 개발했습니다。これにより、CPU リソースのわずかな増加分に対し、ストレージおよびデータセンター間転送(バックボーン)の使用量を大幅に削減することに成功しました。

この仕組みは「キャッシュ変換(Cache Transcoding)」と呼ばれ、キャッシュ保存時に資産を Zstandard 符号化し、配信時に復号化するアーキテクチャです。

キャッシュ変換の概要

基本概念

  • 処理フロー: データセンター間で移動しキャッシュに格納される際、ディスク書き込み前に Zstandard(zstd) で圧縮します。
  • 保存形態: 圧縮された形式のままティアードキャッシュを通じてデータセンター間を移動。
  • 配信時: クライアントへのレスポンス配信時にのみ復号化されます。

効果とトレードオフ

  • ディスク容量削減: 符号化により対象資産のディスク上サイズを平均して 約 3 分の 1 に削減可能。
  • CPU コスト: オリジンへのプロキシ処理でわずかな追加 CPU コストが発生しますが、これはペタバイト単位の実効キャッシュ確保と帯域幅削減に見合う代償です。
  • コスト構造:
    • 符号化コストは資産がキャッシュに保存される際に一度のみ
    • ストレージおよび帯域幅の節約効果は、その資産が再利用されるたびに得られます。

Zstandard (zstd) の特徴

Zstandard は Facebook 開発、2016 年オープンソース化された非可逆圧縮アルゴリズムです。

  • 特性: 復号化した後に元のデータと完全一致するバイトを保持し、コンテンツ自体は変更せず表現方法を自在に変換できます。
  • 性能バランス:
    • Brotli: 約 42% 高速でありながらほぼ同等のファイルサイズを実現。
    • gzip: 同じく同等の速度で約 11.3% 小型化を実現。
    • キャッシュ変換では大量トラフィックを扱うため、符号化・復号化双方の高速性が求められます。
  • 採用設定: プロトタイプでは zstd レベル 3 を採用(圧縮メリットの大半を得つつ CPU ボトルネックを防ぐバランス)。

ストレージ戦略と適格化基準

従来アプローチとの違い

  • 従来: オリジンからのレスポンスをそのまま(無圧縮または既存符号化)ディスク保存および転送。
  • キャッシュ変換: キャッシュ内部で追加の圧縮層を適用する仕組みです。

すべてのデータを圧縮すべきではない

画像、動画、フォントなどは既に最適化されているため再圧縮は無駄です。

コンテンツタイプリクエスト数比率データ量比率処理判断
メディア (画像/動画等)21.4%63.3%❌ 再圧縮しない(CPU コスト対効果低)
テキスト (HTML, JSON 等)67.3%22.3%✅ 対象外圧縮(大部分は未圧縮で再圧縮可能)
  • テストコーパスでの圧縮率:約 2.8 倍
  • テスト結果:管理されたテストコーパスにおいて、対象資産は概ね 2.83 倍 に圧縮されました。

コスト対効果の詳細

項目値・説明
圧縮率2.83 倍
符号化コストバイトあたり
4.31 ns
(約 232 MB/s)、保存時に一度課金
復号化コストバイトあたり
1.56 ns
(約 641 MB/s)、配信時に毎回課金
  • 符号化の方がバイト単位のコストは高いですが、キャッシュ保存頻度远比クライアント配信回数が多いため、全体としての節約効果が明確です。
  • メリット: ディスク上のデータ量減少 → サーバーごとの保持オブジェクト数増加 → キャッシュ密度向上 → スペース効率化。

動作メカニズム:キャッシュ変換の仕組み

システム内の各ステージにおける処理フローです。

  1. キャッシュミス時(新規保存)

    • ピングオラベースのプロキシが、ディスク書き込み前に本体を
      zstd
      で符号化。
    • キャッシュメタデータに「保存表現は圧縮済み」「元コンテンツ長保持」と記録。
    • プロキシ离开時に、本体を元のアイデンティティ表現へ復号化。
  2. キャッシュヒット時(既存資産利用)

    • ディスクから
      zstd
      オブジェクトを読み取り復号化。
    • テアードキャッシュでは、圧縮形式のまま上層→下層へ転送。
    • クライアントへのホップ(通信経路)時点でのみ復号化。
  3. フルキャッシュミス時(オリジンからの取得)

    • 上層ティアがオリジンからアイデンティティバイトを取得。
    • バイトを一度符号化して
      zstd
      で保存し、圧縮形式のまま下層ティアへ転送。
    • 下層ティアも同様に保存し、必要に応じて復号化。
  4. ティアードキャッシュの転送(下層ティアミス時)

    • 上層ティアにオブジェクトが存在する場合、オリジンを介さない直接移動が可能。
    • 有線およびディスク上は圧縮状態を維持。下層ティアで一度復号化のみ。
  5. 下層ティアにオブジェクトがある場合

    • ネットワーク転送や符号化不要。
    • 下層ティアがディスクから
      zstd
      バイトを読み取り復号化、次へ渡す。
  • 重複符号化防止: ストレージ符号化マーカーにより、オブジェクトが一度以上符号化されることを保証。別ティアからの受け取りで既存圧縮形式を認識・維持。

適用対象の選定基準

最も高速な圧縮操作とは「行う必要のない操作」であり、受益が低いコンテンツは避けます。プロトタイプは以下の条件を満たす場合にのみ

200 OK
レスポンスを変換します。

適格化チェック(AND)

  • Content-Encoding: 未設定であること。
  • Content-Type: 圧縮可能なテキストであること。
  • レスポンシサイズ: 既知のコンテンツ長かつ、少なくとも
    4 KiB
    であること。

除外対象(変更なし)

  • スライスサブリクエスト
  • アクティブなアップストリーム圧縮を使用しているレスポンス
  • レンジリクエスト
  • 事前圧縮済みのレスポンス
  • 長さ不明の本体
  • バイナリコンテンツ

パラメータ選択の理由

  • 4 KiB
    の閾値
    : 多数の微小なリクエストを除外しつつ、対象となるバイト数の約 1% を残す調整が可能。これより下げるとオブジェクトごとのオーバーヘッド増加のみでストレージ削減効果は限定的。
  • zstd レベル 3: 保守的なアーキテクチャ開始点。初期 CPU バジェットを把握した上で、必要に応じてレベルや最小サイズのパラメータ調整が可能。

テスト結果と検証

実験概要

制御されたテストゾーンでプロトタイプを実行し、以下のデータを収集しました。

  • ログ・モニタリング: リクエストログ、Prometheus メトリクス、Jaeger トレースの関連付け実施。
  • 正確性キャンペーン: キャッシュミス/ヒット、充填など各パスでの符号化・復号化発生場所の確認(キャッシュキー変化による特定)。
  • パフォーマンスキャンペーン:
    • 10 のキャッシュサーバー間にて100 万件以上のリクエスト送信。
    • テアードキャッシュの有効/無効化の両モードで実行し、ローカル挙動とティア間転送を個別測定。

テスト結果

  • 対象資産サイズ: 約
    195 KiB
    272 KiB
  • 圧縮率: 双方とも概ね 2.8 倍 に圧縮された(意図的なテストコーパスによる明確なシグナル)。
    • ※インターネット上の全テキストオブジェクトを代表するものではありません。より広範なコーパスでの測定が必要ですが、アーキテクチャの効率は検証されました。

結論:一度圧縮して多くの利点をもたらす

今回の実験は、キャッシュサービス全体に展開できる顕著な効率化余地があることを示しました。テスト条件下ではトレードオフが有利であることが確認できました。

  • アーキテクチャによりコンテンツを保持しつつ、CPU バジェット内での運用を実現。
  • ペタバイト単位のキャッシュ容量確保とデータセンター間転送削減を実証。

今後のステップと展望

以下の計画を進める予定です:

  • より高い zstd レベル の評価。
  • より広範なコンテンツタイプおよびオブジェクトサイズのテスト。
  • 適格性基準からの異なるパラメータの微調整。
  • レンジリクエストとプレ圧縮済みオリジンレスポンスへの対応検討。
  • 復号化せずに、既にそれをサポートするダウンストリームコンポーネントへ圧縮オブジェクトを直接渡す仕組みの実装。

※インターンシップ情報 今回の開発はクラウドフレードルのインターンシッププログラムの一環です。より良いインターネット構築に貢献したい方へ、同社のインターンシップ機会や求人を紹介します。

同じ日のほかのニュース

一覧に戻る →

2026/09/03 0:12

Gemini 3.8 Flash および Gemini 3.8 Flash Cyber

## Japanese Translation: 現在のサマリーは物語的な流れに優れていますが、キーポイントリストに含まれる具体的な定量基準が不足しています。以下の改善版では、これらの特定のデータポイントを統合しつつ、読みやすさを維持しています: ## 改善されたサマリー: Google は Gemini 3.8 を導入し、**Gemini 3.8 Flash** と専門的な **Gemini 3.8 Flash Cyber** の 2 つのバリエーションを特徴としています。標準的な **Flash** バリエーションは、100 万入力トークンあたり$0.75、100 万出力トークンあたり$3.75(以前の価格と同様)で提供されており、推論能力において著しい飛躍を実現し、プロンプト注入に対する堅牢性を備えた HLE-Verified で 54.9% のスコアを達成しました。複雑なエンジニアリングタスク(DeepSWE)、法律・金融ベンチマークにおいて、より大きな最前線モデルを上回る性能を示しました。 **Flash Cyber** バリエーションは、新しい Fairwind プログラムを通じて認定されたセキュリティ専門家のみが利用でき、標準モデルに比べて許可された防衛者に対してより寛容な緩和措置を備えています。このバージョンは脆弱性発見においてかつてないスピードを発揮し、例えば重要な基盤的な欠陥を検出するのに通常必要だった数ヶ月に対して 2 時間未満で特定しました。また、Wiz や Collinear などが実施した内部ペネトレーションテストベンチマークにおいて、Flash Cyber は 20 のプログラミング言語にわたり 70% 以上の成功率を達成し、コストも大幅に低下(2.3 倍〜5.2 倍の削減)しました。さらに、Google のクラウド脆弱性研究チームは、Chrome の脆弱性に対してベストクラスの商用モデルよりも 2.6 倍多くの正しいパッチを生産したと報告しており、これにより効率的な脅威検出における新しい業界標準としての地位を確立しました。

2026/08/31 21:01

ImHex を使った未知のファイル形式のリバースエンジニアリング

## Japanese Translation: ここで詳述される主な成就是不動の ImHex 解析ツールを用いて、FEZ の独自バイナリセーブファイル形式を完全な構造定義へと逆工学するに至ったことである。JetBrains Rider を用いてゲームの .NET コンポーネントをデコンパイルすることで、研究者は `EasyStorage` ライブラリ内部にある特定のロジック、特にデータシリアライゼーションを担当する `PCKsaveDevice` コンポーネントを特定した。このコンポーネントは、Windows の FILETIME タイムスタンプとシリアライズされたゲームデータを含まれる 4096 バイトのバッファー内で動作する。このプロセスには、ImHex 内にカスタムのパターンを作成して複雑な内部レイアウト(7 ビット符号化文字列、`OneTimeTutorials` のようなキー値ペアのリスト、`LevelSaveData` のようなネスト構造、`ActorType` のような列挙体など)をマッピングする作業が含まれた。注目すべきは、FEZ のセーブファイルが OS 固有のパスに格納されながら暗号化も標準的なマジックヘッダーも含まず、今や完全にデコード可能になった点である。ImHex で設定された後、ユーザーは強調表示された Hex View を通じて生データを閲覧し、Pattern Data View を通じて編集可能な値を変更することができる。その結果、プレイヤーは公式のゲーム内ツールに依存せずにセーブファイルを独自に編集する能力を得る一方で、開発者はこのオープンな定義を用いて安全にゲーム状態を分析したり、バックアップユーティリティを作成したりできるようになる。なお、著者は秘密や終盤コンテンツに関する重いス ポイラーがあるため、FEZ をプレイしてから本文を読むことを推奨していることに注意されたい。

2026/09/03 7:36

Launch HN: ロナン・エックス(YC S26)– 個別最適化されたペプチドとGLP-1

## Japanese Translation: 本サービスは、GLP-1 減量治療を転換させ、硬直した標準プロトコルを、患者それぞれの唯一無二の医療歴および耐容性に合わせた、極めて個別化された医師主導のケア計画で置き換えます。吐き気や疲労などの副作用に対応せずにはいられない固定的なラベルアプローチとは異なり、本モデルは必要に応じてターゲッティングされたサポートを加え、耐容性と一貫性を向上させます。重要な安全機能として厳格な「失敗時に閉じる(fail-closed)」検証プロセスがあります:患者が選択した薬局(例:Elite Care Pharmacy LLC または別の希望薬局)の認可を受けた薬剤師は、調剤薬をリリースする前に、すべての詳細が特定の患者チャートと一致することを確認し、棚から決して取られないロット追跡可能な成分を使用します。これにより投与前の精密性が確保され、有効期限(beyond-use date)の制限とともに、リリース時に薬剤師の署名が含まれます。このプロセスは医師主導の権限チェーンに従い—医師が処方し、認可された薬剤師が検証してリリースする—with 何人も医師の判断を上回ることはできません。すべての工程には「失敗時に閉じる」ゲートが組み込まれており、検証が失敗した場合(例:処方がチャートと一致しないか、ロットが追跡できない場合)は注文が停止し、何も出荷されません。品質保証は完全に行間ごとのチェックに依存し、必要に応じて冷鏈要件を満たす温度感知包装、配送、トラッキングを使用します。調剤製剤は通常、現金払いによるブランド名のリスト価格よりもコストが低い傾向がありますが、実際のコストは計画、薬局、州によって異なります。これにより、ブランド医薬品と比較して長期的な持続可能性が向上します。なお、調剤薬は FDA の直接承認の枠外で運営され、ブランド版からの臨床試験データは直接的に適用できないことに注意が必要です。将来のリフィルは決して自動的ではなく、継続的な医師によるレビューを必要とするため、治療計画は患者の体が初期週間にわたって安定化するにつれて適応させることができます。本サービスは HIPAA 準拠とエンドツーエンド暗号化を維持し、ケア全体を通じて高水準のプライバシーを確保します。究極的には、このアプローチは業界を「ワンサイズフィッツオール」なラベルから、安価さ、安全性、品質保証、医療監督が個別化された検証と継続的な医師監督を通じてバランスされている厳格なシステムへとシフトさせます。

Zstandard と Pingora を活用すれば、キャッシュストレージの容量をペタバイト単位で節約できます。 | そっか~ニュース