Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Iceberg The Definitive Guide 輪読会第一回
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kentaro Maeda
September 11, 2024
Programming
510
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Iceberg The Definitive Guide 輪読会第一回
Kentaro Maeda
September 11, 2024
Other Decks in Programming
See All in Programming
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
仕様駆動開発の消費期限
watany
6
1.2k
AIエージェントで 変わるAndroid開発環境
takahirom
2
770
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
310
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
810
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
470
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
650
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
200
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
960
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
870
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Utilizing Notion as your number one productivity tool
mfonobong
4
500
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Transcript
Apache Icebergとはなにか 2024/06/28
データレイクハウスに⾄るまで 2 ©RAKUDEJI Inc, 2024.
データレイクハウスに⾄るまでの系譜 3 ©RAKUDEJI Inc, 2024. PostgreSQL 取り込みにコストが かかる クラウド データウェアハウス
データレイク データレイク ハウス オンプレ データウェアハウス リレーショナル データベース Teradata MySQL Snowflake Apache Hive Apache Iceberg ⾼い・スケールしない 集計が遅い 集計が早い 無限にスケールする 取り込みが簡単 データの不整合が発⽣しない スキーマオンライト パフォーマンスの問題を改善 カタログとエンジンの互換性 ファイル数が巨⼤になると遅い スキーマオンリード
データレイクとデータレイクハウス 4 ©RAKUDEJI Inc, 2024. Hive: 代表的なデータレイクのテーブルフォーマット db1.table1というテーブルは/db1/table1というディレクトリに格納されるシンプルな構成 ⾼速化のためにクラスタリングをサポート `where
k1=A`の時は/db/table1/k1=A以下だけを⾒れば良い 問題点 フォルダ=テーブルという構成はわかりやすいが効率が悪かった 遅い 例えばk1=Aに該当するファイルが数千万個になった場合に S3のファイルスキャンが遅い(最⼤5500 ファイル/s) 整合性の問題 ファイルの削除順の問題 k1=Aに該当するファイルを削除中に読み取りが⾏われた 場合に不完全な結果を返す場合がある
データレイクとデータレイクハウス 5 ©RAKUDEJI Inc, 2024. Iceberg: Hiveの問題点を解決するためのテーブルフォーマット。 ファイルとフォルダではなく、メタデータファイルで具体的なデータファイルを指定 クエリエンジンがIcebergテーブルにクエリを⾏うまで 1.
Icebergカタログから、メタデータファイルの場所(s3)を取得 2. クエリエンジンがメタデータファイルからスキーマ、パーティション情報、 最新のスナップショットを読み込む 3. クエリエンジンが最新のスナップショットのマニフェストリストの場所を取 得 4. クエリエンジンがマニフェストリストからマニフェストファイル⼀覧を取得。 マニフェストファイルにはデータファイルの場所、列の最⼤値・最⼩値など の情報が含まれている。 5. クエリエンジンが、SQLの条件から読み込むべきファイルを絞り込む(プルー ニング) 6. クエリエンジンがデータレイヤーにアクセスして、データを取り出す 7. クエリエンジンがマシンリソースで処理して結果を返す
Icebergテーブルを実際に⾒てみる 6 ©RAKUDEJI Inc, 2024.
クエリエンジンとは︖ 7 ©RAKUDEJI Inc, 2024. どんなコンピューターで処理するか︖どうやってデータを取得するか︖などを管理する Snowflake Snowflakeの管理するウェアハウスで処理 Spark AWS
SageMakerなどからSparkクラスタを⽤意して利⽤ Trino AWS EC2などで セルフホストできる分散クエリエンジン Icebergだけでなく、S3やRDBなどに直接 クエリできる
Icebergを利⽤するのはどんなときか︖ 8 ©RAKUDEJI Inc, 2024. 1. 数⼗TB~規模の巨⼤なデータを格納する場合 COPY INTOを実⾏するコストをカットできる 例:
携帯キャリアの通信履歴、Netflixの視聴履歴 2. SparkやTrinoからも同じテーブルにアクセスしたい場合 Snowflake以外からもクエリできる 例: 沢⼭の⼦会社などがあり、Snowflakeを強制することが出来ない場合 Icebergテーブルを作るようにすれば、データの移動なく様々なクライアントからアクセスできる
SnowflakeのIcebergテーブルでサポートされていない機能 9 ©RAKUDEJI Inc, 2024. * クローン * ⼀部のドライバー: *
ODBCドライバー * .NETドライバー * Go Snowflakeドライバー * Snowflake⽤PHP PDOドライバー * Node.jsドライバー * ダイナミックテーブル * フェイルセーフ * ハイブリッドテーブル * クエリ⾼速化サービス * Icebergテーブル、外部ボリューム、カタログ統合のレプ リケーション * 検索最適化サービス * Snowflake暗号化 * Snowflake Nativeアプリフレームワーク * Snowflakeスキーマ進化 * Snowpipeストリーミング: * SnowpipeストリーミングでのSnowflake Connector for Kafkaコネクタ * Snowflake Ingest SDK * Snowpipeストリーミング API * ⼀時テーブルと⼀時的テーブル 外部カタログを使⽤するIcebergテーブル: * クラスタリング * 標準ストリーム
©RAKUDEJI Inc., 2024. 10 世界で⼀番Snowflakeに詳しい会社を⽬指す