Cassandra vs r2dbc. What to choose?

Many changes to persistence are implemented in r2dbc. Does this mean that the emphasis is on r2dbc, and Cassandra goes by the wayside for Lightbend?


It’s right that many of the new features are based on the r2dbc plugin. Here are some of these features that is missing in the Cassandra plugin if comparing them:

  • Projections with eventsBySlices instead of by tags, and thereby possibility to change number of projection instances at runtime without migrations
  • Projections exactly-once
  • Projections over gRPC
  • Replicated Event Sourcing over gRPC
  • Low latency Projections
  • Projections starting from snapshot
  • Shared query stream for supporting many Projection instances
  • Durable State and Durable State query representation without Projection

For a new project I would therefore recommend the R2DBC plugin, unless Cassandra is the only operations alternative.

That said, the Cassandra plugin is used by many and works well for it’s current feature set.