Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Олег Докука — Текущее состояние реактивного дос...

Moscow JUG
December 13, 2018

Олег Докука — Текущее состояние реактивного доступа к базам данных

В настоящее время реактивное программирование становится трендом для создания эластичных и устойчивых приложений. Уже более года Spring Framework радует нас практически полным реактивным стеком для построения приложений.
Теперь у нас есть возможность строить полностью асинхронную и не блокирующую обработку и передачу данных, что способствует эффективному использованию ресурсов.

Однако, это значит, что не блокирующее взаимодействие должно поддерживаться
на всех уровнях системы. Одним из этих слоев является база данных.
В этом докладе мы расширим наши познания о реактивном взаимодействии с известными базами данных, рассмотрим, какие базы данных поддерживают реактивный доступ и как он реализован под капотом.

Наконец, мы перейдем к самым важным вопросам нашей беседы:
- Как реактивно взаимодействовать с реляционными базами данных?
- Есть ли у нас реактивный JDBC?
- Является ли ADBA нашим решением и быть может у Pivotal есть решение для нас?

Moscow JUG

December 13, 2018
Tweet

More Decks by Moscow JUG

Other Decks in Programming

Transcript

  1. / by Oleh Dokuka & Igor Lozynskyi The state of

    Reactive in the Database’s Access
  2. / by Oleh Dokuka & Igor Lozynskyi The state of

    Reactive in the Database’s Access
  3. 3 For whom this talk: / Reactive programmers / Performance

    geeks / Hibernate lovers/haters (?) / Curious people / We assume, you know what Reactive is
  4. 4

  5. 8 Agenda / Why Reactive? / Reactive for NoSQL /

    Reactive for SQL / We use Spring Framework a lot
  6. 20

  7. 24 Non-Blocking Clients / NIO (JDK 1.4+) / Netty Client

    (JDK 6+) / Jetty Client (JDK 8+) / JDK Client (JDK 11+)
  8. 31

  9. 33

  10. 34

  11. 43

  12. 45

  13. 50

  14. 52

  15. 59

  16. 60

  17. ADBA Criticism / Not reactive / No DSL like with

    Reactor / No Backpressure / Not ideal for data streams
  18. R2DBC Criticism / It is in Alpha / Not validated

    yet / No Hibernate/EclipseLink (JPA) / Transactions
  19. 83 Summary / Reactive enables efficiency / We have reactive

    persistence for NoSQL / We have No reactive persistence for SQL / ADBA vs R2DBC / Stay tuned! It is interesting times!