dbintronational

スポンサーリンク
NoSQL

【テクニカル・上級編】 MULTIコマンド – Redis

Redisの「MULTI/EXEC」という幻想と、その背後にある非同期の真実多くの開発者は、`MULTI` を見るとRDBMSのトランザクションを想起する。しかし、もし君がRedisを「RDBMSの代わり」として扱っているなら、それは最初の...
PostgreSQL

【入門編】 統計情報の陳腐化検知 – PostgreSQL

こんにちは!データベースの世界へようこそ。普段、PostgreSQLを触っていると、「あれ、昨日までサクサク動いていたはずのクエリが、なんだか最近遅い気がする…」なんてこと、ありませんか? 実はそれ、データベースが「迷子」になっているサイン...
レガシーDBMS

【テクニカル・上級編】 階層パス – 階層型DBMS

階層パスの深淵:物理アドレスの迷宮と「ポインタ」の呪縛多くの現代エンジニアにとって、データベースとは「抽象化された集合論の果て」にあるものだ。SQLを投げれば結果が返る。その裏側で何が起きているかなど、意識する必要はない。だが、リレーショナ...
Cloud Spanner

【テクニカル・上級編】 自動シャーディング – Cloud Spanner

Spannerの自動シャーディング:ブラックボックスの深淵にある「Splits」の真実多くのエンジニアが「Spannerは自動でシャーディングしてくれる」という甘美なフレーズを口にする。だが、その背後で何が起きているのかを理解している者は少...
NoSQL

【テクニカル・上級編】 KEYSコマンド – Redis

KEYSコマンドの呪縛:Redisの心臓部を停止させる「静かなる爆弾」Redisを運用する上で、初心者が最初に犯す過ちであり、熟練者が最も忌み嫌うコマンドがある。それが `KEYS` だ。「本番環境で使うな」という定型句は、多くのドキュメン...
PostgreSQL

【テクニカル・上級編】 n-distinct係数統計 – PostgreSQL

そのクエリ、なぜ「そこ」で見積もりを外すのか? ―― PostgreSQLの拡張統計(n-distinct)を使いこなすPostgreSQLのクエリオプティマイザは、基本的には非常に優秀な「数学者」です。しかし、どれほど優秀な数学者であって...
レガシーDBMS

【テクニカル・上級編】 ポインタベースのナビゲーション – 階層型DBMS

ポインタの檻、あるいは神の視点:階層型DBMSにおけるナビゲーションの深淵現代のエンジニアの多くは、SQLという「抽象のベール」越しにデータを操作している。彼らは「結合(JOIN)」のコストをクエリプランナーの機嫌に委ね、インデックスの木構...
Cloud Spanner

【テクニカル・上級編】 ノードと処理ユニット – Cloud Spanner

Cloud Spannerの計算資源:ノードとProcessing Units(PU)の深淵を読み解くCloud Spannerを単なる「SQLが使える分散DB」と定義しているうちは、その真価には辿り着けない。真のアーキテクトが向き合うべき...
NoSQL

【テクニカル・上級編】 RANDOMKEYコマンド – Redis

RANDOMKEYの深淵:O(1)の幻想と、ハッシュテーブルの「揺らぎ」を制御する技術Redisにおいて`RANDOMKEY`は、一見すると極めて単純なコマンドに見える。データベースからランダムにキーを一つ取り出す。それだけだ。しかし、この...
PostgreSQL

【実務・中級編】 n-distinct係数統計 – PostgreSQL

「それ、統計情報のせいかも?」PostgreSQLのn-distinct係数で複雑なクエリを爆速にする話現場でクエリを書いていて、「明らかにインデックスが効くはずなのに、なぜかSeq Scanが選ばれる」「見積もりが極端にズレていて、結合順...
スポンサーリンク