feeding a data warehouse

Hi all,

I presume that complex analytic questions cannot easily be answered via the projection library. Even if it is possible, I would think that it is not advisable to query the event store directly but one should rather create dedicated read models for specific analytic needs (any comments welcome on these 2 points).

I am currently investigating the possibility of feeding a star schema database (i.e. dedicated read model) from the event store. I did quite a few searches but I could not find anything yet. Is anyone aware of any blogs etc. on this subject? Any feedback regarding this would be very much appreciated.

Thanks.

Chris

There are certain questions the internal queries are very good at
solving (temporal correlation queries)

It is quite common to make an external read model and there is direct
support for it. Over the client api just open up a
EventStoreCatchupSubscription (SubscribeToXXXFrom) this will basically
stream events from the event store to you so you can call handlers to
update your read model.

Cheers,

Greg

Thanks that confirms what I thought.

I understand that I can ‘replay’ and/or perform projections via at least two interface:

  • http (using javascript)

  • .Net

Is there anything I cannot do via .Net? I am currently investigating what I could use for ETL operations.

I also think, that although events mainly contain fact data, they also contain dimension data (to use dimensional modeling language). Is this correct? I guess this depends on my implementation as well …

C

There is also a jvm api (akka + java wrappers) lets be a bit more
specific and say there are two interfaces. One is atom over http (not
only javascript anything with http). The other is bidirectional async
protobufs over tcp. All operations can be done over the protobufs api
most can be done over the http api (there are some edge cases that are
not supported).

"I also think, that although events mainly contain fact data, they
also contain dimension data (to use dimensional modeling language). Is
this correct? I guess this depends on my implementation as well ..."

To be fair it depends totally what you put in your events, they should
represent dimensional data if they are events but we see them only as
a vector of bytes. If you store facts there it is absolutely
dimensional data :slight_smile: If you store random numbers not so much.