2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料公開】118記事のシステム設計パターン集を作った。Netflix・Uber・Stripeの設計が全部わかる

2
Posted at

「システム設計面接、何から勉強すればいいかわからない」

この悩み、エンジニアなら一度は感じたことがあるはずだ。

System Design Primerは英語で古い。有料コースは$79〜$200する。日本語リソースはほぼ存在しない。

だから作った。18セクション・118記事・完全日本語・MIT License・完全無料のシステム設計パターン集を。

結論:これ1つで十分

このサイトは「Netflix、Uber、Stripe、Discordが実際に使っているパターン」を第一原理から解説するリファレンスだ。面接対策にも、実務の設計判断にも使える。

18セクション × 118記事
= FAANG面接で聞かれるほぼ全パターンを網羅

全18セクションの構成

基礎から実践へ、マトリョーシカ構造で学べる

マトリョーシカ人形のように、外側から順に開けていけば、自然と内部の複雑さが見えてくる構造にした。

Layer 1: 基礎理論(CAP定理、ACID、一貫性モデル)
    ↓
Layer 2: コアコンポーネント(DB、キャッシュ、メッセージング)
    ↓
Layer 3: スケーリングパターン(シャーディング、LB、サーキットブレーカー)
    ↓
Layer 4: 実世界ケーススタディ(10社の設計を解剖)
    ↓
Layer 5: 最先端(LLMシステム、Compound Engineering)

セクション一覧

# セクション 記事数 何が学べるか
1 Foundations 8 ACID、CAP定理、一貫性モデル、分散時間
2 Distributed Databases 9 レプリケーション、パーティショニング、合意アルゴリズム
3 Storage Engines 7 B-Tree、LSM Tree、WAL、Bloom Filter
4 Caching 6 キャッシュ戦略、Invalidation、Stampede対策
5 Messaging 8 MQ、Pub/Sub、Event Sourcing、CQRS
6 Scaling 8 LB、シャーディング、Circuit Breaker、Rate Limiting
7 Real-Time 6 WebSocket、WebRTC、Polling、Presence
8 Case Studies 10 Twitter、Uber、Netflix、Stripe等の実設計
9 Whitepapers 10 MapReduce、Dynamo、Spanner、Raft等
10 Security 6 OAuth2、JWT、Zero Trust、暗号化
11 Observability 4 分散トレーシング、メトリクス、ログ
12 Service Mesh 3 Service Discovery、API Gateway
13 Data Pipelines 3 バッチ/ストリーム処理、Lambda/Kappa
14 Search Systems 6 転置インデックス、ベクトル検索、ランキング
15 Deployment 2 デプロイ戦略、Feature Flag
16 LLM Systems 8 エージェント、RAG、オーケストレーション
17 GraphQL 6 スキーマ設計、Federation、サブスクリプション
18 Compound Engineering 6 AIネイティブ開発、コーディングエージェント

ケーススタディ:10社の設計を解剖

ここが一番の見どころだ。実際の企業がどう設計しているかを解剖している。

Twitter(X)の設計

問題: 1人のツイートが1億人のフォロワーに届く

解決策:
┌──────────┐    ┌──────────┐    ┌──────────┐
│  Write   │───▶│  Fanout  │───▶│Timeline  │
│  Path    │    │  Service │    │  Cache   │
└──────────┘    └──────────┘    └──────────┘
                     │
            ┌────────┼────────┐
            ▼        ▼        ▼
         User A   User B   User C
         の TL    の TL    の TL

→ Fan-out on write で事前にタイムラインを構築
→ セレブアカウントは Fan-out on read にフォールバック

Uberの設計

問題: リアルタイムで数百万台の車両位置を追跡

解決策:
┌──────────┐    ┌──────────┐    ┌──────────┐
│ Driver   │───▶│Geospatial│───▶│ Matching │
│   App    │    │  Index   │    │  Engine  │
└──────────┘    └──────────┘    └──────────┘
  4秒ごと         H3セル          ETA計算
  位置送信        ベース          + 価格算出

Stripeの設計

問題: 1回の決済を「正確に1回」だけ処理する

解決策:
Idempotency Key + 2相コミット

