如果我要创建一个基本的个人会计系统(因为我就是这样 – 这是一个关于我熟悉的领域的业余爱好项目,以避免陷入困境),像RavenDB这样的Nosql /文档数据库是存储帐户的一个很好的候选人,更重要的是,针对这些帐户的交易?如何选择哪个实体是“文档”?
我怀疑这是其中一个案例实际上是一个sql数据库是合适的并试图去Nosql是错误的,但是当我想到我对CQRS和事件采购知之甚少时,我想知道实体/文件是否是实际上是帐户,并且事务是针对它存储的事件,并且当这些“事件”发生时,我的应用程序也可能写出一个易于查询的读取存储,如sql数据库.
提前谢谢了.
你当然可以创建这样一个系统. 在这种情况下,您拥有帐户聚合,并且您还拥有TimePeriod Aggregate. 时间段通常是月,季度或年. 在每个TimePeriod中,您有该期间的交易. 这意味着加载当前状态的速度非常快,并且您可以使用完整的日志来进行后退. TimePeriod的原因在于,这通常是您实际考虑此类事物的边界.