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
DBMS自作によるトランザクション処理の学習
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yutaro Oguri
March 26, 2024
Programming
430
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DBMS自作によるトランザクション処理の学習
Yutaro Oguri
March 26, 2024
Transcript
10 slides
DBMSࣗ࡞ʹΑΔ τϥϯβΫγϣϯॲཧͷֶश খ܀༔ଠ 1
自己紹介 • 小栗 悠太郎 (Yutaro Oguri) • 東京大学 工学部 電子情報工学科
B4 • GitHub: maronuu • 研究: Approximate Nearest Neighbor Search (ベクトル検索) • 興味: 検索, DBMS, データ基盤, k8s, … 2
概要 • ラボユース: 2023/10〜活動開始 • ”Database Design and Implementation”という本を ベースにDBMSについて学びながらC++で自作
• トランザクション処理に注目 • 展望: ベクトル検索拡張機能の追加 3
DBMSの全体像 • File Manager ◦ ファイルI/O • Log Manager ◦
Logの書き込み • Buffer Manager ◦ Buffer pool (on RAM) • Recovery Manager ◦ Logを元に復元 • Concurrency Manager ◦ 並行制御 4
DBMSの全体像 • File Manager ◦ ファイルI/O • Log Manager ◦
Logの書き込み • Buffer Manager ◦ Buffer pool (on RAM) • Recovery Manager ◦ Logを元に復元 • Concurrency Manager ◦ 並行制御 5 実装したい部分
トランザクション • 1つ以上の処理をまとめた操作の単位 • 例: 2人のユーザが同一データに対して write / readをする場合 •
インタフェース ◦ Read(x), Write(x, val) ◦ Abort(), Commit() • 適切に Lock を取るなどして対処 • lockをとる対象 ◦ Block, value, file, … 6 Image is from https://qiita.com/kumagi/items/5262ff4551ba19943b70
自作DBMSにおけるLockプロトコル • Lockをとる対象: block ◦ tx.pin(block) • 2PLプロトコル ◦ Readする直前に、対象Blockに対してshared
lock (read lock) をとる ◦ Writeする直前に、対象Blockに対してexclusive lock (write lock) をとる ◦ Commit / Rollback後に全てのlockを解放する 7
現状 • File Manager ◦ ファイルI/O • Log Manager ◦
Logの書き込み • Buffer Manager ◦ Buffer pool (on RAM) • Recovery Manager ◦ Logを元に復元 • Concurrency Manager ◦ 並行制御 8 クエリ言語を介する File / Log / Buffer までは実装済み
今後の展望: ベクトル検索拡張機能 • ベクトル検索とは? ◦ ベクトルの集合から最もクエリベクトルに近いベクトルを探す ◦ 深層学習モデルによる埋め込みベクトルの活用 • 例)
sqlite-vss ◦ SQLiteでベクトル検索を可能にする拡張機能 ◦ SELECT papers.*, vss_papers.distance FROM vss_papers JOIN papers ON vss_papers.rowid = papers.id WHERE vss_search(vss_papers.summary_embedding, vss_search_params(?, 10)) 9
今後の展望: ベクトル検索拡張機能 必要となる変更 • ベクトル形式の レコードのサポート • 並行制御をどうする? ◦ ベクトル検索では
Readが圧倒的 ◦ とりあえずなし? 10
More Decks by Yutaro Oguri
See All by Yutaro Oguri
gokartの分散並列化ライブラリkannonの紹介 @【Sansan×エムスリー】gokartで爆速開発!MLOps勉強会
yutarooguri
0
4.4k
MLパイプラインをk8sで並列分散化するOSS "kannon"の開発
yutarooguri
1
530
デバッガを自作してみよう (M3 tech talk)
yutarooguri
1
720
Other Decks in Programming
See All in Programming
ActionController meets Protocol Buffers
sorah
1
800
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
660
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
610
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
340
GraphQL の onError と Nullability のこれから
quramy
0
210
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
200
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
220
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Spec-driven Development with AI
simas
PRO
0
2.3k
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
6.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Amusing Abliteration
ianozsvald
1
390
Making the Leap to Tech Lead
cromwellryan
135
10k
The SEO Collaboration Effect
kristinabergwall1
1
620
YesSQL, Process and Tooling at Scale
rocio
174
15k
A Tale of Four Properties
chriscoyier
163
24k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
ラッコキーワード サービス紹介資料
rakko
5
5.8M
How to make the Groovebox
asonas
2
2.6k