33 Punkte von xguru 2023-08-14 | 11 Kommentare | Auf WhatsApp teilen
  • 25 Jahre lang langsam weiterentwickelt, ohne VC-Finanzierung und ohne DevRel-Team
  • Ingres (UC Berkeley, 1970–1985) —> Postgres95 —> PostgreSQL
    • Postgres = "Post Ingres"
  • Die erste Sprache war nicht einmal SQL, sondern QUEL. SQL-Unterstützung wurde erst 1995 mit der Veröffentlichung von Postgres95 hinzugefügt
  • 1996 erschien PostgreSQL 6.0, das Entwicklungsteam formierte sich und das Projekt verließ die akademische Welt
  • Ab 2000 begann Postgres mit der Einführung verschiedener Funktionen zu wachsen
    • Write-Ahead-Log (WAL), Outer JOIN, TOAST, Drop column, IPv6,..
  • 2005 galt es als deutlich ausgereifter und wurde als ziemlich stabile DB wahrgenommen
    • Umfangreiche Transaktionsunterstützung, breite SQL-Unterstützung sowie Verbesserungen bei Write-Ahead-Log (WAL) und VACUUM
    • Gleichzeitige Indexerstellung, Warm-Standby-Server, Arrays-/UUID-/ENUM-/XML-Datentypen, Two-Phase Commit usw.
  • Ab Postgres 8.4 im Jahr 2009 wurden Window-Funktionen und CTEs unterstützt
  • Etwa zu dieser Zeit begann Postgres, ein breites Daten-Ökosystem zu beeinflussen
    • Dank der soliden Codebasis und der Lizenz setzten viele Unternehmen auf Postgres und begannen, es zu forken
    • Von diesen Forks ist heute kaum noch etwas übrig: Aster Data wurde von Teradata übernommen, Truviso von Cisco, Netezza von IBM..
  • Obwohl viele Forks entstanden, marschierte Postgres weiter nach vorn
  • Wirklich cool wurde Postgres mit den Veröffentlichungen von Postgres 9.0 und 9.1 im Jahr 2010
    • Unterstützung für listen/notify (Pub-Sub für die DB)
    • hstore (Key/Value-Datentyp)
    • Einfache Upgrades mit pg_upgrade
    • Mit GIN-/GiST-Indizes ging es über den Standard-B-Tree-Index hinaus
  • Erweiterungen waren immer Teil von Postgres, wurden durch Refactoring aber deutlich einfacher nutzbar
  • Es wurden Foreign Data Wrappers entwickelt, um verschiedene Postgres-DBs miteinander zu verbinden
  • 2012 kam JSON dazu
    • Der Aufstieg von NoSQL-DBs (Mongo & Couchbase)
    • Entwickler wollten andere Wege, mit ihren Daten zu arbeiten
    • Anfangs wurde es eher als Workaround unterstützt und erst zwei Jahre später richtig. Aber es reichte, um Interesse zu wecken
    • Mit dem Aufstieg von Heroku wurde Postgres als Standard-DB gewählt
  • Ab Postgres 9.4 im Jahr 2014 begann mit dem JSONB-Datentyp die echte JSON-Unterstützung
    • Durch die binäre Darstellung von JSON ließ es sich leicht mit GIN-Indizes indexieren
    • JSONB ist bis heute der Datentyp, der die Leute beim Hören am meisten überrascht
  • Mit Logical Decoding wurde die Grundlage gelegt, um CDC (Change Data Capture) in den folgenden Jahren einfacher zu machen
  • Um die Zeit von 9.3 kündigte Amazon auf der Re:Invent PostgreSQL-Unterstützung in RDS an
    • Der Autor war mehrfach auf der Re:Invent, und das war die einzige Ankündigung, die stehende Ovationen aus dem Publikum bekam
  • 2016 mit den Versionen 9.5, 9.6 und 10
    • Row Level Security, Logical Replication, Table Partitioning usw. wurden eingeführt
    • Diese Funktionen stammten aus Beiträgen einzelner Contributor
  • Also wann genau?
    • Meiner Meinung nach hätten Hyperscaler ohne die Kombination aus Heroku und JSON keine Unterstützung hinzugefügt
    • Ohne den verlässlichen Release-Zyklus und die kontinuierlichen Verbesserungen bei Performance und Funktionen mit Fokus auf Qualität hätte es aber auch keine Chance gegeben

11 Kommentare

 
cosine20 2023-08-16

Oh, Pub/Sub für eine DB ist interessant.

 
inthelife 2023-08-16

Binggrae Janggrae Postgrae!

 
llmrocks 2023-08-15

Aber supabase ist noch cooler

 
ggg213 2023-08-15

Bitte ermöglicht das Ändern der Spaltenposition.

 
ruinnel 2023-08-14

Meldung eines Tippfehlers: 라이선스 벅분에 -> 라이선스 덕분에

 
n1ghtc4t 2023-08-14

Cool! Genau so!!!

 
jujumilk3 2023-08-14

Es fühlt sich fast wie ein Lehrbuchbeispiel für einen sich selbst verstärkenden positiven Kreislauf im OSS an.

 
qurare 2023-08-14

Wie bei LK-99 diese Romantik, die durch einen jahrzehntelang aufgebauten Aufbau entstanden ist ...

 
jujumilk3 2023-08-14

Romantik bestanden....

 
bbulbum 2023-08-14

Postgres, weiter so!

 
pkj3186 2023-08-14

Du bist cool, Postgres