R2DBC is an endeavor to bring a reactive programming API to relational data stores. It was first announced at SpringOne Platform 2018, as shown in the keynote below:

From the same conference, see Ben Hale go into details of what reactive relational access means. Also discover what it’s like to build clients and drivers:


Feature Matrix H2 (in-memory) PostgreSQL MS SQL Server
Connection pooling      
Broad type conversion X X X
Transactions X X X
Save points X X X
Batching X X X
Multiplexed connections      
URI-based implement selection      
Observability Through R2DBC Proxy Through R2DBC Proxy Through R2DBC Proxy
Transaction isolation X X X

Relational meets Reactive

People wanting to scale while retaining usage of relational databases are cut off from reactive programming due to existing standards. R2DBC introduces a new API that allows asynchronous, non-blocking code that work efficiently with relational databases.

Cloud Ready

R2DBC supports cloud native apps where relational databases like PostgreSQL, MySQL, and others are found. Have the freedom to pick the right one for the job and not be confined by API.


While led by members of the Spring team at Pivotal, R2DBC depends upon community support. Contributors from all relational data stores are invited to participate in building a reactive, relational future.