PolymarketClickHouse Workshops

08 まとめ

トラックの完了を証明し、ローカルの処理を停止して、本番へのスケールアップの道筋を理解します。

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

最終確認

SELECT
    (SELECT uniqExact(condition_id) FROM polymarket.markets FINAL) AS markets,
    (SELECT count() FROM polymarket.price_ticks) AS ticks,
    (SELECT count() FROM polymarket.trades_clean) AS trades,
    (SELECT count() FROM polymarket.market_midpoints_1m) AS midpoint_minutes,
    (SELECT max(event_at) FROM polymarket.price_ticks) AS newest_tick;

markets、ticks、midpoint_minutes が 0 より大きく、newest_tick がこの実行と一致していれば 完了です。動きの少ないライブ フィードでは、突合された取引が 0 件でも正常です。fixture モードでは 必ず取引が生成されます。

構築したもの

  • 資格情報なしの公開市場ディスカバリー;
  • ハートビート、停止検知、再接続、REST による BBO フォールバックを備えたライブ WebSocket 経路;
  • 時間窓をオーバーラップさせ決定的な ID を持つ、突合済みの公開取引経路;
  • 実際のフィルターを起点に設計した型付き ClickHouse テーブル;
  • 挿入時に計算される 1 分足のクォート中間値集計; および
  • Cloud ダッシュボード、または同等の保存済み SQL 可視化。

ローカルの collector を停止する

docker compose --env-file .env.polymarket down

これでステートレスなコンテナが削除されます。Cloud 上のデータと保存済みクエリは残ります。

任意: Cloud の後片付け

ワークショップのデータがもう不要な場合にのみ実行してください:

DROP DATABASE polymarket;

Cloud サービスの削除やアイドル化は、組織のポリシーに従って clickhousectl またはコンソールから 行ってください。

本番ではどうスケールするか

このワークショップが直接書き込んでいるのは、ソースが HTTP/WebSocket の API で、量も小さいからです。 本番のリレーがすでに Kafka、Kinesis、Pub/Sub、あるいは他のサポート対象ストリームに publish して いるなら、オフセット管理、スキーマ マッピング、バックプレッシャー、エラー処理をマネージドで扱える ClickPipes を使ってください。ワークショップを分散システムらしく見せるためだけにブローカーを 追加してはいけません。

ワークショップ カタログ に戻る、またはこのパスを AI SRE トラック と比べてみてください。

このページの内容

Track your progress?

Optional. We email a link to confirm your address; progress records once you open it.

Please use your work email address, not a personal one.

Progress tracking also requires accepting the current Terms of Service in Privacy settings.

JA