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

3fc5b5eb32bd3b48d7810fd67b37f9a1?s=47 Moscow JUG
December 13, 2018

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

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

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

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

3fc5b5eb32bd3b48d7810fd67b37f9a1?s=128

Moscow JUG

December 13, 2018
Tweet

Transcript

  1. 1.

    / by Oleh Dokuka & Igor Lozynskyi The state of

    Reactive in the Database’s Access
  2. 2.

    / by Oleh Dokuka & Igor Lozynskyi The state of

    Reactive in the Database’s Access
  3. 3.

    3 For whom this talk: / Reactive programmers / Performance

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

    4

  5. 7.
  6. 8.

    8 Agenda / Why Reactive? / Reactive for NoSQL /

    Reactive for SQL / We use Spring Framework a lot
  7. 10.
  8. 11.
  9. 15.
  10. 16.
  11. 20.

    20

  12. 21.
  13. 23.
  14. 24.

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

    (JDK 6+) / Jetty Client (JDK 8+) / JDK Client (JDK 11+)
  15. 25.
  16. 27.
  17. 29.
  18. 31.

    31

  19. 32.
  20. 33.

    33

  21. 34.

    34

  22. 43.

    43

  23. 44.
  24. 45.

    45

  25. 50.

    50

  26. 51.
  27. 52.

    52

  28. 59.

    59

  29. 60.

    60

  30. 69.
  31. 70.
  32. 71.

    ADBA Criticism / Not reactive / No DSL like with

    Reactor / No Backpressure / Not ideal for data streams
  33. 72.
  34. 79.
  35. 80.

    R2DBC Criticism / It is in Alpha / Not validated

    yet / No Hibernate/EclipseLink (JPA) / Transactions
  36. 82.
  37. 83.

    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!