多年来,开发人员实现持久性使用传统的建立、读取、更新、删除(CRUD)模式。正如前面介绍的,若是采购模型实现持久性存储状态更改成历史事件捕获业务活动发生以前写的数据存储。这将事件存储机制,容许他们被聚合,或者放在一个组与逻辑边界。事件采购的模式之一,使并发、分布式系统实现高性能、可伸缩性和弹性。
在一个分布式体系结构中,事件采购提供了如下优势数据库
>在传统的CRUD模型中,实体实例一般会表示为一个可变对象在内存和一个可变行关系数据库表中。这致使了臭名昭著的对象关系阻抗失配。对象关系映射器是用来填补这一鸿沟,但带来新的复杂性。 事件源ES模型对待数据库就像对待一个序列化时间的append-only log同样。它并不试图对每一个实体的状态或直接在数据库模式之间的关系进行建模。这大大简化了代码从数据库中写入和读取 >一个实体如何达到其当前状态的历史仍在存储事件。事务型数据和查帐式数据之间的一致性是有保证的,由于这些是相同的数据 >你如今有能力分析事件流和重要的业务信息来自它——也许甚至都不考虑当时的事件设计。你能够在咱们的系统活动中添加新的视图而不会使写入方面更加复杂 >因为全部类型的事件都都只需添加到数据存储区,因此它能够提升写入性能。这里没有更新和删除 >事件源系统很容易测试和调试。命令和事件能够模拟用于测试目的。事件日志提供了一个良好的记录进行调试。若是在生产中检测到一个问题,你能够回放事件日志在受控环境中了解一个实体进入很差 的状态。