おしえて、どばしさん! その10「OpenAIはなぜPostgreSQLで8億ユーザーを捌けたのか?」

AIにまつわるさまざまな疑問について、未来の世界からやってきた謎の生物「ニャクセル」と、AIに明るい土橋克寿さん(どばしさん)がわかりやすく紹介する連載企画。第10回のテーマは「大規模サービスのデータベース設計」についてです。

「ChatGPTって8億人も使ってるの!?そんな大量のユーザーのデータ、どうやって管理してるの?」というニャクセルに対し、「実は40年前に生まれたPostgreSQLというデータベースを工夫して使っているんだよ!」と、どばしさんはやさしく教えてくれました。

質問するひと ニャクセル
答えてくれるひと どばしさん

Q1:8億人ってどれくらいすごいの?日本の人口より多いよね?

8億人って言われてもピンとこないんだけど…

すごい数字だよね!比較してみると:
・日本の人口:約1億2000万人
・アメリカの人口:約3億4000万人
・ChatGPTのユーザー:8億人以上
 
つまり、日本の人口の約7倍、アメリカの人口の2倍以上の人が使っているサービスなんだ。しかも、この1年でデータベースへの負荷は10倍以上に増えたそうだよ。
 
毎秒数百万件のデータベースクエリを処理しているそうだよ。想像を超える規模だよね!

Q2:そもそもPostgreSQLって何?普通のデータベースと違うの?

ポストグレ…エスキューエル?聞いたことないかも

PostgreSQL(ポストグレスキューエル)は、1986年にカリフォルニア大学バークレー校で生まれたデータベース管理システム(以下データベース)なんだ。もう40年近く使われている、超ベテラン選手だね。

特徴をざっくり言うと:

項目 PostgreSQL
料金 無料(オープンソース)
信頼性 非常に高い
歴史 約40年
使っている企業 Apple、Spotify、Instagramなど多数

「普通のデータベース」というより、「世界中で最も信頼されているデータベースの一つ」と言った方が正確かな。

Q3:なんでOpenAIは新しい技術じゃなくて古いデータベースを使い続けてるの?

AIの最先端企業なのに、40年前の技術を使ってるの?新しいのに乗り換えないの?

いい質問だね!実は「古い=悪い」とは限らないんだ。
 
OpenAIがPostgreSQLを使い続ける理由:
1. 実績がある 40年間、世界中で使われて問題が洗い出されている
2. エンジニアが慣れている 新しい技術だと学習コストがかかる
3. 移行コストが膨大 数百のアプリケーションを書き換えるのに数ヶ月〜数年かかる
4. 工夫次第でスケールできる 今回の記事のポイントはまさにここ!
 
「枯れた技術」って呼ばれるんだけど、これは褒め言葉なんだ。長年使われて安定しているという意味だよ。

Q4:1台で8億人って無理じゃない?

8億人に対応するのか。さすがに1台のパソコンじゃ処理できないよね?

パソコンというよりクラウド上のサーバーだね。でもその感覚は間違ってはいないよ!1台だけじゃ厳しいよね。OpenAIの構成がちょっと面白いんだ。
 
OpenAIのデータベース構成:
・プライマリ(親玉):1台だけ
・リードレプリカ(読み取り専用のコピー):約50台
 
「え、書き込みは1台で処理してるの!?」って思うよね。実はそうなんだ。
 
ポイントは、ChatGPTのワークロードが読み取り中心だということ。ユーザーがチャットを表示したり、履歴を見たりする「読み取り」は50台に分散して、「書き込み」だけ1台で処理しているんだよ。

ユーザーのリクエスト

┌─────────────────────────────────────┐
│  読み取り → 50台のレプリカに分散    │
│  書き込み → 1台のプライマリで処理   │
└─────────────────────────────────────┘

Q5:「レプリカ」って何?コピーを作るってこと?

レプリカって、フィギュアとかのレプリカと同じ意味?

そう、まさに「複製」という意味だね!
 
データベースの世界では:
・プライマリ(Primary):本物。書き込みができる
・レプリカ(Replica):コピー。読み取り専用
 
プライマリに書き込まれたデータは、自動的にすべてのレプリカにコピーされるんだ。これを「レプリケーション」と呼ぶよ。
 
OpenAIは世界中の複数のリージョンにレプリカを配置している。ユーザーは自分に近いレプリカからデータを読み取るので、世界中どこからでも素早くアクセスできるんだ。

Q6:アクセスが急に増えたらどうなっちゃうの?

バズったりしたら、サーバー落ちちゃわない?

実際、何度か危ない場面があったみたいだよ。OpenAIのブログには「SEV(重大障害)を複数経験した」と書いてある。
 
典型的なパターン:
アクセス急増
  ↓
データベースが重くなる
  ↓
リクエストがタイムアウト
  ↓
ユーザーがリロード(再試行)
  ↓
さらにアクセス増加
  ↓
💥 悪循環で崩壊
 
これを防ぐために、OpenAIはレート制限(1秒あたりのリクエスト数を制限)を複数の層で設けているんだ。
 
ちなみに、2025年3月のChatGPT画像生成機能のローンチ時には、1週間で1億人以上の新規ユーザーが登録して、書き込みが10倍以上に急増。これが過去12ヶ月で唯一の重大障害(SEV-0)だったそうだよ。

