スポンサーリンク
NoSQL

【実務・中級編】 INFO persistenceコマンド – Redis

諸君、今日のテーマはRedisの永続化、その中でも特に`INFO persistence`コマンドに焦点を当てる。多くのエンジニアは、このコマンドを単なるステータス確認ツールとしか見ていないかもしれない。しかし、断言しよう。それはRedis...
PostgreSQL

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

なぜか遅いクエリ。プランナの「見積もり」を疑ったことはあるか?やあ。現場でPostgreSQLと格闘しているエンジニアのみんな、お疲れ様。今日は少し「通(つう)」な話をしよう。大規模なテーブルに対するクエリが、インデックスを使っているはずな...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 論理親ポインタの物理実装 – 階層型DBMS

【第4回】論理親ポインタの物理実装:双方向リンクがもたらす整合性の地獄と、それをねじ伏せる設計パターンおい、設計レビューの手を止めろ。お前たちが今書こうとしているそのスキーマ、本当に整合性を担保できるのか?現代のWebエンジニアの多くは、リ...
Cloud Spanner

【実務・中級編】 リーダー選出 (Leader Election) – Cloud Spanner

【Cloud Spanner深層】リーダー選出のメカニズム:なぜSpannerは「止まらない」のかこんにちは。テクニカルリードの私だ。これまで数々の分散データベースの設計・運用を見てきたが、Cloud Spannerほど「CAP定理のジレン...
NoSQL

【実務・中級編】 AOFリライト時のfsync設定 – Redis

Redisの死地を避ける:AOFリライトとfsyncの「黄金律」Redisを単なる「高速なKVS」と捉えているなら、それはまだ入り口に過ぎない。大規模トラフィックを捌く現場において、Redisの真価は「いかにクラッシュさせず、かつレイテンシ...
PostgreSQL

【入門編】 cpu_tuple_costの調整 – PostgreSQL

「なぜか遅い」を解決する魔法の数字? PostgreSQLの`cpu_tuple_cost`を優しく解説こんにちは!データベースの世界にどっぷり浸かって十数年、今日も今日とてSQLの海を泳いでいるエンジニアです。皆さんはPostgreSQL...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 論理子ポインタの物理実装 – 階層型DBMS

論理子ポインタの物理実装:異種DB間を繋ぐ「見えない鎖」の正体おい、そこの設計書を見せてみろ。……なんだこれは。「論理子ポインタ(Logical Child Pointer)を用いて、別データベースのセグメントへリンクを張る」――ふん、綺麗...
Cloud Spanner

【実務・中級編】 レプリカ (Replica) – Cloud Spanner

【Cloud Spanner 徹底解剖】レプリカとPaxosグループの深淵:可用性と整合性を極限まで両立させるアーキテクチャ設計こんにちは。テクニカルリードの私だ。今日のコードレビュー、あるいは基本設計レビューで、こんな設計書を見かけたとし...
NoSQL

【実務・中級編】 AOF RDBプリアンブル設定 – Redis

伝説的アーキテクトが語る Redis AOF RDBプリアンブル:再起動の神話を打ち破る諸君、私はRedisの永続化について語るたびに、ある種の「神話」がまことしやかに囁かれているのを聞く。それは「RDBは速いがデータロスが怖い」「AOFは...
PostgreSQL

【テクニカル・上級編】 work_memの最適化 – PostgreSQL

work_memという名の「諸刃の剣」と、その適正解を求めてPostgreSQLのチューニングにおいて、`work_mem`ほどエンジニアを悩ませ、かつ奥が深いパラメータはないかもしれません。「とりあえず値を大きくしておけばソートが速くなる...
スポンサーリンク