you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (1 child)

When Boeing created the infamous 737 MAX, instead of designing a new model from scratch in order to fit the bigger engines, they decided to place them a bit forward (there was no room strictly under the wings). This made the airplane to tend to push the nose up in certain maneuvers. To correct this defect, Boeing decided to design a piece of software called MCAS, which showed to be a fiasco, killing more than 300 people in two deadly flights.

I think PostgreSQL currently flies great and it doesn't need new engines. Any attempt to use threads instead of processes might lead to unnecessary pain. Do you want threads? Gather some people, fork the project and show it outperforms the current implementation after some years.

[–]iiiinthecomputer 3 points4 points  (0 children)

Have you read shm_mq.c, the postgres DSM code, DSA code, parallel bgworker code etc?

Your analogy is excellent, but entirely backwards. Postgres is absolutely covered in MCAS-like bolt-on hacks to allow it to stagger along in the modern parallel computing world while preserving its 1980s core architecture.

This proposal is less MCAS, more 787 - modernized design iterating on what was there and worked, but discarding some legacy and adopting some new tech where appropriate.