定期スクリプト → ファイル
個人的な収集。マシン 1 台。出力は自分で読む
$0 · 最小
△ 他人が出力に依存する、またはマシンが止まるとデータが欠ける
図面セット · L0–L3
データシステムとは、誰も見ていない間も動き続ける機械です。予定どおり情報源を取得し、返ってきたものを整え、保存し、結論を公開します。その故障は静かです。情報源が形式を変え、ジョブが黙って飛ばされ、ページは昨日の数字を今日のもののように表示し続けます。この図面セットは、本サイトの世界情報レーダーを実例に、こうしたシステムの形を示します。
設計思想
データシステムとは、その数字が正しく新しいという約束です。何も表示しないのは誠実ですが、古いデータを新しく見せるのは自動で語られる嘘です。
危険な故障はクラッシュではなく、ジョブが飛ばされ、空を返し、成功と報告することです。違うと証明されるまで、空の結果は警報として扱います。
変換する前に、情報源が実際に返したものを保存します。ロジックは直して再実行できますが、残さなかったデータは戻りません。
すべての結論は情報源と取得時刻を指し示し、予測は公開の場で答え合わせをします。信頼は自信からではなく、検証できることから生まれます。
自分のための収集なら、ファイルに書く定期スクリプトで十分です。他人が出力に頼り始めたらホスト型の定期実行とデータベースへ。キューに進むのは、1 回の実行が時間制限に収まらなくなってからです。
同じ情報源を手で確認し続けていて、機械に任せたい段階です。読むのは自分だけなので、実行漏れは空白ができるだけで済みます。
自分のマシンでタイマー実行するスクリプトが、いくつかの情報源を取得し、実行ごとに日付付きのファイルを書きます。生の応答は整えた結果の隣に保存します。
Δ この段階で追加
地図上の形: 定期スクリプト → ファイル
情報源に最適なパーサーがある言語を使います。ページのスクレイピングより公式のフィードや API を優先します。壊れにくく、規約も明確です。
他の人がページを読み、ダイジェストを購読しています。ノート PC を閉じたらデータが欠ける、はもう許されず、間違った数字は他人を誤らせます。
スケジュールはホスト型の基盤へ移り、毎時収集器を動かしてデータベースに書き、公開ページを配信します。保存前にすべての項目を想定の形で検証し、実行ごとに自身の健全性を記録します。
Δ この段階で追加
地図上の形: ホスト型 cron + DB + サイト(レーダーの形)
スケジュール、データベース、サイトが同じ場所にある基盤を選びます。部品が少ないほど静かな故障も減ります。ジョブを設計する前に、1 回あたりの時間と CPU の上限を確認します。
その他の選択肢 · 本サイト未検証
読者は出力から判断を下し、購読者は支払うかもしれず、一部の情報源には利用規約や個人情報があります。間違った数字や漏れたフィールドには結果が伴います。
結論は情報源と日付とともに追記のみの台帳に入り、予測は期限が来るとコードで精算されます。生の応答は安価なストレージに保管し、情報源ごとの規約を記録し、個人データは保存前に除去します。
Δ この段階で追加
地図上の形: ホスト型 cron + DB + サイト(レーダーの形)
判断と記帳を分けます。分析はモデルが書いてもよいですが、予測が当たったかの精算は、誰でも再実行できる普通のコードでなければなりません。
数百の情報源が 1 回の時間制限に収まらず、毎時いくつかが失敗し、何年分の履歴に問いを投げたい人が現れました。
収集はキュー上の小さなジョブに分かれ、それぞれ個別に再試行でき、2 回動いても安全です。生のアーカイブが唯一の事実の源となり、分析層は手で直すのではなくそこから作り直します。
Δ この段階で追加
地図上の形: キューベースのパイプライン · データウェアハウス + 分析層
ウェアハウスより先にキューを入れます。多くのデータシステムは、DB 一つで答えられない問いより、ずっと先に 1 回の時間制限にぶつかります。
その他の選択肢 · 本サイト未検証
取り得るすべての形。その大半は「まだ作るべきでないもの」を知るためにある。
個人的な収集。マシン 1 台。出力は自分で読む
$0 · 最小
△ 他人が出力に依存する、またはマシンが止まるとデータが欠ける
他人が頼る公開ページや配信。1 回の実行は 1 分以内
$0–5/月 · 低〜中
△ 1 回の実行が基盤の時間や CPU の上限に収まらない、または並列取得が必要
多くの情報源、再試行、部分的な失敗に耐えるべき工程
$5–50/月 · 中〜高
△ 最新ページだけでなく、何年分の履歴に問いを投げる必要が出た
大量の履歴、多くの利用者、誰も想定しなかった問い
$50–500+/月 · 高
△ ここが最上階。DB 一つでまだ答えられるなら下にとどまる
各概念に平易な一文とたとえ話をひとつずつ。ツールモジュールをクリックしても同じ解説が出る。