▲ | mike_hearn 2 days ago | |
It has been done. It's just that open source databases lag behind the state of the art. https://docs.oracle.com/en/database/oracle/oracle-database/2... Adaptive planning also applies to adapting the degree of query parallelism and automatic banning of query plans that take too much time. Commercial databases have much bigger teams than Postgres does and have a lot more optimizations as a consequence. This includes optimizations that aren't in scope for an open source DB to begin with. For example, Oracle uses the Apple strategy for decades. A lot of Oracle DBs are sold as hardware not software, shipped as a full cluster rack or set of racks to the customer. The gear uses a dedicated inter-node 100Gb/sec ethernet within the cluster to give horizontal scalability of joins and other complex read/write loads. Queries and results go in/out over a separate frontend network. There are customizations up and down the stack from kernel, firmware, device drivers, database nodes and the client drivers. Nodes directly read/write each other's memory using RDMA to fetch the latest version of rows from each other or inform each other about new transactions. https://static.rainfocus.com/oracle/ocw24/sess/1716494555804... You could do stuff like this with Postgres perhaps, if you fork and rewrite enough of it, but it's unlikely to ever be done upstream. Disclosure: I have a part time role at Oracle. All opinions 100% guaranteed unofficial. |