Hi Diego, Thanks a lot for sharing that, very helpful and instructive! Concerning the creation of entity ID, could you expand on what you suggest (using a read collection)? I'm not sure to get it.
Thomas On Friday, August 19, 2016 at 8:23:09 PM UTC+8, Diego Guraieb wrote: > > Hello Thomas, > > I have created a event store for arangodb using Foxx. > https://github.com/diegogub/arangodb-es > > Are you talking about the event ID or entity ID? For entity ID you could > use a small read collection with all unique ids, and read before creating > the entity. > > Regards, > > El jueves, 18 de agosto de 2016, 9:15:58 (UTC-3), Thomas Weiss escribió: >> >> Hi everyone, >> >> Continuing on a topic I briefly mentioned before on Slack... I'm >> currently prototyping some event-sourcing on ArangoDB; I think ADB is a >> great platform for that thanks to Foxx and I hope to be able to blog about >> that once everything settles down. >> >> Event-sourcing in a nutshell: updates to the DB are done by >> (1) logging an event that describes how the DB is intended to be modified >> (2) applying this event to execute the modifications against the DB >> >> I've managed to design most of those principles in Foxx, but I've an >> issue when the update is the creation of an entity. Following the >> event-sourcing "theory", the event log is the single-source-of-truth so the >> event shall completely describe the intended update. So when creating an >> entity, the corresponding event shall contain its ID, which means that I >> need to define an ID (or rather a _key in ADB) that will be guaranteed to >> be valid when the entity is inserted in the DB. Applying an event cannot >> fail and events are immutable. So I'm wondering if there is a way to >> generate a _key that will be guaranteed to be valid (i.e. not already used) >> - considering that I can run all that in a transaction. >> >> All suggestions welcome! >> >> Thanks in advance, >> Thomas >> > -- You received this message because you are subscribed to the Google Groups "ArangoDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
