スポンサーリンク
PostgreSQL

【実務・中級編】 cpu_operator_costの調整 – PostgreSQL

「またプランナが変な気を起こして、全件スキャンを始めやがった……」そんな経験、一度や二度じゃないですよね。PostgreSQLのクエリチューニングをしていると、必ずぶつかる壁が「プランナの勘違い」です。特に、重い計算処理や独自の関数をWHE...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 セカンダリインデックスポインタ – 階層型DBMS

階層型DBMSの深層:セカンダリインデックスポインタ設計の極意おい、コードレビューの手を止めてくれ。今、君たちが設計しているそのスキーマ、本当に実運用に耐えるか?「階層型DBMSなんてレガシーな技術だ」?――フッ、笑わせるな。金融の勘定系や...
Cloud Spanner

【実務・中級編】 ロックテーブル – Cloud Spanner

Spannerの頭脳:ロックテーブルの内部挙動と、競合を制する分散トランザクション設計こんにちは。テックリードの私だ。今日のコードレビュー、あるいはアーキテクチャレビューで、また「とりあえずトランザクションで囲んでおけば動くだろう」という甘...
NoSQL

【実務・中級編】 AOFリライト予約状態 – Redis

いいか、よく聴いてくれ。Redisを「ただの速いKVS」だと思って運用しているうちは、いつか必ず本番環境で火を吹くことになる。特にAOF(Append Only File)の永続化メカニズム、その中でも「リライト(Rewrite)」の制御を...
PostgreSQL

【入門編】 cpu_operator_costの調整 – PostgreSQL

こんにちは!データベースエンジニアのブログへようこそ。今日は、PostgreSQLの「裏側」を少しだけ覗いて、クエリの速度を魔法のように改善するヒントをお話ししますね。データベースの世界には「クエリプランナ」という、いわば頭脳のような存在が...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 インデックスデータベース定義 – 階層型DBMS

階層型DBMSアーキテクチャ論:セカンダリインデックス設計の極意こんにちは。チーフアーキテクトの私だ。今日のコードレビューで、また「親を辿らないとデータにアクセスできないレガシーな発想」のスキーマ定義を見かけた。リレーショナルデータベース(...
Cloud Spanner

【実務・中級編】 トランザクションマネージャー – Cloud Spanner

トランザクションマネージャーの深層:Cloud Spannerの分散トランザクションを極限まで使いこなすこんにちは。テクニカルリードの私だ。今日のコードレビューで、誰かが「とりあえずトランザクションで囲っておけば安全だよね」という甘い認識で...
NoSQL

【実務・中級編】 redis-check-aofツール – Redis

「Redisが起動しない。ログには『Bad file format』の文字。現場はパニックだ。」もし君が大規模なシステムのテクニカルリードなら、一度はこの種の悪夢に直面したことがあるはずだ。Redisはメモリ内データストアだが、永続化(AO...
PostgreSQL

【テクニカル・上級編】 cpu_index_tuple_costの役割 – PostgreSQL

隠れたコストの正体:`cpu_index_tuple_cost` がクエリプランを支配する仕組みPostgreSQLのクエリプランナと日々対峙していると、時折「なぜオプティマイザは、明らかに効率的なインデックススキャンを選ばないのか?」とい...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 オーバーフロー領域の管理 – 階層型DBMS

階層型DBMSの深層:オーバーフロー領域の設計と、ポインタ連鎖の呪縛を断つ技術おい、そこの設計書を出せ。……なんだこのスカスカのプライマリデータセットのサイジングは。データ量の増加を見越して「とりあえず大きくしました」だと? 舐めるな。現代...
スポンサーリンク