33 points par xguru 2023-08-14 | 11 commentaires | Partager sur WhatsApp
  • Il a évolué lentement pendant 25 ans, sans financement VC ni équipe DevRel
  • Ingres (UC Berkeley, 1970~1985) —> Postgres95 —> PostgreSQL
    • Postgres = "Post Ingres"
  • Son premier langage n’était même pas SQL, mais QUEL. La prise en charge de SQL a été ajoutée en 1995, lors de la sortie de Postgres95
  • En 1996, avec la sortie de PostgreSQL 6.0, une équipe de développement a été constituée et le projet est sorti du monde académique
  • À partir de 2000, Postgres a commencé à se développer en introduisant diverses fonctionnalités
    • Write-Ahead-Log (WAL), Outer JOIN, TOAST, suppression de colonne, IPv6, etc.
  • En 2005, il était devenu plus mature et a commencé à être perçu comme une base de données assez stable
    • Prise en charge riche des transactions, large couverture SQL, ainsi que des améliorations de Write-Ahead-Log (WAL) et de VACUUM
    • Création d’index concurrente, serveurs standby à chaud, types de données Arrays/UUID/ENUM/XML, commit en deux phases, etc.
  • En 2009, à partir de Postgres 8.4, les fonctions Window et les CTE ont été prises en charge
  • C’est à cette période que Postgres a commencé à influencer largement l’écosystème des données
    • Grâce à sa base de code solide et à sa licence, de nombreuses entreprises ont adopté Postgres et commencé à le forker
    • Ces forks ont aujourd’hui presque tous disparu : Aster Data a été racheté par Teradata, Truviso par Cisco, Netezza par IBM, etc.
  • Même si de nombreuses versions forkées sont apparues, Postgres a continué d’avancer
  • Postgres a commencé à devenir cool avec la sortie de Postgres 9.0 et 9.1 en 2010
    • prise en charge de listen/notify (pub-sub pour la base de données)
    • hstore (type de données clé/valeur)
    • mises à niveau faciles via pg_upgrade
    • avec l’arrivée des index GIN/GiST, il est allé au-delà des index B-Tree standard
  • Les extensions ont toujours fait partie de Postgres, mais le refactoring les a rendues beaucoup plus faciles à utiliser
  • Des wrappers de données externes ont été développés pour connecter différentes bases Postgres entre elles
  • Introduction de JSON en 2012
    • montée en puissance des bases NoSQL (Mongo & Couchbase)
    • les développeurs ont commencé à vouloir d’autres façons d’utiliser leurs données
    • au départ, la prise en charge était un peu bricolée, et ce n’est que deux ans plus tard qu’elle est devenue vraiment correcte. Mais cela a suffi à attirer l’attention
    • avec l’essor de Heroku, Postgres a été choisi comme base de données par défaut
  • En 2014, à partir de Postgres 9.4, une véritable prise en charge de JSON a commencé avec le type de données JSONB
    • grâce à la représentation binaire de JSON, l’indexation est devenue simple avec les index GIN
    • JSONB reste encore aujourd’hui le type de données qui surprend le plus les gens
  • Avec logical decoding, les bases ont été posées pour rendre le CDC (capture de données modifiées) plus simple dans les années suivantes
  • Vers la version 9.3, Amazon a annoncé via Re:Invent la prise en charge de PostgreSQL dans RDS
    • l’auteur dit avoir participé plusieurs fois à Re:Invent, et que c’est la seule annonce qu’il ait vue recevoir une standing ovation du public
  • En 2016, avec les versions 9.5, 9.6 et 10
    • Row Level Security, Logical Replication, Table Partitioning, etc. ont été introduits
    • ces fonctionnalités étaient des contributions de contributeurs individuels
  • Donc, quand exactement ?
    • à mon avis, sans la combinaison de Heroku et de JSON, les hyperscalers n’auraient pas ajouté leur support
    • mais sans un rythme de publication régulier et des améliorations continues des performances et des fonctionnalités centrées sur la qualité, l’occasion ne se serait jamais présentée

11 commentaires

 
cosine20 2023-08-16

Oh, le Pub/Sub sur la base de données, c'est intéressant.

 
inthelife 2023-08-16

Binggrae Janggrae Postgrae !

 
llmrocks 2023-08-15

Mais Supabase est encore plus cool.

 
ggg213 2023-08-15

Veuillez permettre de modifier la position des colonnes.

 
ruinnel 2023-08-14

Signalement d’une coquille : 라이선스 벅분에 -> 라이선스 덕분에

 
n1ghtc4t 2023-08-14

C’est gé-nial ! Ouiii !!!

 
jujumilk3 2023-08-14

On a même l’impression d’un cas d’école d’OSS qui s’améliore grâce à un cercle vertueux.

 
qurare 2023-08-14

Comme LK-99, il y a ce romantisme d’une montée en puissance construite pendant des décennies...

 
jujumilk3 2023-08-14

Réussite romantique....

 
bbulbum 2023-08-14

Vive Postgres !

 
pkj3186 2023-08-14

Il est cool, ce Postgres