データ集計・バッチ
夜間の一括計算、分析
推奨:SQL+Python(Polars)
推奨
SQL+Python(Polars)
- 集計はまずSQLで書くのが最短で、SQLで表現しにくい変換だけPythonにする(§2-9)
構成行を開くと詳細(乗り換える条件・根拠・費用・習熟度)
集計SQL(DuckDB、BigQuery、Postgres)
変換Polars
Polars
代替:データ分析・集計作成物ごとの言語の決め方
既定は SQL(DuckDB、BigQuery、Postgres)。SQLで表現しにくい変換があるとき に乗り換える。
Python環境uv(Python本体の導入からロックファイルまで1本)
ワークフローTemporal(長時間・複雑なもの)
Temporal
選ぶ場面§2-10
- 長時間ワークフローリトライ・待機・状態保持をエンジンに任せる
代替:ジョブPython(AI/ML、データ処理が必要な場合に限定)
既定は Celery。長時間ワークフロー に乗り換える。
習熟度
実行Render または Fly.io
Render
代替:デプロイRuby / Rails
既定は Kamal。サーバー管理をしたくないとき に乗り換える。
Fly.io
代替:デプロイRuby / Rails
既定は Kamal。サーバー管理をしたくないとき に乗り換える。
作り始める
共通の準備
# 言語・ツールのバージョン固定(使う言語だけ)
mise use node@lts pnpm@latest
mise use go@latest
mise use ruby@latest
mise use python@latest uv@latest
# Gitフックと依存更新
pnpm add -D lefthook && pnpm exec lefthook install
# renovate.json を置き、GitHubでRenovateアプリを有効化する