#データベース

29 件の記事

Redis が速い理由 — メモリ、シングルスレッド、データ構造
読了 5分

Redis が速い理由 — メモリ、シングルスレッド、データ構造

Redis が毎秒数十万リクエストを処理する構造的な理由を整理します。ディスクのないメモリアクセス、ロックの要らないシングルスレッドのイベントループ、目的に合わせて実装されたデータ構造という三本の柱と、シングルスレッドの罠(遅いコマンド一つが全体を止める構造)、そして Redis が遅くなるケースまで扱います。

データベースのインデックスがやっていること — B-tree、検索コスト、書き込みのコスト
読了 5分

データベースのインデックスがやっていること — B-tree、検索コスト、書き込みのコスト

インデックスが検索を速くする原理を B-tree の構造から解きほぐします。フルスキャンとのコストの差、複合インデックスとカラムの順序、インデックスがただではない理由(書き込みコスト・保存領域)、どのカラムにインデックスを作り、どのカラムには作らないかの実務基準まで整理します。

サーバーが遅い理由 #5 データベースが遅くなるとき — インデックス・ロック・コネクションプール
読了 7分

サーバーが遅い理由 #5 データベースが遅くなるとき — インデックス・ロック・コネクションプール

問題なく動いていたデータベースが遅くなる原因を追跡します。データの成長がしきい値を超えた瞬間に崩れるフルスキャン、インデックスがあるのに使われない条件、長いトランザクションが作るロック待ちのチェーン、プール枯渇と DB 飽和の見分け方、EXPLAIN と統計ビューによる診断手順を扱います。

AWS中級 #4 RDS — マネージド DB、バックアップ、パラメータグループ
読了 9分

AWS中級 #4 RDS — マネージド DB、バックアップ、パラメータグループ

AWS のリレーショナル DB マネージド、RDS。EC2 上 DB との比較、自動バックアップとスナップショットと PITR、Multi-AZ、パラメータ / オプショングループ、そしてマイナー vs メジャーアップグレードの運用。

Go実践 #4 DB連携 — database/sqlとトランザクション
読了 7分

Go実践 #4 DB連携 — database/sqlとトランザクション

database/sqlの基本、prepared statement、トランザクション、コネクションプール設定。そしてsqlc・sqlx・GORMのような上位ツール。