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.

Reply via email to