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
jaws_n_20181212.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
hmatsu47
PRO
December 12, 2018
Technology
470
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
ゲームで挑戦!VPC の気持ちになって IPv4/v6 パケットをルーティングしよう!
hmatsu47
PRO
0
20
続・名古屋城とデータセンター
hmatsu47
PRO
0
20
【再演】IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
21
名古屋城とデータセンター
hmatsu47
PRO
0
32
IPv6 に関する話
hmatsu47
PRO
0
23
さいきんの光ファイバーの話
hmatsu47
PRO
0
50
低いほうのレイヤを見てみる話
hmatsu47
PRO
0
26
IPv6 VPC の実装パターンをいくつか
hmatsu47
PRO
0
44
光ファイバーと IPv6 絡みの話
hmatsu47
PRO
0
60
Other Decks in Technology
See All in Technology
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
280
GoでCコンパイラを作った話
repunit
0
150
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
3.2k
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
760
AI工学特論: MLOps・継続的評価
asei
8
1.8k
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
370
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
540
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
260
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
530
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
180
システム監視入門
grimoh
1
360
kaonavi Tech Night#1
kaonavi
0
160
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Building AI with AI
inesmontani
PRO
1
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
410
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Building Adaptive Systems
keathley
44
3.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building an army of robots
kneath
306
46k
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 ダイジェストに⾏けたら 聞いて来よう 午前中の検査でストップがかからないことを祈る
ありがとうございました