こんにちは!奥津です。
Iceberg Tableについて調べているので備忘録的にまとめていきます。
Iceberg TableはSnowflake Summit 2022で発表され、Summit 2023では大幅な機能強化が発表されています。
Summit 2022で発表されたときは大きな反響があったと聞きますが、どんなメリットがあって、どう使うのか見ていきたいと思います。
Apache Icebergとは
SnowflakeのIceberg Tableを知るには、Apache Icebergが何かを知る必要があります。
Apache Icebergはオープンソースのテーブルフォーマットのひとつです。
データのファイルフォーマット(保存形式)というとcsvやjsonなどがありますが、
Apahce Icebergはテーブルフォーマットという類のもので、
これを使ってテーブルを作成すると、このフォーマットに従ってデータとメタデータを保持するようになります。
そしてデータとメタデータを別々にデータレイクに保存するよりも、次のメリットを得られます。
もちろんこれらの機能はSnowflakeでも得られますが、
Apache Icebergを使えばデータレイクが何かに依らずこのメリットを得ることができます。
Apache Icebergと並んで比較されるオープンソースのテーブルフォーマットとしては、Apache Hudi、Delta Lakeが挙げられます。(AWSからこの比較記事が出ています。)
ちなみにApache IcebergはNetflixによって開発され、巨大なペタバイト規模のテーブル用に設計されているそうです。
Snowflake Iceberg Tableとは
Summit 2022の発表の反響の大きさは、Snowflakeユーザーにおいても
Apache Icebergユーザーがそれだけ多く、待ち望まれていたことを表しているかと思います。
SnowflakeのIceberg Tableを使うと、
既にApache Icebergを使っている外部データをSnowflakeでそのまま使用できることに加え、
Snowflakeを使ってApache Icebergのテーブルフォーマットのテーブルを作成することもできます。
Summit 2023の発表では両者をUnified Iceberg Tableという形に統合し、パフォーマンスも劇的に改善されたことが発表されました。
次回以降
さてここまでIcebergが何で、Snowflakeで何ができるのか見てみました。
次回以降ユースケースを見て見たり、Iceberg Tableを使ってみたりしてみようと思います。
参考URL:
2022年1月時点でのSnowflakeのApache Icebergによるデータクラウドの拡張方針
SmartNewsのIcebergを活用したデータレイク実践
データレイクの新しいカタチ:Data Lake Table Formatの紹介