Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL
https://doi.org/10.15514/ISPRAS-2016-28(4)-13
Аннотация
Ключевые слова
Об авторах
Е. Ю. ШарыгинРоссия
Р. А. Бучацкий
Россия
Л. В. Скворцов
Россия
Р. А. Жуйков
Россия
Д. М. Мельник
Россия
Список литературы
1. Graefe G. Volcano — an extensible and parallel query evaluation system. IEEE Trans. Knowl. Data Eng.,6(1): 120–135, 1994.
2. PostgreSQL, an open source object-relational database system. https://www.postgresql.org
3. Lattner C. LLVM: An Infrastructure for Multi-Stage Optimization. Master’s thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Urbana, IL.
4. Neumann T. Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endow. , vol. 4, no. 9, pp. 539–550, Jun. 2011.
5. Neumann T., Leis V. Compiling Database Queries into Machine Code. IEEE Data Engineering Bulletin, March 2014.
6. Zhang R., Debray S., and Snodgrass R.T. Micro-specialization: dynamic code specialization of database management systems. In Code Generation and Optimization, pages 73, 2012.
7. Tan CK. Vitesse DB: 100% Postgres, 100X Faster For Analytics. https://docs.google.com/presentation/d/1R0po7_Wa9fym5U9Y5qHXGlUi77nSda2LlZXPuAxtd-M/pub
8. TPC-H, an ad-hoc, decision support benchmark. http://www.tpc.org/tpch/
9. Kornacker M., Behm A. и другие. Impala: A Modern, Open-Source SQL Engine for Hadoop. CIDR, 2015.
10. Armbrust M., Xin R. S. и другие. Spark SQL: Relational Data Processing in Spark. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (SIGMOD '15). ACM, New York, NY, USA, 1383-1394, 2015.
11. Julia, a high-level, high-performance dynamic programming language for technical computing. http://julialang.org/
12. FTL JIT, JavaScriptCore's top-tier optimizing compiler. https://trac.webkit.org/wiki/FTLJIT
13. Варданян В.Г., Иванишин В.А., Асрян С.А., Хачатрян А.А, Акопян Дж. А. Динамическая компиляция программ на языке JavaScript в статически типизированное внутреннее представление LLVM. Труды ИСП РАН, том 27 (выпуск 6), 2015 г., стр. 33-48. DOI: 10.15514/ISPRAS-2015-27(6)-3
14. Pyston, an open-source Python implementation using JIT techniques. https://pyston.org
15. MacRuby, an implementation of Ruby 1.9 directly on top of Mac OS X core technologies such as the Objective-C runtime and garbage collector, the LLVM compiler infrastructure and the Foundation and ICU frameworks. http://www.macruby.org
16. MCJIT Design and Implementation. http://llvm.org/docs/MCJITDesignAndImplementation.html
17. Momjian B. PostgreSQL Internals through Pictures. http://momjian.us/main/writings/pgsql/internalpics.pdf
Рецензия
Для цитирования:
Шарыгин Е.Ю., Бучацкий Р.А., Скворцов Л.В., Жуйков Р.А., Мельник Д.М. Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL. Труды Института системного программирования РАН. 2016;28(4):217-240. https://doi.org/10.15514/ISPRAS-2016-28(4)-13
For citation:
Sharygin E.Y., Buchatskiy R.A., Skvortsov L.V., Zhuykov R.A., Melnik D.M. Dynamic compilation of expressions in SQL queries for PostgreSQL. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(4):217-240. (In Russ.) https://doi.org/10.15514/ISPRAS-2016-28(4)-13