【Snowflake】Iceberg Tableとは

【Snowflake】Iceberg Tableとは | Tableau-id Press -タブロイド-
表紙

こんにちは!奥津です。

 

Iceberg Tableについて調べているので備忘録的にまとめていきます。

Iceberg TableはSnowflake Summit 2022で発表され、Summit 2023では大幅な機能強化が発表されています。

Summit 2022で発表されたときは大きな反響があったと聞きますが、どんなメリットがあって、どう使うのか見ていきたいと思います。

Apache Icebergとは

SnowflakeのIceberg Tableを知るには、Apache Icebergが何かを知る必要があります。

Apache Icebergはオープンソースのテーブルフォーマットのひとつです。

データのファイルフォーマット(保存形式)というとcsvやjsonなどがありますが、

Apahce Icebergはテーブルフォーマットという類のもので、

これを使ってテーブルを作成すると、このフォーマットに従ってデータとメタデータを保持するようになります。

そしてデータとメタデータを別々にデータレイクに保存するよりも、次のメリットを得られます。

  • フィルタリングやパーティショニングの向上による性能の高速化
  • スキーマ進化の容易化
  • 任意の時点におけるテーブルでの「タイムトラベル」機能
  • テーブルのACID特性の遵守
  • もちろんこれらの機能は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:

    AWSによるオープンソーステーブルフォーマットの比較

    2022年1月時点でのSnowflakeのApache Icebergによるデータクラウドの拡張方針

    SmartNewsのIcebergを活用したデータレイク実践

    SnowflakeによるIceberg Table活用

    データレイクの新しいカタチ:Data Lake Table Formatの紹介

    更新が出来るデータレイクことレイクハウスとは