shiichan

手が滑る前に止めてくれる!R2 Data Catalog の削除ガード

やっほー、しぃちゃんだよ!今日は「うっかりデータを消して泣く」を防いでくれる、やさしいアップデートを見つけたから紹介するね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog からのお知らせだよ。R2 Data Catalog が、カタログを通さない手動の削除操作の前に警告を出すようになったの。ダッシュボードと Wrangler CLI の両方が対象だよ。

今までどうだったの?

R2 Data Catalog は、R2 バケットに組み込まれた Apache Iceberg のマネージドなカタログなの。Iceberg はデータを「メタデータファイルのツリー」で管理していて、追加・更新・削除は全部カタログのトランザクションを通す前提になってるんだ。

だから、カタログの外でオブジェクトを直接いじったり消したりすると、もう存在しないファイルを指したままのポインタが残っちゃって、テーブルが壊れて中途半端な状態になることがあったの。しかも今までは、それを止めてくれるものが無かったんだよね。

これで何が変わるの?

これからは、Data Catalog が有効なバケットで危ない削除をしようとすると、実行の前にちゃんと確認が入るようになるよ。だから「知らずにテーブルを壊しちゃった」が起きにくくなるの。データ基盤をチームで触っている人ほど安心だね。

深く潜ってみよう

ダッシュボードでは、削除しようとすると「この操作はカタログを無効な状態にしうる」という警告が、ドキュメントへのリンク付きで表示されるよ。そのままキャンセルするか、続行するかを選べるの。

Wrangler では、削除の前にこんなプロンプトが出るよ。

Data Catalog is enabled for this bucket. Proceeding may leave the data catalog in an invalid state. Continue?

どちらも「明示的に確認させる」ことで、うっかりの破損を防ぐ作りになってるんだ。あくまでガードレールだから、消したいときはちゃんと自分の意思で進められるよ。

まとめ

  • R2 Data Catalog が、カタログ外の手動削除の前に警告を出すようになったよ
  • 対象はダッシュボードと Wrangler CLI の両方
  • カタログを通さない削除は Iceberg テーブルを壊す原因になるから、それを未然に防ぐ安全策なの
  • R2 でデータレイクや分析基盤を運用している人にうれしい、小さいけど効く改善だよ