Yon*_*eau 5 domain-driven-design consistency nosql cqrs
我正在寻找关于如何选择 NoSQL 数据库引擎以在 CQRS 设计的应用程序中存储所有事件的良好、最新和“决策帮助”解释。
我目前是 NoSQL(但正在学习)所有事物的新手:请清楚并毫不犹豫地以(几乎太多)精确的方式解释您的观点。这篇文章可能值得像我这样的新人。
该数据库将:
能够为前视图要求的每次更新插入 2 到 10 行(在我的情况下,更新很频繁)。想想每分钟数千次更新,它会如何扩展?
非常需要一致性和故障安全性,因为事件是应用程序的真实来源。
除了用户 ID/GUID 之外,不需要实体之间的任何链接(就像 RDBMS 那样)(我不知道它是关键还是需要)
接收包含 3 到 10 个“列”(序列 ID、事件名称、日期时间、JSON/二进制编码的参数包、一些上下文信息..)的事件。如果没有在面向列类型的数据库中定位您的观点,如果它符合所有其他要求,则它可能是面向文档的
用作队列或发送到外部 AMQP 系统(如 RabbitMQ 或 ZeroMQ)或从外部 AMQP 系统读取(还没有处理那部分,如果您还可以论证/解释..),因为视图投影将建立在事件上
需要按序列 IDSELECT * FROM events WHERE sequence_id > last_sequence_id进行某种过滤,例如订阅者(或队列系统)才能从给定点进行同步
我听说过用于 CQRS 事件存储的 HBase,但也许 MongoDB 适合?或者甚至是 Elasticsearch(不会赌那个..)?为了一致性和可用性,我也对 RDBMS 持开放态度.. 但是分区容错部分呢..?
真的我迷路了,我需要争论来做出相关的选择。
| 归档时间: |
|
| 查看次数: |
5636 次 |
| 最近记录: |