0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Icebergとは何かについて理解していきたい

Last updated at Posted at 2024-07-06

1.Data Cloud Summit 2024 にて Iceberg Table が GA された

結構大々的にData Cloud Summit2024にてGAの発表がありました。

私自身、Icebergを使ったことがないので、なんのこっちゃと思っていたので
実際に調べてみました。

Icebergを理解するためにはまず、データレイクハウスと言うものを理解しておく必要があります。

前段で先にまとめておくと
Icebergはデータレイクハウスを利用するために用いるもの。

データレイクハウスを使用するには、csvなどのファイルフォーマットだけでは使用できない。(スキーマ情報などが不足)

そこで、Icebergテーブルを用いて
データのスキーマ情報やパーティショニング情報を格納するもの。

そのデータレイクハウスの分析エンジンとして、
snowflakeと言うものがあります。

簡単に、説明しましたがここから細かく探っていきたいと思います。

2.データレイクハウスとは

これは聞いたことがある人いるかもしれません。
S3などに格納されている実物のデータをそのまま分析したい時に
使用します。

その際に、テーブルフォーマットを扱うことで、データ型だったり、パーティショニングを解析してくれます。

3.テーブルフォーマットとは

テーブルフォーマットというのは、あるデータセットが1つのテーブルとして表現できるように、ファイルの管理方式を定めます。

テーブルフォーマットはクエリ実行において、主に2つの大きな役割を果たしています。

1つ目は、どのファイルがテーブルのデータを構成しているかに答えることです。2つ目は、そのファイルがどのように読み書きできるかに答えることです。そのためには、パーティショニングやスキーマ定義など、メタデータの管理も必要になります。

データ自体はAvroやParquetなどの列思考データフォーマットで格納します。

IceBergが登場する前は

Delta Table / Hive format などが存在していました。

IceBurgは、テーブルフォーマットに仲間入りしたと言うことです。

3.1 なぜIcebergが優れているのか?

今前までデファクトスタンダードとなっていた
Hive Formatを例にしてみると、

テーブルの管理に使われるパーティションやスキーマなどのメタデータの変更、照会はHive Metastoreというサーバーを介して行われます。

Hive Metastoreのバックエンドでは、メタデータがRDBMS(Relational DataBase Management System)に保存されます。

そのため、クエリなどが多い場合
そのRDBMSにアクセスが集中してしまい、結果としてボトルネックになるという問題点がありました。

IceBergでは、テーブル情報がファイルによって管理されているため、Hive Metastoreと違いRDBMSがなく

個々別々のファイルで管理されているので、そのような問題が解消されたと言う例がありました。

4.IceaBergのアーキテクチャ

詳しく書くよりもこちらを参考にするとよさそうです。笑
自分もまだ全て見切れていないので、個人的に解釈完了したらまた記事にしたいと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?