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
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
370
AI 輔助遺留系統現代化的經驗分享
jame2408
1
860
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
310
The NotImplementedError Problem in Ruby
koic
1
870
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.8k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
OSもどきOS
arkw
0
580
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
570
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
280
Featured
See All Featured
We Are The Robots
honzajavorek
0
250
Site-Speed That Sticks
csswizardry
13
1.2k
Ethics towards AI in product and experience design
skipperchong
2
310
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
For a Future-Friendly Web
brad_frost
183
10k
Abbi's Birthday
coloredviolet
2
8.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
A designer walks into a library…
pauljervisheath
211
24k
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