スポンサーリンク
NoSQL

【実務・中級編】 永続化のベストプラクティス – Redis

「Redisは単なるキャッシュだ。消えてもいいデータを入れる場所だ」――もし君のチームにそんな甘い認識のエンジニアがいたら、即座にこの記事を突きつけてやってほしい。私はこれまで、数多のミッションクリティカルな現場でRedisの崩壊と再生を見...
PostgreSQL

【入門編】 パラレルクエリ設定 (max_parallel_workers等) – PostgreSQL

PostgreSQLの「並列クエリ」で、重い作業をチームプレイに変えよう!こんにちは!データベースの世界へようこそ。皆さんは、PostgreSQLを使っていて「なんだか検索が遅いな……」と感じたことはありませんか?データが数百万件を超えてく...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 論理関係の定義(Logical Relationship) – 階層型DBMS

階層型DBMSの深淵:論理関係(Logical Relationship)がもたらす物理の呪縛からの解放こんにちは。チーフアーキテクトの私だ。今日のコードレビューで、また「物理階層の制約」に縛られた窮屈なスキーマ定義を見かけた。「親セグメン...
Cloud Spanner

【実務・中級編】 読み書きトランザクション – Cloud Spanner

Cloud Spannerの読み書きトランザクション:極限のスループットを引き出す分散トランザクションの作法こんにちは。テクニカルリードの私だ。今日のコードレビュー、あるいはアーキテクチャ設計レビューで、君たちが持ち込んだCloud Spa...
NoSQL

【実務・中級編】 ディスクI/O負荷の影響 – Redis

Redisを「ただの速いKVS」だと思っているなら、君の設計したシステムはいずれ本番環境で火を噴くことになるだろう。私はこれまで、秒間数十万クエリを捌く巨大なクラスタから、ミリ秒の遅延すら許されない金融系システムまで、数多くのRedis運用...
PostgreSQL

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

なぜ「デフォルトのコスト定数」に頼り切ってはいけないのか?― `cpu_operator_cost` が変えるクエリの未来PostgreSQLを長く触っていると、ある日突然、プランナが「明らかに間違った道」を選ぶ瞬間に出くわします。巨大なテ...
データ構造とスキーマ定義言語 (DDL)

【実務・中級編】 データベース再編成ユーティリティ設定 – 階層型DBMS

階層型DBMSの極限:データ再編成(Reorganization)のアーキテクチャと実務戦略チーフアーキテクトの私だ。今日のコードレビューで、また「物理構造の老朽化を放置したまま、なんとなくインデックスを追加しようとしている」ジュニアのプル...
Cloud Spanner

【実務・中級編】 タイムスタンプオラクル – Cloud Spanner

タイムスタンプオラクル(TSO)とTrueTimeの深層:Cloud Spannerは、いかにして「グローバルな現在時刻」の幻影を実装したかこんにちは。チーフアーキテクトの私だ。今日のコードレビュー、あるいは昨日の分散アーキテクチャの設計ミ...
NoSQL

【実務・中級編】 永続化レイテンシ監視 – Redis

Redisが「爆速」であることは、もはや業界の前提だ。だが、君たちのシステムで「たまにRedisが数ミリ秒、あるいはそれ以上黙り込む」という事象は起きていないか?もし心当たりがあるなら、それはRedisが「メモリという聖域」から「ディスクと...
PostgreSQL

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

「またプランナが変な気を起こして、全件スキャンを始めやがった……」そんな経験、一度や二度じゃないですよね。PostgreSQLのクエリチューニングをしていると、必ずぶつかる壁が「プランナの勘違い」です。特に、重い計算処理や独自の関数をWHE...
スポンサーリンク