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
Cloud Native Database Meetup LT Cloud Native DB...
Search
kenz
July 16, 2021
Technology
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Native Database Meetup LT Cloud Native DBと言えば論文!!
https://cndata.connpass.com/event/215876/
LT @ Cloud Native Database Meetup #1
kenz
July 16, 2021
More Decks by kenz
See All by kenz
Google Cloud Next '19 Summary: BigQuery BI Engine, AutoML, Data Fusion
kenz_
1
530
GCP: AutoML Translation API
kenz_
1
550
Other Decks in Technology
See All in Technology
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
130
FDEの心得
noriakioji
5
6.4k
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
Android skills に学ぶ
kokiko
0
130
SmartHR Engineering Team Deck
smarthr
1
3.2k
tamachi.go 誕生の裏側
rymiyamoto
1
190
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
680
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
180
Model Studio CLI × Token Plan
maigo999
0
200
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
560
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
110
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
How to build a perfect <img>
jonoalderson
1
5.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
930
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Test your architecture with Archunit
thirion
2
2.4k
Designing for Timeless Needs
cassininazir
1
450
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Transcript
Cloud Native Database Cloud Native Database Meetup LT Meetup LT
Cloud Native DBと言えば論文!! Cloud Native DBと言えば論文!! @kenji @kenji 1 1
About me About me 名前/所属: 米川 賢治 @ 某SIer 名前/所属:
米川 賢治 @ 某SIer Likes: 分散システム, Google Cloud, MLが大好きなエンジニア Likes: 分散システム, Google Cloud, MLが大好きなエンジニア お手伝い: GCPUG Yokohama, JTUG お手伝い: GCPUG Yokohama, JTUG linkedin: linkedin: https://www.linkedin.com/in/kenjiyonekawa/ https://www.linkedin.com/in/kenjiyonekawa/ 2 2
アウトライン アウトライン なぜCloud Native DBと言えば論文なの? なぜCloud Native DBと言えば論文なの? 効率の良い論文の読み方 効率の良い論文の読み方
論文読んでみた例 論文読んでみた例 3 3
なぜCloud Native DBと言えば論文なの? なぜCloud Native DBと言えば論文なの? 4 4 . .
1 1
Cloud Native DBの多くが論文を参考にしてる! Cloud Native DBの多くが論文を参考にしてる! 一例: 一例: : :
: : , , : : , , : : , , , , : : : : , , HBase HBase Bigtable Bigtable Spanner Spanner Paxos Paxos Bigtable Bigtable CockroachDB CockroachDB Spanner Spanner Logical Physical Clocks Logical Physical Clocks TiDB TiDB Spanner Spanner Percolator Percolator Raft Raft Apache Drill Apache Drill Dremel Dremel Dynamo Dynamo Vector Clock Vector Clock Consistent Hashing Consistent Hashing 4 4 . . 2 2
論文読めば設計思想や制約が分かる! 論文読めば設計思想や制約が分かる! 例えば。。。 例えば。。。 Raft vs Paxos: 複雑さとコミュニケーションオーバヘッドのト Raft vs
Paxos: 複雑さとコミュニケーションオーバヘッドのト レードオフ レードオフ Percolator: リポジトリよりもアップデートのサイズが小さい Percolator: リポジトリよりもアップデートのサイズが小さい 時に、高い性能を発揮する 時に、高い性能を発揮する TiDBは2PCのベースでPercolatorを使ってる TiDBは2PCのベースでPercolatorを使ってる Vector Clock: causalityは分かるけど、パラレルは分からない Vector Clock: causalityは分かるけど、パラレルは分からない Raft Paxos Raft Paxos 4 4 . . 3 3
使うにしても作るにしても意識したほうが良い! 使うにしても作るにしても意識したほうが良い! どういう背景や思想で作られたもの? どういう背景や思想で作られたもの? 制約はどう解決する?それともそのまま受け継ぐ? 制約はどう解決する?それともそのまま受け継ぐ? 自分たちのワークロードでも満足に動くアーキテクチャ? (デ 自分たちのワークロードでも満足に動くアーキテクチャ? (デ
ータ量?レスポンス?) ータ量?レスポンス?) ちゃんと理解しておくことで、正しく使えるし、 ちゃんと理解しておくことで、正しく使えるし、 何か合っても直し方の当たりが付きやすい! 何か合っても直し方の当たりが付きやすい! 4 4 . . 4 4
効率の良い論文の読み方 効率の良い論文の読み方 5 5 . . 1 1
これで これで30分もあれば要点理解できる 30分もあれば要点理解できるはず はず メタデータ見てみる メタデータ見てみる 被参照数:多い方が良い ( 被参照数:多い方が良い (
) ) 学会 :良い学会の方が良い ( 学会 :良い学会の方が良い ( , , , , , , , , とか) とか) Author :1st/lastだけ見ればOK Author :1st/lastだけ見ればOK 参照先 :良いのが多い方が良い 参照先 :良いのが多い方が良い 論文の中身読んでみる 論文の中身読んでみる Abstract読む -> intro読む(長かったら飛ばす) -> Abstract読む -> intro読む(長かったら飛ばす) -> conclusion読む -> チャート見る conclusion読む -> チャート見る PageRank PageRank SIGKDD SIGKDD SIGMOD SIGMOD TKDE TKDE WWW WWW VLDB VLDB 5 5 . . 2 2
論文読んでみた例: 論文読んでみた例: 今日のテーマである 今日のテーマであるトランザクション トランザクション 6 6 . . 1
1
“Opportunities for Optimism in Contended Main- “Opportunities for Optimism in
Contended Main- Memory Multicore Transactions”を読んでみる Memory Multicore Transactions”を読んでみる 6 6 . . 2 2
論文の概要 論文の概要 競合が多いマルチコア&メインメモリのトランザクションの話 競合が多いマルチコア&メインメモリのトランザクションの話 結果: TPC-Cで 結果: TPC-CでMVCCで3.4倍 MVCCで3.4倍、 、OCCで3.6倍
OCCで3.6倍の性能出た! の性能出た! 結論: 結論: OCC(楽観的並行性制御)はこれまで考えられてたよりも OCC(楽観的並行性制御)はこれまで考えられてたよりも 使い物になるはず 使い物になるはず コントリビューション: コントリビューション: 正しいトランザクション評価方法の提案 正しいトランザクション評価方法の提案 既存の評価方法に色々不具合があって、OCCは過 既存の評価方法に色々不具合があって、OCCは過 小評価されていた 小評価されていた Commit-time updatesとTimestamp splittingの組み合 Commit-time updatesとTimestamp splittingの組み合 わせ わせでOCCもMVCCも性能上がる でOCCもMVCCも性能上がる 6 6 . . 3 3
サマリ サマリ Cloud Native DBは Cloud Native DBは論文読むことで理解深まるし、 論文読むことで理解深まるし、 より適した使い方できる!
より適した使い方できる! 設計思想や制約が分かる 設計思想や制約が分かる コツつかめば、サクッと読める コツつかめば、サクッと読める 7 7
終わりに & 宣伝 終わりに & 宣伝 技術書展11でGoogleのSRE第3弾の本出してるので良かった 技術書展11でGoogleのSRE第3弾の本出してるので良かった ら見て下さい:) ら見て下さい:)
多くの分散システムを設計してきたGoogleによる、セキュア 多くの分散システムを設計してきたGoogleによる、セキュア &信頼性の高いシステム設計の話 &信頼性の高いシステム設計の話なので、Cloud Native DBに なので、Cloud Native DBに もゆかりが深い(と思います) もゆかりが深い(と思います) https://techbookfest.org/product/6336646121259008? https://techbookfest.org/product/6336646121259008? productVariantID=6060960819183616 productVariantID=6060960819183616 8 8
Thanks!!!:) Thanks!!!:) 9 9