Solution for daily snapshots

Is it possible to use EventStoreDB for daily snapshots? Are there any recomendation for stream naming?

What I could think of is to create a stream for each category named category_snapshot-{date} and link each stream that received an event that date.

no out of the box: there are so many snapshots strategies .
What’s the snapshoting for:I’m assuming there is a natural timed partition in your domain ?
if that’s the case, why not {category}-{id}-{date} kind of naming scheme ?
Then closing a day means creating a new stream, the first event being whatever initial state you need .

What I have to create is a solution that should allows for visualization of how a set of entities was on a certain date compared to another one, including the differences. The timeframe is daily based. I think the concept of snapshot in that case is more related to Read Models, because a snapshot should have all the changes of several entities and will not be used to rehydrate the Domain Models.

For example, the user will choose a range of dates and all changes within that range will be displayed.

Why not just read the events of that date range then, and build a specialized in memory read model ?
what’s the kind of volume ?

How can I filter the events by date without loading all of them to memory? I already have a Timestamp on the metadata of each event, but I couldn’t find a way of filtering by metadata.

The number of events will not be high per entity but I can have several entities (mapped to streams)

That’s exaclty what I mean , if the number of event is not high, read it all, discard the events based on the metadata fields,
then deserialize the event data & feed them into the in memory readmodel.

the works of filtering still need to be done in code anyway but then you don’t have to maintain a projector process looking at all streams…