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
Rubyistのみんなに 私の推しのDuckDBを 紹介させてください
Search
kei-q
September 29, 2024
Programming
91
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyistのみんなに 私の推しのDuckDBを 紹介させてください
kei-q
September 29, 2024
More Decks by kei-q
See All by kei-q
春の鎌倉 Tech&Product Meet発表資料
keqh
0
44
Repro_Tech_Meetup__1_Docker.pdf
keqh
4
720
KeyRemac4MacBook.rb
keqh
0
150
PSD.rbでiPhoneアプリ開発のギョームをカイゼンしたい(仮)
keqh
0
200
すごいErlang楽しく学んだ!
keqh
0
220
Other Decks in Programming
See All in Programming
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
190
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
スマートグラスで並列バイブコーディング
hyshu
0
240
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
150
ふつうのFeature Flag実践入門
irof
8
4.1k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
670
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
Agentic UI
manfredsteyer
PRO
0
180
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
The SEO Collaboration Effect
kristinabergwall1
1
490
How STYLIGHT went responsive
nonsquared
100
6.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
How to make the Groovebox
asonas
2
2.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
Rubyistのみんなに 私の推しのDuckDBを 紹介させてください 2024-09-29 TokyuRuby会議15 @kei_q
DuckDBとは 2
DuckDBとは https://duckdb.org/ のトップページより引用 3
4
https://mytherin.github.io/papers/2019-duckdbdemo.pdf Figure 1 5
6
組み込みOLAPのRDBMSの用途は - インタラクティブなデータ分析 - 「エッジ」コンピューティング これらのニーズを満たすための組み込み+OLAP領域が空白 これを埋めるのが 7
DuckDBは 早くて: - 実行ファイル一個で動作、他システムへの組み込みも容易 - 分析のユースケースに合った便利な機能や拡張余地を提供 速い: - 分析むけqueryの爆速処理 -
https://duckdblabs.github.io/db-benchmark/ 8
データ分析って…… 9
データ分析ってBig Dataを扱うのでは? BigQueryとか Snowflakeとか Redshiftとか 他にもいろいろ 10
だいぶ強いタイトルだが BigQueryにおける話ということに留意しておく必要あり https://motherduck.com/blog/big-data-is-dead/ 2023/02/07 11
https://www.fivetran.com/blog/how-do-people-use-snowflake-and-redshift 2024/09/17 12
https://www.fivetran.com/blog/how-do-people-use-snowflake-and-redshiftより引用 > Of queries that scan at least 1 MB,
the median query scans about 100 MB. The 99.9th percentile query scans about 300 GB. 13
世の中は思っているほど • そもそもBigなDataを持ってないし ◦ 分析対象がSalesforceなどが主体だとデータは小さいけど十分価値があるとか • 持っていたとしてもほとんどの場合全体の一部しか一度にスキャンしない ◦ 特定の期間のデータをみる ◦
特定の顧客のデータをみる ◦ 特定の列のデータをみる ◦ 事前に集計済みのデータをみる その大多数のクエリをシンプル・高速・低コストで処理できるとしたら??? ……もちろんここが速いだけではデータの理解や意思決定が速くなるわけではないが、大事な要素ではある 14
DuckDBの使用例 15
とあるVlogのデータを処理する例 動画のメタデータ1100件、圧縮前で合計530MBのjson処理 16
今日は機能の詳細は話さないので…… https://speakerdeck.com/ktz/duckdbza-shao-jie-1-dot-1dui-ying-ban-at-duckdbzuo-tan-hui 17
でも…… 18
正直、DuckDBの良さを伝えるのは難しい https://www.thoughtworks.com/insights/podcasts/technology-podcasts/exploring-duckdb からgoogle翻訳して引用 19
でもそれ〇〇で良くない? - でもそれPandasで良くない? - でもそれBigQueryで良くない? - でもそれGoogle Scheetで良くない? - でもそれjqで良くない?
- でもでもでもでもでもでもでも 20
でもそれ〇〇で良くない? - でもそれPandasで良くない? - でもそれBigQueryで良くない? - でもそれGoogle Scheetで良くない? - でもそれjqで良くない?
- でもでもでもでもでもでもでも → YESでもありNOでもある → 置き換えだけではなく、共存もあるし、そのままの方が良いこともある 21
DuckDBの使い道 から考えてみる 22
(再掲) 組み込みOLAPのRDBMSの用途は - インタラクティブなデータ分析 - 「エッジ」コンピューティング これらのニーズを満たす領域が空白 これを埋めるのが 23
使い道の一部 - small data(~1TB) をシンプル・高速に分析処理 - 最初のVlog処理の例 - GIS -
ツールへの組み込み・backendとしての利用 - dataframe library、vscode extension、browser extension - Operational BI - rill, evidence, jupySQL - データ処理のCI、データ検証、前処理 - dbtのdata_testsなど - 他ツールとの連携・共存 - pg_duckdbでOLTP+OLAP - エッジでの処理 - クライアントサイドでの分析処理 - クライアントサイドでの前処理してからのデータ転送 24
利用例: DuckDB単体での利用 - DuckDBでlocalでの分析 - - CLIツールとしての利用 25
利用例: ツールの組み込み・backendとしての利用 - ibis - vscode extension - evidence 26
Operational BI Rill Operational BI vs. Traditional BI 27
データの検証 https://github.com/borjavb/dbt-iceberg-poc 28
クライアントサイドでの分析処理 https://zenn.dev/voluntas/scraps/e5d7c900726ad7 https://voluntas.github.io/duckdb-wasm-parquet/ 29
私がDuckDBを推す きっかけ 30
ある日のBigQueryでの各種作業 Bigqueryのデータパイプライン構築における各種処理 データソースの把握・探索、生成したデータの検証、中間データの品質管理 31
BigQueryでの各種作業での課題感 困ったポイント:BigQueryでのqueryの実行速度 検証を繰り返すには遅いと感じる状況 扱っている多くのデータがGBレベルですらなかった 32
推しになったきっかけ 各種ステージのデータの探索がキビキビできる → データの理解がどんどん深まってどんどん良くなる → 楽し 33
DuckDBに少しでも興 味を持ったあなたへ 34
とりあえず試してみたい https://duckdb.org/docs/installation/ https://shell.duckdb.org/ 35
機能面に興味がある方 https://speakerdeck.com/ktz/duckdbza-shao-jie-1-dot-1dui-ying-ban-at-duckdbzuo-tan-hui 36
OLAPでDuckDBが重要な理由がピンとこない人は BIG DATA IS DEAD Redshift Files: the Hunt for
Big Data How do people use Snowflake and Redshift? 37
体系的に学びたい人は DuckDB IN ACTION (August 2024) Getting Started with DuckDB
(June 2024) DuckDB: up & running (January 2025) 全てlearning.oreillyで読める DuckDB IN ACTIONはmotherduckが無料で公開中 38
DuckDB関連のイベント - Small Data SF - https://www.smalldatasf.com/2024 - DuckCon -
https://duckdb.org/2024/08/15/duckcon5.html 39
DuckDB関連のyoutube channel https://www.youtube.com/@duckdb https://www.youtube.com/@motherduckdb 40
41