So I will mention some of the advantages of event store.

1) You can actually repartition etc your events for read models 
(functionality exists today)
2) As far as I know we are actually older than kafka
3) We support many things kafka does not (such as competing consumers on 
streams as well as client originated subscriptions)
4) We support things like max count/age but on a per stream basis not 
database as a whoie
5) We run in mac/linux/windows
6) We use standard protocols such as atom feeds over http
7) We have per stream ACLs (not sure if kafka does this) with support for 
most major authentication systems
8) We have an entire query language for adhoc querying your data (eg 
temporal correlation queries)
9) not sure on this one in comparison but we have commercial support with 
low SLAs
10) We can easily support 100m streams. This may have changed but last time 
I checked kafka was not designed to support vast numbers of streams (say 
stream/aggregate)

In general though things are quite similar between them... 

Some downsides:
1) As of now we don't handle your sharding for you (this is on the list) we 
are focused on the bottom 95% right now though its been designed in from 
the beginning
2) Our akka based client is not super mature though there is also a java 
client
3) Our running environment may not be familiar to you (as of now everything 
is statically linked however and delivered as a native binary)
4) Our akka.persistence adapters are probably less mature
5) Our akka.persistence adapters are not supported by typesafe but by us 
(not sure on Martin's work but I would guess typesafe supported)

Cheers,

Greg

On Monday, August 18, 2014 10:52:03 PM UTC-4, Ashley Aitken wrote:
>
>
> I'm keen to hear other people's thoughts on the choice of an event store 
> for Akka Persistence for doing CQRS.
>
> As mentioned in my other post, I believe that Akka Persistence only 
> provides part of the story for CQRS (but a very important part) and that 
> other stores will most likely be needed for query models (both SQL and 
> NOSQL stores).  
>
> Since they are project specific I would like to focus here on what store 
> is "best" for Akka Persistence for CQRS.
>
> Right now my leading contenders are Kafka and Event Store (but I haven't 
> thought too much about Cassandra or MongoDB etc).  My knowledge of all of 
> these is limited so please excuse and correct me if any of my statements 
> are wrong.
>
>
> KAFKA: Apache Kafka is publish-subscribe messaging rethought as a 
> distributed commit log.
> Persistent topics for publishing and subscribing
> Highly scalable and distributed
> Need to manually create topics for projections
> Each topic has own copy of events
> Writing to multiple topics is not atomic
> Allows logs to be kept for different amounts of time
> Battle tested technology from LinkedIn
> Not generally used a lifetime store for events
>
> http://kafka.apache.org
> https://github.com/krasserm/akka-persistence-kafka/
>
>
> EVENT STORE: The open-source, functional database with Complex Event 
> Processing in JavaScript.
> Built specifically for storing and projecting events
> Store event once and create virtual projection streams
> Journal plugin at early stage in development
> Projections are still beta but finalising soon
> JSON serialisation (which has +ve and -ve points)
> Javascript for projection stream specification
> Atom interface helps with debugging
> Not as distributed or scalable?
> Includes temporal criteria for streams
>
> http://geteventstore.com
> https://github.com/EventStore/EventStore.Akka.Persistence
>
> Personally, I like the potential Kafka has to be the event store / log for 
> CQRS but also the store for logs in big data processing and analytics. 
>  However, the fact that events need to be manually replicated to different 
> topics and problems that would be caused if this wasn't consistent is a 
> worry.
>
> On the other hand, Event Store has been specifically designed and built 
> for event store and projection processing by a leader in the field of CQRS. 
>  However, it uses a unique set of technologies and I am not sure of it has 
> been battle tested by many or its long term viability.  
>
> What do others think?  What are your thoughts of and has your experience 
> been with other stores?
>
>
> MONGODB: ?
>
>
> CASSANDRA: ?
>
>
> As mentioned, I can definitely see the use of the last two for query 
> models in addition to one of the  event persistence and projection stream 
> store but have not really considered them for the latter myself.
>
> Of course, enormous kudos and no disrespect to any of these fantastic free 
> and open-source projects 
>
> Thanks in advance for sharing any thoughts / experiences.
>
> Cheers,
> Ashley.
>
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to