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
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.3k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
200
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
290
Lessons from Spec-Driven Development
simas
PRO
0
210
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
800
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
160
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
580
ふつうのFeature Flag実践入門
irof
8
4.1k
さぁV100、メモリをお食べ・・・
nilpe
0
150
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
8.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Writing Fast Ruby
sferik
630
63k
Crafting Experiences
bethany
1
180
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
The browser strikes back
jonoalderson
0
1.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Paper Plane
katiecoart
PRO
1
51k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
420
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Code Review Best Practice
trishagee
74
20k
Building AI with AI
inesmontani
PRO
1
1.1k
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