Типобезопасное асинхронное выполнение SQL запросов для языков JVM

  • О Ю Рязанов Белгородский государственный технологический университет им. В. Г. Шухова
  • Ю Д Рязанов Белгородский государственный технологический университет им. В. Г. Шухова
Ключевые слова: асинхронное программирование, параллельное программирование, база данных, SQL запрос

Аннотация

В настоящее время для разработки высоконагруженных приложений применяются асинхронные фреймворки, библиотеки и драйверы. Одной из особенностей разработки приложений на основе асинхронных фреймворков является недопустимость вызова блокирующих функций в потоке обработки сообщений. Эта особенность создает трудности в использовании актуальных по назначению библиотек, написанных для однопоточной и многопоточной модели приложения, т. к. они могут содержать блокирующие функции или другие блокирующие драйверы. Примером такой библиотеки является библиотека jOOQ, которая предназначена для создания типобезопасных SQL запросов в коде программ на языке Java. В статье описан метод адаптации блокирующей библиотеки jOOQ для использования в асинхронном фреймворке, а также его реализация в виде библиотеки Vjooqx.

Скачивания

Данные скачивания пока не доступны.

Биографии авторов

О Ю Рязанов, Белгородский государственный технологический университет им. В. Г. Шухова

магистрант кафедры программного обеспечения вычислительной техники и автоматизированных систем, Белгородский государственный технологический университет им. В. Г. Шухова

Ю Д Рязанов, Белгородский государственный технологический университет им. В. Г. Шухова

доцент кафедры программного обеспечения вычислительной техники и автоматизированных систем, Белгородский государственный технологический университет им. В. Г. Шухова

Литература

1. Async, Netty based, database drivers for PostgreSQL and MySQL written in Scala URL: https://github.com/mauricio/postgresql-async
2. Каскиаро, М. Шаблоны проектирования Node.JS / М. Каскиаро, Л. Маммино – М.: ДМК Пресс, 2017, 396 с.
3. Nurkiewicz, T. Reactive Programming with RxJava / T. Nurkiewicz, B. Christensen – O’Reilly Media, 2016 – 372 p.
4. Bernhardt, М. Reactive Web Applications / M. Bernhardt – Manning Publications, 2016 – 328 p.
5. jOOQ: The easiest way to write SQL in Java – URL: http://www.jooq.org
6. The jOOQ User Manual. Single Page – URL: http://www.jooq.org/doc/3.11/manual-single-page
7. Vjooqx – URL: https://github.com/weery28/vjooqx
8. Typesafe sql – URL: http://www.jooq.org/#a=usp-typesafe-sql
9. Round 16 results – TechEmpower Framework Benchmarks – URL: http://www.techempower.com/benchmarks/ #section=data-r16&hw=ph&test=update
10. Reactive Streams – URL: https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.2/README.md#specification
11. Vertx-jooq – URL: https://github.com/jklingsporn/vertx-jooq
Опубликован
2019-03-29
Как цитировать
Рязанов, О. Ю., & Рязанов, Ю. Д. (2019). Типобезопасное асинхронное выполнение SQL запросов для языков JVM. Вестник ВГУ. Серия: Системный анализ и информационные технологии, (2), 104-109. https://doi.org/10.17308/sait.2019.2/1294
Раздел
Современные технологии разработки программного обеспечения