Q7:キャッシュって何?なんで必要なの?

キャッシュってよく聞くけど、何のこと?

キャッシュは「一時的な記憶場所」のことだよ。
 
例えるなら:
・データベース = 図書館の書庫(大量の本があるけど、取りに行くのに時間がかかる)
・キャッシュ = 机の上(よく使う本を置いておく。すぐ手に取れる)
 
同じデータを何度もデータベースに取りに行くのは無駄だよね。だから、よく使うデータはキャッシュに置いておくんだ。
 
OpenAIの工夫で面白いのがキャッシュロックという仕組み。キャッシュにデータがないとき、普通は全員がデータベースに殺到してしまう。でもキャッシュロックを使うと:
 
100人が同じデータをリクエスト
  ↓
普通:100回データベースにアクセス 😱
  ↓
キャッシュロック:1人だけがデータベースにアクセス、残り99人はキャッシュ更新を待つ 😊
 
これで無駄なアクセスを大幅に減らせるんだ。

Q8:接続が足りなくなるってどういうこと?

接続?電話回線みたいなもの?

近いイメージだね!データベースへの「接続」は、電話回線のように数に限りがあるんだ。
 
PostgreSQLの場合:
・最大接続数:5,000(Azure PostgreSQLの場合)
・1つのリクエストで1つの接続を使う
 
5,000って多そうに見えるけど、毎秒数百万リクエストが来るサービスだと全然足りない。
 
そこでOpenAIはPgBouncerというツールを使っている:
 
普通の場合:
ユーザー → データベース(1対1で接続)
 
PgBouncerを使う場合:
ユーザー → PgBouncer → データベース
     (接続を使い回す)
 
これで、接続時間が50ミリ秒→5ミリ秒に短縮されたそうだよ。10倍速い!

Q9:結局、何がすごいポイントだったの?

いろいろ聞いたけど、まとめるとどういうこと?

OpenAIがPostgreSQLで8億ユーザーを支えられた理由をまとめると:

工夫 効果
読み取りをレプリカに分散 プライマリの負荷軽減
世界中にレプリカ配置(約50台) 低遅延でデータ提供
キャッシュ層の活用 データベースアクセスを大幅削減
PgBouncerで接続プール 接続数の問題を解決
レート制限を多層で実装 急激な負荷増加から保護
高コストなクエリの最適化 CPU使用率を抑制

結果として:
・99.999%の可用性
・99パーセンタイルのレイテンシが2桁ミリ秒台前半
・過去12ヶ月で重大障害1件のみ
 
地道な最適化の積み重ねが、この驚異的な数字を実現しているんだ。

Q10:私たちの仕事にも参考になる?

これって大企業の話でしょ?普通の開発者には関係ないんじゃ…

そんなことないよ!規模は違っても、考え方は応用できるんだ。
 
今日から使えるヒント:
 
✅ 読み取りと書き込みを分離する意識
・読み取りが多いなら、レプリカを検討
・キャッシュを活用して不要なデータベースアクセスを減らす
 
✅ 「枯れた技術」を恐れない
・新しい技術が常に正解とは限らない
・実績のある技術を深く理解して使いこなす
 
✅ ボトルネックを見つけて潰す
・遅いクエリを特定して最適化
・複雑なJOINはアプリケーション層で処理することも検討
 
✅ 障害に備える設計
・レート制限を入れておく
・1箇所が落ちても全体が止まらない構成を考える
 
OpenAIのような規模でなくても、この考え方を知っておくと、システム設計の引き出しが増えるよ!

まとめ:巨人の肩に乗ろう

今回は、OpenAIがPostgreSQLで8億ユーザーを支えている仕組みを見てきたね。
 
ポイントを3つにまとめると:
1.新しい技術より、既存技術の深い理解
40年の歴史があるPostgreSQLを極限まで最適化
 
2.役割分担で負荷を分散
すべてを1つに任せず、得意な役割ごとに仕事を振り分ける
 
3.地道な改善の積み重ね
一発逆転の魔法はなく、ボトルネックを一つずつ潰していく
 
世界最先端のAI企業も、基本に忠実な工夫を積み重ねているんだ。こういう「巨人の知恵」を学ぶことで、私たちの開発にも活かせることがたくさんあるよ!

参考リンク

土橋克寿

証券会社、ビジネス誌副編集長を経て2013年に独立。欧米中印のスタートアップ取材や、各国首脳・テック企業幹部へのインタビューを多数実施。Yahoo!ニュース エキスパートなど国内外メディアで執筆。2018年より株式会社クロフィー代表取締役として、AI開発・PRコンサルティングなどを手掛ける。
https://news.yahoo.co.jp/users/expert/dobashikatsutoshi
https://x.com/dobatty
https://chrophy.com

ニャクセル

人びとの未来を加速させるためにやってきた、AIやLSIなどの最先端テクノロジーにくわしい謎の生物。前任の「あいにゃん」とは遠い親戚。「◯◯だにゃ」としゃべるが、ねこではないらしい。アクセルの製品やサービスに関する情報を教えてくれる。好きな食べ物はドッグフード。嫌いなものはゴキブリ。
https://x.com/Nyaxell_Axell

SHARE THIS ARTICLE