storage overhead, estimation and planing

I could not find any good information on the subject. Currently playing with EventStore the following questions in my mind:

  • For instance, for MongoDB documents are stored as some form of JSON including the keys, thus for large amount of data you probably want to reduce key length to reduce storage overhead, for example having “when” field on your document, you will probably rename it to be stored as “w” in order to preserve 3 chars for each event. Since I could not find any good documentation on storage format of EventStore, question is does the same case apply to EventStore as for MongoDB?

  • How one would estimate the amount of storage to be used by EventStore? Of course, we could start inserting data and looking at disk utilization, but this way is not quite precise.

Thanks in advance

Naively answering my own questions:

  • if one will check contents of chunk-* files, it seems like events are stored as raw. So if it was JSON object submitted, it is stored as plain JSON. Meaning that for each field of an event, key name will be stored in every document, so that event in the form ‘{“eventSourceFlag”:1}’ will take at least 21 bytes + overhead caused by uuid, timestamp etc. It looks like optimization of field key names will have tangible impact.

  • still no luck in finding reference for storage estimation

And one more question:

Thanks, it shed some light.