スポンサーリンク
NoSQL

【テクニカル・上級編】 Hash型:基本操作 – Redis

Redis Hashの深淵:メモリ最適化と内部表現の冷徹な現実Redisの `Hash` 型を単なる「キー・バリューの入れ物」だと思っているなら、今すぐその認識を改めるべきだ。大規模な分散システムを設計する際、メモリ消費量とアクセスのレイテ...
PostgreSQL

【実務・中級編】 ヒストグラム統計 – PostgreSQL

「なぜか遅いクエリ」を救うヒストグラムの正体:統計情報を味方につける話現場で働いていると、「さっきまでは爆速だったのに、急にクエリが遅くなった」なんてトラブルに遭遇すること、ありますよね。実行計画(`EXPLAIN ANALYZE`)を見て...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 空き領域管理 – 階層型DBMS

はじめに:I/Oの局所性を支配する者が、階層型DBMSを制する設計レビューで「パフォーマンスが出ないため、ハードウェアのI/Oスループットを上げたい」という相談を現場から受けるたび、私はまずDBD(Database Description)...
Cloud Spanner

【実務・中級編】 保存時の暗号化と顧客管理の暗号鍵(CMEK) – Cloud Spanner

Cloud Spannerの暗号化とCMEK(顧客管理暗号鍵)の極限設計:データ保護とパフォーマンスの二律背反を断つこんにちは。チーフアーキテクトの私だ。今日のコードレビュー、あるいは新規基盤のアーキテクチャ設計レビューで、こんな質問を受け...
NoSQL

【テクニカル・上級編】 List型:範囲操作 – Redis

Redis List型:その「境界線」に潜むアーキテクチャの真実多くの開発者がRedisのList型を「ただの連結リスト」だと誤解している。だが、もし君がそう思っているなら、大規模なトラフィックに晒された瞬間にメモリの断片化とCPUのスパイ...
PostgreSQL

【入門編】 ヒストグラム統計 – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、私たちが何気なく使っているデータベース。実は、裏側では「どうすれば一番効率よくデータを取り出せるか」を、ものすごい速さで計算しているんです。今日は、その中でも「ヒストグラム統計」という、ちょっ...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 ブロックサイズ最適化 – 階層型DBMS

RDBMSの「オプティマイザ任せ」のクエリプランに慣れきったエンジニアが、階層型DBMS(例えばIMS/DB)の設計に足を踏み入れたとき、最初に直面する最大の壁――それが「物理設計の絶対性」だ。階層型DBMSにおいて、データは「ポインタ(物...
Cloud Spanner

【実務・中級編】 インスタンス構成の内部管理 – Cloud Spanner

---Spannerの深淵:ノード数とPaxosグループのダイナミクス「Cloud Spannerは、ノード数を増やせばリニアにスケールする」あなたがもし、この言葉を言葉通りにしか理解していないとしたら、大規模システムにおいてSpanner...
NoSQL

【テクニカル・上級編】 List型:インデックス操作 – Redis

Redis Listの深淵:`LINDEX`から`LREM`まで、計算量とメモリ配置の真実RedisのList型を単なる「キュー」や「スタック」としてしか見ていないのであれば、それは巨大な計算資源の浪費であり、アーキテクチャへの冒涜だ。Li...
PostgreSQL

【テクニカル・上級編】 CTEマテリアライゼーション – PostgreSQL

PostgreSQLのCTE、その「最適化の罠」と付き合う技術PostgreSQLの `WITH` 句、いわゆるCTE(Common Table Expressions)。コードの可読性を劇的に高めてくれるこの機能は、複雑な分析クエリを書く...
スポンサーリンク