Skip to content

Are command GUID really mandatory? #75

Open
@wischi-chr

Description

@wischi-chr

Intro (skip it if you are in a hurry ^^ )
A few weeks ago I started a new project and keeping all data in memory and just persist a log of events is a perfect match for the requirements. I started implementing my own solution (protobuf on filesytem to persist the journal, events and an in memory projection of the data).

A few days ago I found this project and it looks like someone took my prototype and put a bit more thought and effort into it so I'm consider switching to memstate, because why maintain some quirky homebew version of it.

Reading through the documentation I noticed a few differences and don't quite understand the design choice with the command ids (GUID)

Question about command id
Are those really necessary? Couldn't just the object reference (because we are in memory) be used to track if an command was already executed or not. Persisted commands do have an implicit integer id: the position in the journal.

If I read the code right, the GUIDs are also serialized and thus every command has at least 16 byte (uncompressable, because they are random) overhead that is not needed, because it will never be used again after it's serialized.

Would be great I you could let me know if I got something wrong or what lead to this design choices. Thanks in advance

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationdocumentation needed, non existant or should be improvedquestion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions