问题标签 [eventstoredb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5833 浏览

c# - 在 EventStore 中搜索流

是否可以通过其他 Stream 属性而不是 StreamId 来搜索流?例如,如果每个流的 Headers 中都有 CustomerId,我想搜索具有特定 CustomerId 的所有流。

0 投票
1 回答
3338 浏览

domain-driven-design - EventStoreDB 是否支持快照?

我正在认真考虑使用Greg Young 的 EvenStore来实现基于事件的系统。但是,我不确定 Greg Young 的 EventStore 是否支持快照。快照是我的应用程序的关键要求,因为我们不想每次都重播所有事件来构造对象状态。

任何人都可以为我提供有关如何在 EventStore(Greg Young 版本)中创建快照的示例吗?

0 投票
2 回答
4798 浏览

cqrs - NEventStore 和 EventStoreDB 有什么区别

最近我正在学习 CQRS,并想改变我的系统以使用事件溯源模式。

但是我发现在.Net平台上,有两个Event Store实现。

  1. NEventStore(原 JOliver EventStore)
  2. EventStoreDB(来自 EventStore.com)

这两种实现让我感到困惑 - 有人可以解释它们之间的主要区别。

0 投票
2 回答
13401 浏览

mongodb - EventStore 与 MongoDb

我想知道使用 EventStore ( http://geteventstore.com ) 与在 MongoDb 中自己实现事件源相比有什么优势。

我问的原因是,我们公司有很多人每天都在使用 MongoDb。但它们不适用于事件溯源。虽然他们对这个主题并不完全一无所知,但他们也不打算在任何地方开始实施它。

我即将开始一个非常适合事件溯源的项目。大约有 16 个定义明确的事件,以及大约 7 个定义明确的预测。我说“关于”是因为我知道一旦他们看到产品在使用中,就会需要更多的预测和事件。

该方法将首先使用 API,并使用我们组织的其他部分将使用的 REST Api。

虽然我已经阅读了很多关于 Greg Young 定义的事件溯源的信息,但我从未真正实现过事件溯源解决方案。

这是一个绿地项目。没有技术限制,因为我们将把所有东西都公开为 REST 接口。因此,如果有人有使用 MongoDb 的 EvenStore 或 Event Sourcing 的工作经验,请赐教。

还有一个关于事件溯源的几乎完全不相关的问题:你有没有直接查询事件存储?或者您是否总是创建新的预测和重播事件来填充这些预测?

0 投票
1 回答
1435 浏览

eventstoredb - EventStore 上的 WrongExpectedVersionException 入门项目

我已经重新编写了 Getting-started-with-event-store 项目以了解发生了什么,现在为了测试CanSaveExistingAggregate()我得到了 WrongExpectedVersionException。问题是,为了尝试弄清楚发生了什么,我想知道预期的版本应该是什么,我怎样才能找到它?在测试中,该行repository.Save(firstSaved, Guid.NewGuid(), d => { });计算预期版本为101,这就是它失败的地方:

以及引发异常的代码:

所有其他测试都通过了(除了ThrowsOnGetDeletedAggregate()但我稍后会问),但我认为这是唯一的测试expectedVersion != ThrowsOnGetDeletedAggregate()

0 投票
0 回答
2711 浏览

event-sourcing - 查询事件存储

我已经开发软件多年,发现活动商店的概念非常有趣,因为它可以巧妙地避免我多年来遇到的一些痛点。但是,在我真正试一试之前,我还需要做三件事。

首先是如何处理查询事件存储。现在,我知道您基本上可以通过设置表来支持此类查询,这些表基本上可以缓存来自事件流的结果,可能是以非规范化的方式。你会如何实现呢?您是否会为更新表的事件设置另一个侦听器?如果您允许搜索特定对象上的几乎任何字段怎么办?当您更新搜索表中使用的模式时,您是否不必重新运行所有记录的更新表?干净利落地完成这件事有多难?

第二个是,你如何处理大块数据?也就是说,假设您正在存储博客文章等。您如何处理收到大量更新的任意大量文本?您会通过与旧版本产生差异的东西来运行新版本,还是会使用另一种策略?

第三,如何处理来自外部的批量更新?假设有大文档进来,每个文档都代表一个聚合根。您是否将其分解为一系列较小的更新(并且可能会忽略它是如何通过批量更新进入的),或者您是否只是针对此特定用例进行了大规模、令人讨厌的事件。

我意识到上述几乎所有内容都只是在乞求“这取决于”的答案。但是一般的方法是什么?

0 投票
1 回答
715 浏览

eventstoredb - 事件存储链接不创建流

我正在使用“linkTo”对我的事件进行投影,以按照 Rob Ashton 的建议创建一个单独的流(http://codeofrob.com/entries/re-partitioning-streams-in-the-event-store-for-better -projections.html)但它不起作用。

我什至尝试创建一个在所有流中运行所有事件的项目,但仍然没有使用 linkTo 创建流,如下图所示:

在此处输入图像描述

'linkTo' 需要进行哪些更改才能实际创建流?我正在使用 EventStore 2.0.1 for .NET 在 Windows 8 上运行。我可以在 Event Store 控制台中看到以下内容:

0 投票
2 回答
1857 浏览

eventstoredb - 如何从类别进行投影?

我目前以以下格式存储事件mycategory-mytype-uniqueid。在阅读了网络上的各种帖子后,我了解到我应该得到一个叫做mycategory做那个的类别。我已经写了 :

我现在希望得到一个流mynewstream以及一个带有变量的结果number,但我没有得到。那么我错过了什么?

0 投票
1 回答
390 浏览

encryption - 如何加密光盘上的 EventStore?

对于我的罪过,我负责存储个人身份信息和可能受 HIPAA 保护的数据的数据库。

因此,这些数据需要在传输和静止时加密存储。

我们目前使用带有 TDE 的 MSSQL Enterprise。

我们正在研究[Get]EventStore,它将其数据维护为直接文件,通常在其主机的文件系统上 <1MB。我们的问题包括:我们如何加密它?我们如何备份它?即使备份,我们如何保留加密?

我想在应用程序级别以下进行加密。Vormetric 和 Gazzang 似乎提供了加密虚拟设备或磁盘分区的选项,但似乎都没有像使用 MSSQL 的 TDE 那样简单地解决备份加密问题。

我们真的很想使用 EventStore。我希望有一个很好的解决方案,我太厚了,无法欣赏。

0 投票
3 回答
12332 浏览

c# - 在运行时将 JObject 转换为类型

我正在编写一个简单的事件调度程序,其中我的事件作为具有 clr 类型名称的对象和代表被触发的原始​​事件(在 byte[] 被处理到 jobject 之后)的 json 对象进入。如果有人想知道细节,我正在使用 GetEventStore。

我想用 clr 类型做两件事:

  1. 找到实现 IHandles 的类和
  2. 在该类上调用 Consume(clr type)

我已经设法使第 1 部分使用以下代码正常工作:

ATM的问题是processedEvent.Data是一个JObject——我知道processedEvent.Data的类型,因为我没有在它上面定义。

如何在不对类型名称进行任何讨厌的切换的情况下将该 JObject 解析为类型 t?