今年買って良かったもの
年末かつブログと言えばこのテーマ。と思ったら、8月に一度それらしき内容をまとめていた。
今回はこれらも含め、今年買ったすべてのモノの中から、本当に買って良かったと思うモノのベスト3を選出した。さっそく、3位から発表していく。
続きを読むFILLFACTORによる性能改善
めっちゃ寒くてマジ冬かってかんじ。
今日はポスグレアンカンファレンスというイベント当日、行けなくて悲しい。行けてたら発表しようかなと思っていた内容をブログに書く。微妙に前回分の発展版となっているので、ご興味がある方は、合わせてどうぞ。
TL;DR
- FILLFACTORの値を設定するとブロック内に空き領域を持つ
- HOTの効果により更新系の性能が改善する
- クラスタの維持により参照系の性能が改善する
- テーブルサイズとのトレードオフを考慮して設定するべき
CLUSTERによる性能改善
一歩でも外に足を踏み出すと街のクリスマスムードに襲われ、精神を蝕まれる。周囲には「クリスマス?ああ、そういえばそんな時期か。まあ、全然興味ないけど。」とか言いつつめっちゃ気にするタイプです。怯えています。
TL;DR
- データを物理的に整列させる機能 CLUSTER がある
- テーブルの特定のデータにアクセスが集中する場合に、参照性能が改善する
- 利用にあたりトレードオフ、メンテナンスコストが生じる
履歴テーブルとRETURNING句
3日連続Postgres小ネタ。別にひとりアドベントカレンダーをやっているわけではない。
TL;DR
- 論理削除は本質的にリレーショナルモデルと相性が悪い
- 論理削除の一実現手法として削除済テーブル(=履歴テーブル)がある
- Postgresなら
RETURNING
+CTEでできる
XIDの巻き戻しによるデータ復旧
ポスグレカレンダーのノルマは昨日のぶんで達成したが、触発されてポスグレ小ネタを連投してみる。今回は、闇の技術を伝承する。ゆめゆめ使わぬよう。
TL;DR
- Postgresは追記型のMVCCを実装している
- XIDを巻き戻すことでデータベースを過去の状態に戻せる
開壁の辞
壁アドベントカレンダー、1日目の記事。
「12月1日時点で埋まっていなかったらカレンダーごと削除する」という公約を掲げてスタートした本カレンダーだが、タイムリミットの4時間前にして生き残りが決定した。ご登録いただいた皆様、本当にありがとうございます。
続きを読む