- VC funding या DevRel team के बिना 25 साल तक धीरे-धीरे विकसित हुआ
- Ingres(UC Berkeley, 1970~1985) —> Postgres95 —> PostgreSQL
- इसकी पहली भाषा SQL भी नहीं बल्कि QUEL थी। SQL support 1995 में Postgres95 के release के साथ जोड़ा गया
- 1996 में PostgreSQL 6.0 release होने पर development team बनी और यह academia से बाहर आया
- 2000 से Postgres ने कई features अपनाने शुरू किए और growth शुरू हुई
- Write-Ahead-Log (WAL), Outer JOIN, TOAST, Drop column, IPv6,..
- 2005 तक आते-आते इसे अधिक mature और काफ़ी stable DB के रूप में पहचाना जाने लगा
- समृद्ध transaction support, व्यापक SQL support, और Write-Ahead-Log (WAL) तथा VACUUM में सुधार
- concurrent index creation, Warm standby server, Arrays/UUID/ENUM/XML data types, two-phase commit आदि
- 2009 में Postgres 8.4 से Window functions और CTE support किया गया
- इसी दौर से Postgres ने व्यापक data ecosystem पर असर डालना शुरू किया
- मज़बूत codebase और license की वजह से कई कंपनियों ने Postgres को अपनाकर fork करना शुरू किया
- ये forks अब लगभग बचे नहीं हैं: Aster Data को Teradata ने अधिग्रहित किया, Truviso को Cisco ने, Netezza को IBM ने..
- fork versions बहुत बने, लेकिन Postgres आगे बढ़ता रहा
- Postgres का कूल बनना 2010 में Postgres 9.0 और 9.1 के release से शुरू हुआ
- listen/notify(DB के लिए pub-sub) support
- hstore(key/value data type)
- pg_upgrade के ज़रिए आसान upgrade
- GIN/GiST indexes के आने से standard B-Tree Index से आगे बढ़ा
- extensions हमेशा से Postgres का हिस्सा रहे, लेकिन refactoring के ज़रिए उन्हें और आसानी से इस्तेमाल किया जा सका
- अलग-अलग Postgres DB को जोड़ने के लिए foreign data wrappers विकसित किए गए
- 2012 में JSON जोड़ा गया
- NoSQL DB का उभार(Mongo & Couchbase)
- developers अपने data को इस्तेमाल करने के दूसरे तरीके चाहने लगे
- शुरुआत में यह थोड़ा workaround जैसा support था, और 2 साल बाद जाकर proper support मिला। लेकिन लोगों का ध्यान खींचने के लिए इतना काफ़ी था
- Heroku के उभरने के साथ Postgres को default DB के रूप में चुना गया
- 2014 में Postgres 9.4 से JSONB data type के ज़रिए सही मायने में JSON support शुरू हुआ
- JSON के binary representation के कारण GIN index से इसे आसानी से index किया जा सका
- JSONB आज भी ऐसा data type है जिसे सुनकर लोग सबसे ज़्यादा चौंकते हैं
- Logical decoding ने आने वाले कुछ वर्षों के लिए CDC(change data capture) को आसान बनाने की नींव रखी
- लगभग 9.3 के समय Amazon ने Re:Invent के ज़रिए RDS में PostgreSQL support की घोषणा की
- लेखक कई बार Re:Invent में शामिल हुए, लेकिन दर्शकों की standing ovation उन्हें सिर्फ़ इसी घोषणा पर याद है
- 2016 में 9.5, 9.6, 10 versions
- Row Level Security, Logical Replication, Table Partitioning आदि जोड़े गए
- ये features व्यक्तिगत contributors के योगदान से आए
- तो आखिर कब?
- मेरे विचार में अगर Heroku और JSON का मेल न होता, तो hyperscalers शायद support नहीं जोड़ते
- लेकिन यदि लगातार release cycle और quality पर ज़ोर देते हुए performance व features में निरंतर सुधार न हुए होते, तो यह मौका भी नहीं मिलता
11 टिप्पणियां
ओह, DB के लिए Pub/Sub काफ़ी दिलचस्प है
बिंगग्रे जांगग्रे Postgres!
लेकिन supabase ज़्यादा कूल है
कृपया column की position बदलने की सुविधा दें
टाइपो रिपोर्ट:
라이선스 벅분에->라이선스 덕분에क्या ही कमाल है! यही है ना!!!
यह सचमुच सद्गति से आगे बढ़ने वाले OSS की एक पाठ्यपुस्तक जैसा लगता है।
LK-99 की तरह, दशकों तक जमा किए गए build-up से पैदा हुई वह रूमानी भावना...
रोमांस पास....
Postgres ज़िंदाबाद!
कमाल है, Postgres!