Skip to content
Mark Paluch edited this page Apr 30, 2019 · 1 revision

Welcome to the R2DBC wiki!

R2DBC is an endeavor to bring a reactive programming API to relational data stores.

The R2DBC specification aims for establishing an interface with a minimal API surface to integrate with relational databases using a reactive programming model. The most significant goals are honoring and embracing the properties of reactive programming:

  • Non-blocking I/O
  • Deferred execution
  • Treat application control as a series of events (data, errors, completion)
  • No longer assume control of resources but leave resource scheduling to the runtime/platform („React to resource availability“)
  • Efficient usage of resources
  • Leave flow control to be handled by the runtime
  • Stream-oriented data consumption
  • Functional programming within operators
  • Remove assumptions over concurrency from the programming model and leave this aspect up the runtime
  • Use back-pressure to allow flow control, to defer the actual execution and to not overwhelm consumers
Clone this wiki locally