TL
ホーム/ データベース

DATABASE TRACK

データベース

PostgreSQL・MySQL・MongoDB・Redis などの製品比較から、SQL・インデックス・トランザクションといった考え方まで。まず TL;DR で。

9
Products
20
TL;DR
DATA の保存方式と設計原則をつなぎ、適切な選択へ進む入口です。

Concept Map

考え方・概念

SQL・インデックス・トランザクションなど、製品をまたいで効く DB の土台。まず TL;DR で。

TL;DR基礎

ACID 特性

トランザクションの信頼性を支える4つの性質、原子性・一貫性・独立性・永続性をやさしく解説します。なぜ重要かを銀行振込の例で示します。

TL;DR中級

CAP 定理

分散データベースは一貫性(C)・可用性(A)・分断耐性(P)を同時に全て満たせない、という指針です。ネットワーク分断時に C と A のどちらを取るかを解説します。

TL;DR中級

JOIN(テーブルの結合)

正規化でバラバラに分けたテーブルを、共通のキーでつなぎ合わせて1つの結果として取り出す操作。INNER / OUTER の違いが肝。

TL;DR中級

ORM(オブジェクト関係マッピング)

プログラムのオブジェクトとデータベースのテーブルを橋渡しする仕組みです。生産性の利点と、N+1 問題などの代表的な落とし穴を解説します。

TL;DR中級

RDB と NoSQL の違い

表とスキーマで整合性を守る RDB と、形を選んで柔軟・水平にスケールさせる NoSQL。どちらが上ではなく、データの形とアクセスの仕方で選ぶ。

TL;DR基礎

SQL の基礎(SELECT / WHERE)

「どんなデータが欲しいか」を宣言的に書くと、DB が取り方を考えて返してくれる言語。SELECT で選び、WHERE で絞り込むのが基本。

TL;DR中級

インデックス(なぜ速くなるか)

インデックスは“本の巻末索引”。目的の行へ一直線でたどり着けるようにする仕組みで、検索を劇的に速くする代わりに、書き込みと容量のコストを払う。

TL;DR中級

クエリ最適化

遅い SQL を速くするための考え方を解説します。実行計画(EXPLAIN)の読み方、インデックスが効く・効かない条件、典型的な直し方を扱います。

TL;DR中級

コネクションプーリング

DB 接続の確立は重いため、作った接続を使い回す仕組みです。プールの動き、接続の枯渇、上限やタイムアウトの設定の勘所を解説します。

TL;DR中級

ストアドプロシージャ

処理ロジックを DB 側に保存し、呼び出して実行する仕組みです。性能やロジック一元化の利点と、移植性や可読性の欠点を解説します。

TL;DR中級

データウェアハウスと OLTP / OLAP

日々の業務処理(OLTP)と分析処理(OLAP)の違いを解説します。列指向や ETL/ELT、分析専用のデータウェアハウス(DWH)が担う役割を整理します。

TL;DR中級

トランザクションと ACID

複数の処理を“全部成功か、全部なかったことにするか”の一塊として扱う仕組みと、それを支える4つの性質 ACID をやさしく解説。

TL;DR中級

トランザクション分離レベル

並行するトランザクションから“途中経過をどこまで見せるか”を決める設定です。緩いほど速く、厳しいほど安全という性能との trade-off を解説します。

TL;DR中級

パーティショニング

大きなテーブルを内部で複数の小さなまとまりに分割する仕組みです。水平・垂直の違い、シャーディングとの関係、利点と注意点を解説します。

TL;DR基礎

バックアップとリカバリ

障害や誤操作に備えてデータを退避し、必要なときに復元する仕組みです。バックアップの種類、復元目標、復元テストの大切さを解説します。

TL;DR中級

マテリアライズドビュー

ビューの結果を実体として保存し、高速に参照できる仕組みです。通常のビューとの違い、リフレッシュによる更新、向き不向きを解説します。

TL;DR中級

レプリケーションとシャーディング

同じデータを複数台にコピーして守る・読みを分散するのがレプリケーション、データそのものを分割して書き込みを分散するのがシャーディング。DBを大きくする2つの方向。

TL;DR中級

ロックと MVCC(同時実行制御)

複数のトランザクションが同じデータを同時に触っても壊れないよう、DB が裏で行う交通整理。ロックで待たせる方式と、バージョンを使って読み取りを止めない MVCC がある。

TL;DR中級

正規化

データの重複をなくし、1つの事実を1か所だけに置くようにテーブルを分割する設計手法。更新の不整合(更新異常)を防ぐのが目的。

TL;DR中級

全文検索

大量の文章から該当箇所を高速に探す仕組みです。転置インデックスの考え方、LIKE 検索との違い、専用エンジンを使う場面を解説します。