Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Iceberg The Definitive Guide 輪読会第一回
Search
Kentaro Maeda
September 11, 2024
Programming
520
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
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
240
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
3k
SREの越境 / SRE Collaboration
y0hgi
2
290
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
110
Verilogで学ぶCPU自作入門.pdf
uyuki234
8
3.6k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.2k
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
Java 27新機能 / Java 27 new features
kishida
2
180
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
260
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
170
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
950
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Building an army of robots
kneath
307
46k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
My Coaching Mixtape
mlcsv
0
330
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
580
So, you think you're a good person
axbom
PRO
2
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
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に詳しい会社を⽬指す