POST /v1/charges
Headers:
  Idempotency-Key: "order_12345_attempt_1"

→ 同じキーで再送しても二重課金なし
→ 分散トランザクションの教科書的実装

2026年のシステム設計面接で聞かれること

2026年、FAANG+日本のメガベンチャー(メルカリ、LINE、SmartNews等)で聞かれるテーマが変わってきている。

従来のテーマ(まだ出る)

  • URLショートナー設計
  • チャットシステム設計
  • ニュースフィード設計

2026年の新テーマ

  • LLMを活用したシステム設計(RAGパイプライン、エージェントオーケストレーション)
  • リアルタイムML推論パイプライン
  • AIエージェントの状態管理
  • ベクトル検索システム

このサイトでは従来テーマも新テーマも両方カバーしている。特にセクション16「LLM Systems」と18「Compound Engineering」は他のリソースにはほぼない。

他のリソースとの比較

リソース 言語 料金 記事数 LLM/AI対応
System Design Primer 英語 無料 ~40 なし
Grokking System Design 英語 $79 ~30 一部
ByteByteGo 英語 $15/月 ~100 一部
InterviewCat 日本語 有料 ~20 なし
本サイト 日本語 無料 118 フルカバー

論文ベースで学べるWhitepapersセクション

面接で「この設計の元になった論文は?」と聞かれて答えられるエンジニアは強い。

10本の重要論文を解説している:

  1. MapReduce — Googleの分散処理の原点
  2. Dynamo — AmazonのEventual Consistencyの設計書
  3. Bigtable — Googleの大規模構造化データストレージ
  4. Spanner — Googleの地球規模分散DB(TrueTime)
  5. TAO — Facebookのソーシャルグラフキャッシュ
  6. Kafka — LinkedInの分散メッセージング
  7. Raft — 理解しやすい合意アルゴリズム
  8. Chubby — Googleの分散ロックサービス
  9. Aurora — AWSのクラウドネイティブDB
  10. CockroachDB — NewSQL分散DB

使い方:3つのユースケース

1. 面接対策(2〜4週間コース)

Week 1: Foundations + Storage Engines(基礎固め)
Week 2: Distributed DB + Caching + Messaging(コアパターン)
Week 3: Scaling + Case Studies 5社(応用)
Week 4: 残りのCase Studies + LLM Systems(差別化)

2. 実務のリファレンス

設計レビューで「この設計はどのパターンに近いか?」を即座に引ける。

「キャッシュの一貫性が気になる」→ セクション4 Cache Invalidation
「イベント駆動にしたい」→ セクション5 Event Sourcing / CQRS
「サーキットブレーカー入れるべき?」→ セクション6 Circuit Breakers

3. チーム内の共通言語として

新メンバーのオンボーディングに使える。「まずFoundationsセクション読んで」で基礎知識を揃えられる。

OSSとして公開している理由

  • MIT License — フォーク、改変、商用利用すべてOK
  • GitHub — PRで誰でも改善に参加できる
  • 日英バイリンガル — 英語版もある
# ローカルで動かしたい場合
git clone https://github.com/babushkai/system-design-patterns.git
cd system-design-patterns
npm install
npm run dev

まとめ

  • 118記事・18セクションのシステム設計パターン集を無料公開
  • Netflix、Uber、Stripe等10社のケーススタディで実践的に学べる
  • LLMシステム・Compound Engineering等の2026年最新テーマも網羅
  • 完全日本語対応で、日本語のシステム設計リソース不足を解消
  • MIT LicenseでOSS公開、誰でも貢献可能

面接対策でも、実務でも、チーム教育でも使える「システム設計の辞書」を目指して作った。

サイトはこちら → https://babushkai.github.io/system-design-patterns/ja/


参考リンク

System Design Patterns(本サイト)

GitHub リポジトリ

Engineering Interview Trends in 2026 - Karat

Ultimate System Design Interview Guide for 2026 - Medium

System Design Primer


この記事が役に立ったら、いいね・ストックをお願いします!

質問:あなたが面接で聞かれた一番難しいシステム設計の問題は何ですか?コメントで教えてください!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?