01 / DECISION
この primitive を選ぶ時
metrics は Analytics Engine、task fan-out は Queues のままにし、複数の独立した consumer が同じ順序付きログを replay する必要がある時に K2 を、大量の open-format な履歴に SQL が必要な時に Basin を足します。
02 / ARCHITECTURE
最小で説明可能な path を作る
Basin Pipelines の setup で stream、SQL transformation、R2 上の Iceberg table を作り、compaction と snapshot expiration は Basin Catalog に任せ、warehouse は Basin SQL で問い合わせます。K2 では producer が record を追記し、subscription が単一の consumer group か複数の独立した consumer に配信します。
- 01contract を定義
metrics は Analytics Engine、task fan-out は Queues のままにし、複数の独立した consumer が同じ順序付きログを replay する必要がある時に K2 を、大量の open-format な履歴に SQL が必要な時に Basin を足します。
- 02primitive を一つ追加
Basin Pipelines の setup で stream、SQL transformation、R2 上の Iceberg table を作り、compaction と snapshot expiration は Basin Catalog に任せ、warehouse は Basin SQL で問い合わせます。K2 では producer が record を追記し、subscription が単一の consumer group か複数の独立した consumer に配信します。
- 03failure evidence を残す
sample event を stream の ingest endpoint に POST し、同じ行を warehouse への Basin SQL query で読み戻します。K2 では各 subscription が受け取るべき record を受け取り、replay が同じ順序を返すことを確認します。
03 / REPRODUCE
confidence の前に evidence
sample event を stream の ingest endpoint に POST し、同じ行を warehouse への Basin SQL query で読み戻します。K2 では各 subscription が受け取るべき record を受け取り、replay が同じ順序を返すことを確認します。
npx wrangler basin pipelines setup 04 / BOUNDARY
Production boundary
Basin は GA ですが、K2 は Workers Paid 上の public beta で、account ごとに 10 GB、保持期間は最長 30 日です。Basin SQL は analytical であり transactional ではないため D1 の代わりにはならず、Basin Pipelines の各 stream の ingest 上限は 1 GB/s です。Cloudflare Pipelines・R2 Data Catalog・R2 SQL は Basin Pipelines・Basin Catalog・Basin SQL に改名され、旧名で作成したリソースも引き続き動作します。
05 / FIRST-PARTY SOURCES
一次資料を authoritative に保つ
product behavior、limit、pricing、availability は変わります。実行前に source を再確認してください。