MiniOptimizer: ПОЈЕДНОСТАВЉЕНИ РЕЛАЦИОНИ ОПТИМИЗАТОР УПИТА

  • Miloš Gravara
Ključne reči: Релациони оптимизатор упита, SQL, процена кардиналности, системи за управљање базама података

Apstrakt

У овом раду је представљен MiniOptimizer, поједностављени релациони оптимиза¬тор упита, са циљем да практично прикаже теоријске основе оптимизације упита. MiniOptimizer, развијен у програмском језику C#, подржава основне SQL операције и користи MiniQL, специјално дизајни¬рани упитни језик. Рад обухвата структуру алата MiniOptimizer, укључујући парсер, логички и физички план извршења, проценитељ кардиналности и ката-лог података. Процес оптимизације укључује парси-рање MiniQL упита, креирање и трансформацију ло-гичког плана, оптимизацију редоследа спајања и из-бор најповољнијег физичког плана извршења. Један од доприноса овог рада јесте разумевање техника оптимизације упита, кроз развој MiniOptimizer-a као едукативног алата који може да служи као основа за даља истраживања и развој напреднијих система за управљање базама података.

Reference

[1] Hector Garcia-Molina, Jeffrey D. Ullman. Database Systems: The Complete Book. Prentice Hall Press, USA, 2 edition, 2008.
[2] Graefe, Goetz. “The Volcano optimizer generator: extensibility and efficient search.” Proceedings of IEEE 9th International Conference on Data Engineering (1993): 209-218.
[3] Selinger, Patricia G. et al. “Access path selection in a relational database management system.” ACM SIGMOD Conference (1979).
[4] Zongheng Yang et al. Balsa: Learning a query optimizer without expert demonstrations. In Proceedings of the 2022 International Conference on Management of Data, SIGMOD/PODS ’22. ACM, June 2022.
Objavljeno
2024-11-02
Sekcija
Elektrotehničko i računarsko inženjerstvo