【问题标题】:NoSql database for domain events领域事件的 NoSql 数据库
【发布时间】:2016-06-12 08:45:18
【问题描述】:

我们正计划实施我们自己的自定义事件存储来持久化我们的域事件,用于庞大的银行系统(数百万个事件)。 NoSql 数据存储有多种类型,每一种似乎都响应特定的用例:文档、基于列、键值等...

我们不想花时间管理索引,第二次,我们希望能够从该商店为我们的 BI 报告系统提供数据。

您认为什么样的商店最适合我们?

【问题讨论】:

  • 我不推荐 MongoDB,因为它不提供 ACID 功能。 Vernon 在他的文章中谈到了这一点,他推荐 PostgreSQL 作为实现 EventStore 的良好候选者。
  • @Rénald 您在一致性方面的需求是什么?可扩展性?可备份性 ?客户支持 ?支持的客户端语言?等
  • @mgonzalezbaile Vernon 没有说 PostgreSQL 是事件存储的候选者。他清楚地使用了 9.4 JSON 存储功能并实现了文档样式的聚合存储库。对保存事件只字不提。

标签: domain-driven-design nosql


【解决方案1】:

我的期望是你应该调查GetEventStore;既然已经有商业支持的开源工作,为什么还要自己动手呢?

碰巧,今天是Gabriel Schenker's series 创建活动商店四周年。

Konrad Garus 写了关于使用 PostgresSQL 的文章(在reddit 上进行了后续讨论)。和Jeremy Miller 一样。

Adam Warski 描述了一个 MongoDB 实现。

Erik Rozendaal 写了一个 Redis 存储。

【讨论】:

    【解决方案2】:

    完全支持 GES(我们将其用于事件溯源),此外,出于好奇,您可能需要查看:

    • Marten - 使用 PostgreSQL 作为文档样式存储和事件存储。杰里米·米勒(Jeremy Miller)正在进行的工作
    • Streamstone - Azure 表存储上的事件存储
    • 旧好的 NEventStore 是“持久不可知论者”,并具有适用于许多流行数据库的适配器

    通常你会寻找的是:

    • ACID 交易
    • 订阅以便能够直接从事件存储中获得预测
    • 事件存储中用于高级内容或替换/补充前一点的投影

    目前只有 GES 拥有所有这些功能,无需部署任何其他功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多