Ask HN: Is there an equivalent of LLVM for databases?
What I mean is a low-level system that would allow me to make use of some primitive facilities that databases are based on (indexes, heaps, storage engines, ...) and use them to build my own database/data processing systems. Is there such a thing?
I think this could be very interesting as I often find myself in a situation where I have a good idea of how to access data using a given set of indexes, but am not able to do this reliably because the query planner does give a different, less efficient plan. And please don't tell me that the query planner always knows better, as often it does not even provide a way to specify which goal I'm optimizing for (e.g. predictable performance / throughput vs. better but unpredictable performance).
Having access to such an open, optimized platform for database generation would make it much easier building systems that are highly optimized for a given use case instead of being designed for general-purpose data storage.