33 puntos por xguru 2023-08-14 | 11 comentarios | Compartir por WhatsApp
  • Evolucionó lentamente durante 25 años, sin financiamiento de VC ni equipo de DevRel
  • Ingres (UC Berkeley, 1970~1985) —> Postgres95 —> PostgreSQL
    • Postgres = "Post Ingres"
  • Su primer lenguaje ni siquiera fue SQL, sino QUEL. El soporte para SQL se agregó en 1995, cuando se lanzó Postgres95
  • En 1996 se lanzó PostgreSQL 6.0, se formó el equipo de desarrollo y salió del ámbito académico
  • A partir del 2000, Postgres empezó a crecer al incorporar varias funcionalidades
    • Write-Ahead-Log (WAL), Outer JOIN, TOAST, Drop column, IPv6,..
  • Para 2005 ya estaba más maduro y empezó a ser visto como una base de datos bastante estable
    • Soporte transaccional robusto, soporte amplio de SQL, y mejoras en Write-Ahead-Log (WAL) y VACUUM
    • Creación concurrente de índices, servidores Warm standby, tipos de datos Arrays/UUID/ENUM/XML, commit en dos fases, etc.
  • Desde Postgres 8.4 en 2009 se empezaron a soportar funciones de ventana y CTE
  • Desde esa época, Postgres empezó a influir en un ecosistema de datos mucho más amplio
    • Gracias a su base de código sólida y su licencia, muchas empresas adoptaron Postgres y comenzaron a hacer forks
    • Hoy casi no quedan esos forks: Aster Data fue adquirida por Teradata, Truviso por Cisco, Netezza por IBM...
  • Aunque surgieron muchas versiones fork, Postgres siguió avanzando
  • Postgres empezó a volverse cool con los lanzamientos de Postgres 9.0 y 9.1 en 2010
    • soporte de listen/notify (pub-sub sobre la base de datos)
    • hstore (tipo de dato clave/valor)
    • upgrades sencillos mediante pg_upgrade
    • con la llegada de los índices GIN/GiST, fue más allá del índice B-Tree estándar
  • Las extensiones siempre fueron parte de Postgres, pero gracias a una refactorización se volvieron mucho más fáciles de usar
  • Se desarrollaron foreign data wrappers para conectar distintas bases de datos Postgres
  • En 2012 llegó JSON
    • auge de las bases de datos NoSQL (Mongo & Couchbase)
    • los desarrolladores empezaron a querer otras formas de usar sus datos
    • al principio se soportó como una solución improvisada y recién dos años después llegó un soporte de verdad, pero fue suficiente para captar la atención de la gente
    • con el auge de Heroku, Postgres fue elegido como base de datos predeterminada
  • Desde Postgres 9.4 en 2014 comenzó el soporte real de JSON a través del tipo de dato JSONB
    • al ser una representación binaria de JSON, se podía indexar fácilmente con índices GIN
    • JSONB sigue siendo uno de los tipos de datos que más sorprende a la gente cuando lo escucha
  • Logical decoding sentó las bases para facilitar CDC (captura de cambios de datos) durante los años siguientes
  • Cerca de la versión 9.3, Amazon anunció en Re:Invent el soporte de PostgreSQL en RDS
    • el autor ha asistido varias veces a Re:Invent, y dice que esta fue la única presentación que recibió una ovación de pie del público
  • En 2016, con las versiones 9.5, 9.6 y 10
    • se introdujeron Row Level Security, Logical Replication, Table Partitioning y más
    • estas funcionalidades fueron aportes de contribuidores individuales
  • Entonces, ¿cuándo?
    • en su opinión, sin la combinación de Heroku y JSON, los hyperscalers no habrían añadido soporte
    • pero sin un ciclo de releases constante y mejoras continuas de rendimiento y funcionalidades con foco en la calidad, no habría existido la oportunidad

11 comentarios

 
cosine20 2023-08-16

Oh, el Pub/Sub sobre la BD es interesante.

 
inthelife 2023-08-16

¡Binggrae janggrae, Postgres!

 
llmrocks 2023-08-15

Pero supabase es más cool.

 
ggg213 2023-08-15

Por favor, permitan cambiar la posición de las columnas.

 
ruinnel 2023-08-14

Reporte de error tipográfico: licencia por culpa de un error tipográfico -> licencia gracias a

 
n1ghtc4t 2023-08-14

¡Está genial! ¡Claro que sí!

 
jujumilk3 2023-08-14

Incluso da la impresión de ser un caso de manual de OSS que genera un círculo virtuoso.

 
qurare 2023-08-14

Como LK-99, ese romanticismo que viene de una construcción acumulada durante décadas...

 
jujumilk3 2023-08-14

Pura vibra romántica, aprobado....

 
bbulbum 2023-08-14

¡Vamos, Postgres!

 
pkj3186 2023-08-14

Eres genial, Postgres