Answer the question
In order to leave comments, you need to log in
Compiling a DBMS according to the description of the database structure (similar to bison) - does this exist?
Question on the rights of curiosity. It became interesting whether there is a kind of “precompiled” relational DBMS in nature? It would be more correct to say not a DBMS, but a “DBMS designer”, “DBMS generator” or “DBMS compiler”, which, according to a predetermined description of the database (table structure, all possible queries to them, stored procedures, triggers, any settings like the container format and buffer sizes, etc.) will generate executable files of the DBMS itself, "sharpened" for a specific database (and, accordingly, working only with it). We are talking about compiling all SQL queries into native code, and, for example, formatting each query as a separate function exported from the DBMS with the parameters corresponding to the query. In general, perhaps, some analogy of what I'm talking about, from the field of creating compilers - bison.
This approach, in theory, will reduce the overhead compared to traditional DBMS (for the same SQL query parsing, for double copying data to the socket / shared memory when transferring them between the application and the DBMS, for a lot of "extra" checks, inevitable due to the universality traditional DBMS). Plus, it is logical to assume that sawing out all the unused functionality of the DBMS will significantly speed up the performance. And besides, it will also reduce the size of the executable file, and in general it will allow you to get a DBMS tuned to your taste and optimized for your requirements, as is done with the Linux kernel.
In general, for sure, after all, such an idea has already been implemented, the question is - where?
Answer the question
In order to leave comments, you need to log in
MySQL Workbench - visually design, then get the database, and / or vice versa and update if necessary. Are we talking about the same thing?
Reasonable question: what for? It's akin to "I'll burn my OS with my sql assembler and compiler" -)
More or less large SQL systems are often famous for the fact that at any given time (query) they can, among other things, build on the basis of statistics, memory, load different execution plan for the same query. It is for the purpose of optimizing it.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question