I am new to NoSQL DBs, so please forgive my ignorance.
I am looking for a distributed object store that would make it easy to implement hierarchical purging. What I mean by that is that conceptually objects/documents would be put in a folder-like structure that is either part of or separate from their key. When a distributed process completes a certain task or unit of work, it may want to purge all of the data associated with this unit of work -- which may be in a "folder".
One idea is to have a key that is based on a URI. For example, an object my have a key something like:
Then, when I want to purge all of the data for, say my task, I can search for all of the objects whose keys start with
/MySystem/systemId/MyProcess/processId/MyTask/taskId and delete them.
Is there a NoSQL DB out there (with a .NET client API) that natively supports this kind of structure without having to scan all the objects in the system?
We are potentially storing terabytes of temporary data during a single distributed process, so memory-only databases wouldn't work for us.
We would also like to do some querying and enumerations of our objects based on hierarchy.