我正在为EvenSourcing和CQRS系统寻找一个EventStore,我正在考虑在未来发展。我已经开始熟悉CockroachDB并对可扩展性印象深刻,同时拥有所有保证,这对于Event Store和查询都很好。
我在想这里,我猜一个(?)表的事件。看起来像这样的东西:
表格中的列
所以我有两个问题:
答案 0 :(得分:3)
Cockroachdb是一个很好的选择作为事件存储。需要注意的一件事是你如何选择主键。例如,如果您使用时间戳作为主键,您将看到所有写入都在同一节点上,因此最好选择一个键,使得及时写入的写入均匀分布在所有节点上。将随机数作为eventID并将其用作密钥将起作用。
CockroachDB尚未(即将推出)支持有关数据库更改的通知,这在将其用作事件存储时非常有用
答案 1 :(得分:1)
CockroachDB 现在支持以变更数据捕获 (CDC) 变更提要的形式通知数据库变更。这是文档:
https://www.cockroachlabs.com/docs/stable/stream-data-out-of-cockroachdb-using-changefeeds.html
以及一些相关的博文:
YouTube 上还录制了 CRDB 更改提要的演示/演示: