Can I use CQRS with CRUD in Akka Serverless?

A question from the Akka Serverless Developer Workshop: “can I use CQRS with CRUD in Akka Serverless?” – thanks for the great question!

I guess CRUD here refers to what we call Value Entities and the Q in CQRS is what we call Views. Views can be built from Value Entities.

1 Like

I guess Key-Value (KV) based data could always be thought of as CRUD. I tend to think of CRUD as a class of APIs that tend to be the more traditional approach used by plenty of REST APIs out there in the world today. The approach is fine. I’ve been thinking recently that KV + Query is a fairly non standard path as of late, mainly because of the additional overhead - programming and infrastructure - required to maintain a query layer on top of, or along side, of a traditional KV store. I like the power now provided by Akka Serverless in this area: simplicity of KV coupled with a flexible query layer that can be disconnected from CRUD operations, i.e. scaled separately without that additional overhead in more conventional approaches. Maybe calling it “CQRS with CRUD” is sufficient? I see other players out there chasing something to Akka Serverless but the persistence answer is always “basic KV store”, which is fairly limited in scope of use cases.

Is that a good interpretation of the approach taken with Akka Serverless, i.e. value of KV + Query (Views), and can Value Entities be equated to KV store?