- VC資金調達も、DevRelチームもなく、25年間かけてゆっくり進化した
- Ingres(UCバークレー、1970〜1985)—> Postgres95 —> PostgreSQL
- 最初の言語はSQLですらなくQUELだった。SQLサポートはPostgres95がリリースされた1995年に追加された
- 1996年にPostgreSQL 6.0がリリースされ、開発チームが作られて学界の外へ出た
- 2000年からPostgresはさまざまな機能を導入し、成長を始めた
- Write-Ahead-Log (WAL)、Outer JOIN、TOAST、Drop column、IPv6 など
- 2005年になるとさらに成熟し、かなり安定したDBとして認識され始めた
- 豊富なトランザクションサポート、広範なSQLサポート、そしてWrite-Ahead-Log (WAL) と VACUUM の改善
- 同時インデックス作成、Warm Standbyサーバー、Arrays/UUID/ENUM/XMLデータ型、2フェーズコミットなど
- 2009年のPostgres 8.4からWindow関数とCTEがサポートされた
- この頃からPostgresは広範なデータエコシステムに影響を与え始めた
- 堅牢なコードベースとライセンスのおかげで、多くの企業がPostgresを採用してフォークし始めた
- これらのフォークは現在ではほとんど残っていない: Aster Data は Teradata に買収、Truviso は Cisco に買収、Netezza は IBM に買収…
- フォーク版が多数生まれたが、Postgresは前進を続けた
- Postgresがクールになり始めたのは、2010年のPostgres 9.0と9.1のリリースからだった
- listen/notify(DBに対するpub-sub)サポート
- hstore(キー/バリューデータ型)
- pg_upgradeによる簡単なアップグレード
- GIN/GiSTインデックスの登場により、標準のB-Tree Indexを超えた
- 拡張機能は常にPostgresの一部だったが、リファクタリングによってより簡単に使えるようになった
- 異なるPostgres DBを接続できる外部データラッパーが開発された
- 2012年にJSONを導入
- NoSQL DBの台頭(Mongo & Couchbase)
- 開発者たちは自分たちのデータを使う別の方法を求め始めていた
- 当初は応急的なサポートだったが、2年後にようやく本格対応した。それでも人々の関心を引くには十分だった
- Herokuが台頭し、PostgresをデフォルトDBとして選択
- 2014年のPostgres 9.4から、JSONBデータ型によって本格的なJSONサポートを開始
- JSONのバイナリ表現により、GINインデックスで簡単にインデックス化できるようになった
- JSONBはいまでも、人々が聞いて最も驚くデータ型のひとつ
- Logical decoding により、その後数年間のCDC(変更データキャプチャ)をより簡単にする土台が築かれた
- 9.3の頃、AmazonがRe:InventでRDSにおけるPostgreSQLサポートを発表
- 筆者自身もRe:Inventに何度も参加したが、聴衆が総立ちで拍手したのはこの発表だけだった
- 2016年の9.5、9.6、10バージョン
- Row Level Security、Logical Replication、Table Partitioning などが導入された
- これらの機能は個人コントリビューターたちの貢献だった
- では、いつなのか?
- 私の考えでは、HerokuとJSONの組み合わせがなければ、Hyperscalerがサポートを追加することはなかっただろう
- しかし、安定したリリースサイクルと、品質を重視した性能・機能の継続的な改善がなければ、そもそもチャンスはなかったはずだ
11件のコメント
おお、DB に対する Pub/Sub は興味深いですね
ビングレ、チャングレ、ポストグレ!
でも、supabaseのほうがもっとクールだ
column の位置を変更できるようにしてください
誤字報告: ライセンス おかげで -> ライセンスのおかげで
かっこいい〜! そうだろう!!!
好循環するOSSのお手本のような感じすらします
LK-99のように、数十年にわたって積み上げてきたビルドアップが生むロマンが…
ロマン合格……
ポストグレス、ファイト!
かっこいい、ポストグレスよ