今年買って良かったもの

年末かつブログと言えばこのテーマ。と思ったら、8月に一度それらしき内容をまとめていた。

kyabatalian.hatenablog.com

今回はこれらも含め、今年買ったすべてのモノの中から、本当に買って良かったと思うモノのベスト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を巻き戻すことでデータベースを過去の状態に戻せる
続きを読む