必要なのはPostgreSQLだけ
本稿では、複数の専門データベースやミドルウェアに頼らず、PostgreSQLだけで様々なアプリケーション要件を満たす方法を解説する。全文検索、キューイング、JSONストレージ、地理空間データ処理など、PostgreSQLの多機能性を最大限に活用する実践的アプローチを紹介する。
背景メモ
- この記事は「スタートアップや個人開発では、要件が膨らむまで複数のデータベース(MySQL + Redis + Elasticsearch など)を最初から並立させるのではなく、PostgreSQL 1本でどこまでやれるか」という主張を展開している。
- PostgreSQL は30年以上の歴史を持つオープンソースのリレーショナルデータベース。近年は JSON 保存、全文検索、メッセージキュー代わりの LISTEN/NOTIFY、地理情報(PostGIS)など、本来は専用DBが必要だった機能を標準で備えるようになった。
- いわゆる "Polyglot Persistence"(用途ごとに最適なDBを組み合わせる設計)が2010年代に流行したが、運用コストや複雑さが増す副作用も明らかになってきた。本稿はその反動として「まずは PostgreSQL に集約し、本当にボトルネックが発生してから専用DBを検討する」という現実的なアプローチを提案している。