MariaDB Connector/R2DBC is now a release candidate (RC). MariaDB Connector/J has long been a popular choice for Java application developers connecting with MariaDB, and now with Connector/R2DBC we have support for non-blocking, reactive Java programming with MariaDB databases.
Connector/R2DBC implements the R2DBC 0.8.2 specification. R2DBC specifies a service-provider interface (SPI) to enable integration of databases into systems that use reactive programming models.
- Reactive programming takes the existing Callbacks-Futures based asynchronous paradigm further with a new Publisher-Subscriber based asynchronous model.
- A publisher-subscriber is a push-pull model rather than the classic asynchronous model that is push-consume.
- A data stream is not sent unless a subscriber subscribes to it, and a subscriber can choose the rate it will consume data.
- Reactive data streams are non-blocking, do not require threads, and are faster than non-reactive data streams.
MariaDB Connector/R2DBC is available from the MariaDB Download page (choose “r2dbc connector”). Java 8+ is supported. MariaDB Connector/R2DBC 0.8.4 is a release candidate (RC) release. It is not recommended for production usage.
Documentation is provided with examples, both native and using Connector/R2DBC with Spring Data R2DBC to make it “easier to build Spring-powered applications that use relational data access technologies in a reactive application stack”.
A demonstration of R2DBC functionality is available in the OpenWorks 2020 “Introducing the R2DBC async Java connector” webinar, available on demand.