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
jaws_n_20181212.pdf
Search
hmatsu47
PRO
December 12, 2018
Technology
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jaws_n_20181212.pdf
hmatsu47
PRO
December 12, 2018
More Decks by hmatsu47
See All by hmatsu47
中小企業に就職して転職せず30年。結果どうなった?
hmatsu47
PRO
0
94
JAWS ミート 2026 の「出し物」のゲームを Kiro と AI-DLC v2 で作った話
hmatsu47
PRO
0
28
ゲームで挑戦!VPC の気持ちになって IPv4/v6 パケットをルーティングしよう!
hmatsu47
PRO
0
31
続・名古屋城とデータセンター
hmatsu47
PRO
0
30
【再演】IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
35
名古屋城とデータセンター
hmatsu47
PRO
0
42
IPv6 に関する話
hmatsu47
PRO
0
33
さいきんの光ファイバーの話
hmatsu47
PRO
0
79
低いほうのレイヤを見てみる話
hmatsu47
PRO
0
36
Other Decks in Technology
See All in Technology
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
660
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
0
150
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
130
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
160
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
190
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
410
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
560
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Limits of Empathy - UXLibs8
cassininazir
2
710
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
500
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
720
Tell your own story through comics
letsgokoyo
1
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.1k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
Aurora PostgreSQLをちょっとだけ (AWS-HUB@名古屋⽀部【2018年12⽉12⽇】 忘年会スペシャル & re:Invent振り返LT⼤会) hmatsu47(松久 裕保)
re:Invent 2018 前 Aurora Serverless Database with the New Data
API https://aws.amazon.com/jp/about-aws/whats- new/2018/11/aurora-serverless-data-api-beta/ Aurora PostgreSQL Serverless (Preview) https://aws.amazon.com/jp/about-aws/whats- new/2018/11/sign-up-for-the-preview-of-amazon-aurora- postgresql-serverless/ 今⽇はこれらのネタは関係ありません。
ちなみに DMS Version 3.1.2 登場︕ https://aws.amazon.com/jp/blogs/news/introducing-aws- dms-replication-engine-version-3-1-2/ やっと utf8mb4 がサポートされた(らしい)︕
今⽇はこの話でもないです。
とある事情で PostgreSQL Advent Calendar 2018 になにか書くことに 犯⼈依頼⼈はこの⼈↓ 右⼿に持ってるのはしゃもじです
原因はこれだった Advent Calendar を書いてるどころではなかったらしい
仕⽅がないので書いた https://qiita.com/hmatsu47/items/16b8d3e1eaff9e5a6247 https://qiita.com/hmatsu47/items/7adbe764696b85c637a2
内容 PostgreSQL では、共有バッファでデータのキャッシュとダー ティーページの管理などを⾏う MySQL ではバッファプール MySQL のバッファプールとは違い、PostgreSQL の共有バッ ファは⼤きくしすぎてはいけない(らしい)
全メモリ容量の 1/4 くらいまでにとどめておく 共有バッファから溢れた分について、OS のディスクキャ ッシュでフォローしてもらう思想(らしい) Aurora PostgreSQL 互換版では、フェイルオーバーしたときに 共有バッファと OS のディスクキャッシュは両⽅とも⽣きのこ るの︖ 実験︕
結果 共有バッファはフェイルオーバーしても⽣きのこる そもそも OS のディスクキャッシュに相当する機構がない︖ 共有バッファを溢れた分はキャッシュされないのでスト レージノードへ取りに⾏く(ぽい)
ここで RDBMS の仕組みについて⼤雑把に補⾜ データの更新があった場合、 先⾏ログ(Write Ahead Log︓WAL)をシーケンシャル Write でディスクに記録 データページそのものはメモリ上のバッファ/キャッシ
ュに記録するだけですぐにはディスクに書き出さない (ランダム Write の抑制) ある程度変更(ダーティーページ)が溜まったところで まとめて書き出す(チェックポイント処理) MySQL のバッファプールや PostgreSQL の共有バッファはこ の⽤途にも使われている
ところで Aurora の仕組みは︖ データの更新があった場合、 WAL(Redo Log)をストレージノードとクラスタの Reader(レプリカ)に送り出す メモリ上のバッファ/キャッシュには記録するだけ メモリ上のバッファ/キャッシュはただのキャッシュであっ て、ダーティーページ管理には利⽤していない
追記型のストレージ(SQL ノードとは別ノードで処理) キャッシュ外のデータはストレージノードへ取りに⾏く SQL ノードローカルのディスクは経由しない(ので OS の ディスクキャッシュが使われることはない) PostgreSQL 互換版も同じ(ぽい)
もしかして Aurora PostgreSQL 互換版は MySQL 互換版と⽐較して、本家 より遅くなるシーンが多い︖
と、ここで思い出した パラメータグループの shared_buffers の初期値 RDS {DBInstanceClassMemory/32768} Aurora {DBInstanceClassMemory/10922} 3 倍違った
資料を漁ってみた あった https://www.slideshare.net/AmazonWebServices/deep- dive-on-the-amazon-aurora-postgresqlcompatible- edition-dat402-reinvent-2017 P.29 〜 30 「No Double
Buffering」 Aurora PostgreSQL 互換版では全メモリ容量の 3/4 を共有 バッファに取る仕様(⼆重のバッファリングはしない)
めでたしめでたし まてよ︖ 「PostgreSQL の共有バッファは⼤きくしすぎてはいけない」 んじゃなかったの︖ 理由の 1 つはチェックポイント処理(ダーティーページ 書き出し︓Aurora では不要)の負荷だけど…
つづく 気が向いたら… その前に、明⽇⼤阪の re:Invent 2018 ダイジェストに⾏けたら 聞いて来よう 午前中の検査でストップがかからないことを祈る
ありがとうございました