zhouqingqing / qpmodel

A Relational Optimizer and Executor
MIT License
66 stars 18 forks source link

Questions from design review #276

Closed zhouruiapple closed 3 years ago

zhouruiapple commented 3 years ago

Following are questions from design review:

  1. Does C++ Native Implementation(1.2.2) will do all overall logic architecture of database kernel? And why if yes.
  2. Does C++ Native Implementation(1.2.2) will do Cluster Management?
  3. Why do we use Antlr(2.1) to parse SQL now? If use bison instead of Antlr, whether we can be compatible with SQL syntax of MySQL standard.
  4. Does APIs and Language Bindings(2.2) will be implemented in C++ Native Implementation?If yes, why?
  5. Learn the feedback from the actuator to optimize the next plan(3). Do it means we will enhance optimizer by machine learning?
  6. Are there key technology in Pre-Optimization(3.1)? What are they?
  7. How many memory are used by Cascades Framework(3.3) for the complex query? How does it work when there is no enough memory?
  8. Whether cost model of MySQL supports Cascades Framework(3.3) to find a quality execution plan? Should we start researching the cost model of MySQL now?
  9. Does Integrate with ML based methods means uses machine learning to estimate the cost instead of statistics? How does it work?
  10. For the distributed database, bush tree is the best choice because it can execute in parallel. How does the Cascades Framework(3.3)choose bush tree not left deep tree if table is shading?
  11. If there is no enough memory in executor(4.1.1) to contain all data in memory, Does the data will be write to disk like map-reduce? How the executor handles it?
  12. How about streaming support(4.1.6)? What is the key technology and millstone?
  13. Does vectorization execution(4.2) will be implemented in C++ Native Implementation? If yes, why?
  14. How does us verify our research? Which project is our object of comparison? If we just compare with ourself,there is no proof that our research is effective(may be it is a bug). Can we build optimizer on MySQL 8.0?This allows us to validate the results end-to-end.