dbintronational

スポンサーリンク
NoSQL

【テクニカル・上級編】 メモリ削除ポリシー (Eviction Policies) – Redis

Redisメモリ管理の深淵:Eviction Policyが隠蔽する「妥協」と「真実」Redisを単なる「高速なKVS」と捉えているのであれば、それはまだ入り口に立ったに過ぎない。メモリが飽和したその瞬間、Redisの内部で何が起きているの...
PostgreSQL

【入門編】 default_statistics_targetの役割 – PostgreSQL

こんにちは!データベースエンジニアの日常へようこそ。今日は、PostgreSQLのパフォーマンス改善において、実はめちゃくちゃ重要なのに意外と見落とされがちな「`default_statistics_target`」という設定についてお話し...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 DBD生成(DBDGEN) – 階層型DBMS

DBD生成(DBDGEN)の極意:物理と論理の境界線を支配せよこんにちは。チーフアーキテクトの私だ。今日のコードレビューで、また「なんとなく動く」だけの場当たり的なDBD(Database Description)定義を見かけた。「なぜこの...
Cloud Spanner

【実務・中級編】 データ局所性最適化 – Cloud Spanner

【Cloud Spanner極限最適化】データ局所性(Data Locality)を支配し、ネットワーク転送を撲滅せよこんにちは。テックリードの私だ。今日のコードレビュー、あるいは設計レビューで、君たちはまた「なんとなくインターリーブ(In...
NoSQL

【テクニカル・上級編】 Luaスクリプト – Redis

Redis Luaスクリプト:アトミシティの代償と「単一スレッド」の深淵多くのエンジニアが「RedisのLuaスクリプトは便利だ」というレベルで止まっている。しかし、システムが極限の負荷にさらされたとき、その実装が「劇薬」にも「特効薬」にも...
PostgreSQL

【テクニカル・上級編】 cursor_tuple_fractionの調整 – PostgreSQL

「最初の一歩」でプランナを騙すな――cursor_tuple_fractionが隠し持つ最適化の深淵PostgreSQLのクエリプランナは、基本的に「全行をフェッチする」という前提で最適化を行います。これは理にかなっています。データベースの...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 PSB生成(PSBGEN) – 階層型DBMS

PSBGENの深層:アプリケーション要件をDBMSの物理構造に縛り付けるなこんにちは。チーフアーキテクトの私だ。今日のコードレビューで、また「全セグメントが見える巨大なPSB」を平然と定義しているプルリクエストを見かけた。「とりあえず動くか...
Cloud Spanner

【実務・中級編】 スナップショット読み取りタイムスタンプ – Cloud Spanner

Cloud Spannerの真価:「スナップショット読み取りタイムスタンプ」を極限まで使い倒す設計論こんにちは。テクニカルリードの私だ。今日のコードレビューで、あるジュニアエンジニアが書いたクエリを見て思わず天を仰いだ。「過去のデータが欲し...
NoSQL

【テクニカル・上級編】 Redisトランザクション (MULTI/EXEC) – Redis

Redisトランザクションの深淵:MULTI/EXECと楽観的ロックの「真の制約」を解剖するRedisのトランザクションは、しばしばRDBMSのACID特性と混同される。しかし、アーキテクトとして断言しよう。Redisの`MULTI/EXE...
PostgreSQL

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

「FETCH FIRST 10 ROWS」でクエリが遅い? PostgreSQLの隠れた調整弁 `cursor_tuple_fraction` の話やあ。最近、PostgreSQLのパフォーマンスチューニングでこんな経験はないかな?「アプリ...
スポンサーリンク