Cqrs NEventStore和EventStoreDB之间有什么区别

Cqrs NEventStore和EventStoreDB之间有什么区别,cqrs,neventstore,ncqrs,eventstoredb,Cqrs,Neventstore,Ncqrs,Eventstoredb,最近,我正在学习CQR,希望将我的系统更改为使用事件源模式 但我发现在.Net平台上,有两种事件存储实现 这两种实现让我感到困惑-有人能解释一下它们之间的主要区别吗。NEventStore是一个用于.NET的持久性不可知事件源库,具有多个存储选项,如关系数据库和文档数据库 EventStoreDB是一个更新的高性能事件源解决方案,具有自己的持久化引擎和用于多种协议和语言的API。它有开源和商业选择 据我所知,在NEventStore的未来版本中,您也可以使用EventStoreDB作为NEv

最近,我正在学习CQR,希望将我的系统更改为使用事件源模式

但我发现在.Net平台上,有两种事件存储实现


  • 这两种实现让我感到困惑-有人能解释一下它们之间的主要区别吗。

    NEventStore是一个用于.NET的持久性不可知事件源库,具有多个存储选项,如关系数据库和文档数据库

    EventStoreDB是一个更新的高性能事件源解决方案,具有自己的持久化引擎和用于多种协议和语言的API。它有开源和商业选择


    据我所知,在NEventStore的未来版本中,您也可以使用EventStoreDB作为NEventStore的持久化引擎。

    此外,除了提到的EventStoreDB和NEventStore之外,还有一个相对较新的,在概念上类似于NEventStore

    他们有一些本质的区别,但从历史上看,SQLStreamStore可以被看作是NEventStore的继承者。SQLStreamStore的作者以前是NEventStore的维护者。NEventStore的最新版本是2014年3月15日,SQLStreamStore正在积极开发中


    有关创建SqlStreamStore的更多详细信息,请参见答案

    它们是完全不同的产品。它们在实现事件源的意义上是相似的,但它们非常不同。这就像是比较Sql Server和mysql。@MikaelÖstberg感谢您的评论,在我的概念中,Sql Server和mysql之间没有太多不同。@MikaelÖstberg也许更像是比较SQLite和RavenDB?(例如,无论你有什么样的部署安排,都可以嵌入到你的应用程序中,并且故意不尝试覆盖所有端到端的内容,而GetEventStore是一个更大、功能更强大的东西,但也必然更复杂、适应性更差[从部署角度])。任何人都有一个更好的对比例子集-很高兴删除这一个当它更好!谢谢@PB,这是一个非常好的答案。