「PostgreSQLで何でもやる」海外で賛否 SQLite派も反論

海外の技術系サイトで「PostgreSQLだけで何でも済ませられる」とする記事が公開され、Hacker Newsで大きな反響を呼んだ。PostGISやJSON対応、銀行のRevolutがメッセージキュー代わりにPostgresを実運用で使っている例が紹介される一方、「SQLiteで十分」「OLAP用途ならClickHouseの方が向いている」といった反論も相次いだ。

1990年代からのMySQLとの覇権争いの歴史を振り返るレスも盛り上がりを見せた。

PostgreSQLで何でもやる

出典: raphaelbauer.com / 元記事はこちら

2 海外の名無しさん 2026-08-19 14:34
これは理論だけの話じゃない。例えばRevolutという銀行は、イベントの永続化とストリーミングを全部Postgresの上でやっている。従来型のメッセージキューやブローカーは一切使っていない。
39 海外の名無しさん 2026-08-19 15:49
>>2
SREとしてこの手の問題に日々向き合っている身から言うと、Kafkaみたいな有名なソフトを使うメリットは、ハマった問題の解決策や指針がすでにたくさん出回っていること。逆に自前で組むと『それKafkaなら簡単にできるよ』ってオチになりがち。
4 海外の名無しさん 2026-08-19 14:01
自分は何でもSQLiteでやってて、それで十分満足してる。同時書き込みの制限は知ってるけど、自分の規模だと全然問題にならない。
49 海外の名無しさん 2026-08-19 14:59
>>4
それは全然アリだと思う。自分はPostgres大好き人間だから最初からPostgresで始めるけど、SQLiteも理にかなってるし、必要になったらPGへの移行パスもだいたい用意されてる。
50 海外の名無しさん 2026-08-19 14:32
>>4
そうだね、特にVM/サーバー1台で足りるようなWebアプリならなおさら。その規模を超える頃には、Postgresへの移行なんて直面してる他の問題に比べたらよっぽど単純な話のはず。
52 海外の名無しさん 2026-08-19 15:12
>>4
SQLiteの一番の問題は型システムの弱さ。あるアプリで試したときは正直びっくりした。
6 海外の名無しさん 2026-08-19 14:56
PostGISも地理空間データの保存・インデックス・検索にすごく便利な追加機能だよ。
12 海外の名無しさん 2026-08-19 14:04
PostGISに触れてないなんて、それはひどい。
13 海外の名無しさん 2026-08-19 14:13
似たような話でもっと中身が濃いのが読みたいなら、このブログがおすすめ。
57 海外の名無しさん 2026-08-19 14:15
>>13
それか、それを丸ごと1冊カバーしてる本もあるよ。
16 海外の名無しさん 2026-08-19 14:01
SQLiteで何でもやる。NVMeドライブ+Litestream+オブジェクトストレージ(S3/R2など)の組み合わせ。UberやAirbnbみたいな規模じゃない、大多数のロングテールなアプリ・サービスにとってはSQLiteでシンプルに済ませられる。
58 海外の名無しさん 2026-08-19 14:40
>>16
面白そうだけど、オブジェクトストレージをどこに置くか決めるところで踏み切れずにいる。AWSもCloudflareのアカウントも持ってないし、何にコミットすべきか分からない。あと、Litestreamってオブジェクトストアの代わりにファイルシステムも使えるんじゃなかったっけ。
22 海外の名無しさん 2026-08-19 14:51
Postgresで高可用性(HA)ってどう組んでる?MySQLのHA構成はInnoDBクラスタ・MySQL Router・Shellでかなり分かりやすかったんだけど。
60 海外の名無しさん 2026-08-19 15:43
>>22
Patroniを使うといい。ただ、これがコア機能じゃなくて、いつか非サポートになったりなくなったりしないか心配ではある。
26 海外の名無しさん 2026-08-19 14:24
Postgresは素晴らしいけど、何にでも向いてるとは思わない。例えばOLAP集計は理論上できても、ClickHouseみたいなツールが宣言的にタダで提供してくれる機能を、自分で一から組み立てる羽目になる。
67 海外の名無しさん 2026-08-19 15:42
>>26
Lakebase Postgresを使えばこれはすごく簡単にできる。かなりスムーズな体験だけど、もっと簡単にするための取り組みも進めてるところ。(Lakebaseの開発に関わってます、意見は個人のもの)
27 海外の名無しさん 2026-08-19 14:22
SQLiteにはPostgreSQLに対する利点がたくさんある。デーモン不要、DBごとに1ファイル、設定の手間も少ない。
69 海外の名無しさん 2026-08-19 14:39
>>27
PostgresにもSQLiteに対する利点はたくさんある。プロセスあたり複数ライターに対応、厳格な型付け、アクセス制御、大規模なレプリケーションもファイルのコピペより効率的(この点はSQLiteも改善したみたいだけど)。
70 海外の名無しさん 2026-08-19 14:36
>>27
大半の用途にはそれで十分だと思う(DuckDBならさらにその先を行く)。でも大規模でマルチライターな用途ならPGが向いてる。
29 海外の名無しさん 2026-08-19 14:47
番外編として挙げておきたいのがPostgREST。
71 海外の名無しさん 2026-08-19 15:25
>>29
Postgresで何でもやるっていう記事なのに、これがどこにも出てこないのは変な感じがする。
31 海外の名無しさん 2026-08-19 14:53
長期アーカイブ用に、パーティショニングを使ってデータをS3ストレージに移すことってできる?
72 海外の名無しさん 2026-08-19 15:22
>>31
理論上は可能、s3 fdwが必要になる。ClickHouseでこれをデモしたことがある。今chdbベースの仕組みでS3との相互コピーに取り組んでいて、その上にfdwを載せればS3上にテーブルをバックできるかも。pg_duckdbやpg_lakeでも似たようなことは試せる。
73 海外の名無しさん 2026-08-19 15:16
>>31
できない。timescaledbだとクラウド版の機能としてはある。オンプレならArcみたいなツールが使える。
38 海外の名無しさん 2026-08-19 13:46
『2003年当時、MySQLはSQL標準の全機能を実装していなかった分、それだけ速かった可能性がある』か。これはあまり良い出だしじゃない。たぶんMyISAMのことだと思うけど、あれはもう10年以上前から重要ではなくなってる。InnoDBはPostgresとは異なる設計判断をしていて、ポイントルックアップでは(今でも)速かったんじゃないかな。
74 海外の名無しさん 2026-08-19 13:59
>>38
いや、投稿者はここで明確に2003年の話をしてる。『2003年当時、MySQLはPostgreSQLよりずっと広く使われていた。SQL標準の全機能を実装していなかった分、MySQLの方が速かった可能性もある』って。
89 海外の名無しさん 2026-08-19 14:11
>>74
当時、MySQLはPHPを使うレンタルサーバーのデフォルトでもあった。そこの市場を彼らは失った。DBの世界におけるPerlみたいなものだね。
90 海外の名無しさん 2026-08-19 14:46
>>74
初期のMySQLってディスクへの同期をかなりいい加減に扱ってなかったっけ?それも速さの理由の一つだったような。ウェブスケールな速さってやつ(笑)
53 海外の名無しさん 2026-08-19 15:44
>>9
それはリレーショナルデータベース一般の話への反応であって、Postgres固有の話でも、まして元記事の内容(読んでないでしょ)でもないと思う。PostgresにはMongoDBで使うような非構造化JSONドキュメントを扱える組み込みのデータ型と関数がある。
80 海外の名無しさん 2026-08-19 15:58
>>53
その機能は今でもPostgresが重要であり続けている理由の大きな一部だと思う。hstoreのアプローチだけじゃ、PGがそれしか提供してなかった頃は全然足りなかった。

※本記事は5ch(Hacker News)スレッド「PostgreSQL for Everything」より抜粋・要約して構成しています。

まだコメントはありません。

コメントする

誹謗中傷・個人を特定する書き込みは削除対象です。投稿は承認後に表示されます。

相互リンクサイト新着記事