スポンサーリンク
Cloud Spanner

【テクニカル・上級編】 クエリプランのキャッシュ – Cloud Spanner

Cloud Spannerのクエリプランキャッシュ:その「非決定性」との対峙Cloud Spannerは、分散データベースの極致だ。しかし、多くのエンジニアが「SQLを投げれば、いい感じに最適化されて実行される」というブラックボックス的な甘...
NoSQL

【テクニカル・上級編】 Luaサンドボックス環境 – Redis

Redis Luaサンドボックスの深層:決定論的実行とグローバル汚染の完全掌握Redisの内部で動くLuaスクリプトは、トランザクションや複雑なインメモリ処理をアトミックに実行するための強力な刃である。しかし、この刃の切れ味を過信し、内部構...
PostgreSQL

【テクニカル・上級編】 自動ANALYZEのチューニング – PostgreSQL

統計情報の「鮮度」をハックする:autovacuum_analyzeチューニングの深淵PostgreSQLと長く付き合っていると、避けて通れないのが「プランナの裏切り」です。なぜかインデックスを使わずにフルスキャンを選ぶ、あるいは Nest...
レガシーDBMS

【テクニカル・上級編】 インテントロック – 階層型DBMS

インテントロックの深淵:階層型DBMSにおける「整合性のコスト」を極限まで削ぎ落とす現代のRDBMS全盛の時代において、階層型DBMS(IMS等)を語ることは、いわば「骨董品」を愛でる趣味のように思われるかもしれない。しかし、それは大きな誤...
Cloud Spanner

【テクニカル・上級編】 クエリのパラメータ化 – Cloud Spanner

Cloud Spannerにおける「パラメータ化」の真実:クエリキャッシュの深淵と実行計画の最適化Cloud Spannerを単なる「分散RDBMS」と呼ぶ者は、その真価の半分も理解していない。Spannerは、TrueTimeによる原子時...
NoSQL

【テクニカル・上級編】 期限切れキーとメモリ淘汰ポリシー – Redis

期限切れキーとメモリ淘汰ポリシー:Redisメモリ管理の深層と冷徹な実務Redisのメモリ管理は、単に「データをRAMに載せるだけのシンプルなキャッシュ機構」などではない。C言語で書かれたシングルスレッドのイベントループが、ミリ秒以下のレイ...
PostgreSQL

【実務・中級編】 自動ANALYZEのチューニング – PostgreSQL

「なあ、最近クエリが急に遅くなったって相談、よく聞くんだよね。で、調べてみると大抵が『統計情報の鮮度』でつまづいてる。今日はそのあたりの話をしようか。」---統計情報が「古い」と何が起きるか?PostgreSQLのオプティマイザ(プランナ)...
レガシーDBMS

【テクニカル・上級編】 データベースレベルロック – 階層型DBMS

階層型DBMSにおける「データベース・レベル・ロック」:その残虐なる整合性への執着現代の分散トランザクションやMVCC(多版同時実行制御)全盛の時代において、あえて階層型DBMS(Hierarchical DBMS)の「データベース・レベル...
Cloud Spanner

【テクニカル・上級編】 分散クエリ実行の仕組み – Cloud Spanner

分散クエリの深淵:Cloud Spannerがいかにして「不可能」を可能にするかCloud Spannerを単なる「強力なRDBMS」と呼ぶのは、ジェットエンジンを「よく回る扇風機」と呼ぶのに等しい。多くのエンジニアは、Spannerが提供...
NoSQL

【テクニカル・上級編】 有効期限の内部メカニズム – Redis

霊長類最強のインメモリDB:Redisはいかにして「死んだキー」を葬っているのか世の中の多くのエンジニアは、Redisを「高速なKVS」としてしか見ていない。`EXPIRE`コマンドを叩けば、指定した秒数後にキーが綺麗に消えてなくなる。まる...
スポンサーリンク