- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
CQRS 写入数据库包含与 CQRS 读取数据库不同的字段是否正常?例如,在上面的情况下,Product.Description
在读取端(NoSQL)持久化但在写入端(SQL Server)不持久化是否正常?
我意识到写入端选择的数据库 (RDBMS) 的数据结构可能与读取端选择的数据库 (NoSQL) 不同。我特别询问是否“允许”选择在读取端和写入端保留哪些数据字段。
我问的原因是我正在阅读的一本书暗示这是正常的,但是,我在书中或网上找不到任何支持这一点的例子。
请看下面的代码:
public class Product
{
public Guid Id { get; set; }
public string Code { get; set; }
public string Description { get; set; }
public void LookupDescriptionByCode(List<ProductDescriptionLookup> productCodes)
{
Description = productCodes.Find(x => x.Code == Code).Description;
}
}
最佳答案
Is it normal for the CQRS write database to contain different fields to the CQRS Read database?
通常,写数据库将是一个超集(大于)读数据库。
is it normal for Product.Description to be persisted on the read side (NoSQL) but not on the write side (SQL Server)?
不,但也许。
如果您想象一个具有单一写入数据库的系统,那么“记录簿”就是写入数据库,所有内容都将存在于其中;读取数据库只是写入数据库中信息的缓存副本。
但是,如果您要分解这个整体,读取模型可能会结合来自多个写入模型的信息。因此写入模型可能只知道产品代码,但读取模型可能有产品描述(因为它使用代码从“其他地方”查找描述)。
但是在系统中的某处,您在任何给定时间都有“该”产品代码的官方副本。
I have an event log, which is the book of record. I am confused why a write database is needed as well. I can see the benefit of persisting certain domain objects to the write database, however not all of them?
如果您正在进行事件溯源,那么您的事件日志通常存储在您的写入数据库中(可能是 RDBMS,也可能是专用的消息存储)。
Is it fair to say that if there is an EventStore/EventLog/IntegrationLog then a write database (relational tables for each domain object) is not needed.
我认为,如果您的事件存储充当记录簿,那么您不需要关系表来也充当这些相同实体的记录簿,这还远远不够。
例如,您可以对部分领域而不是全部领域使用事件溯源。或者您可能希望缓存表示以提高写入效率。或者……
关于c# - 读数据库上的字段没有出现在写数据库中是否正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54639487/
我在不同的硬件上测试 Cassandra 已经有一段时间了。 首先我有 2 个 CPU 和 6 GB RAM 然后我更改为 16 个 CPU 和 16 GB RAM(其中只有 6 GB 可供我的测试使
我只是想从二进制文件中读/写。我一直在关注 this教程,它的工作原理......除了它似乎正在将内容写入 txt 文件。我在测试的时候把文件命名为test.bin,但是记事本可以打开并正常显示,所以
我编写了一些简单的 Java 代码来从文本文件中读取字符串,将它们组合起来,然后将它们写回。 (有关输出没有变化的简化版本,请参见下面的片段) 问题是输入文件和输出文件中的特定字符(- 和 ...)是
我真的很感兴趣——你为什么要放 readln; 从键盘读取一些值到变量后的行?例如, repeat writeln('Make your choise'); read(CH); if (CH = '1
只要程序不允许同时写入存储在模块中的共享数据结构的相同元素,它是线程安全的吗?我知道这是一个菜鸟问题,但在任何地方都找不到明确解决的问题。情况如下: 在程序开始时,数据被初始化并存储在模块级可分配数组
我有一个数据结构,其操作可以归类为读取操作(例如查找)和写入操作(例如插入、删除)。这些操作应该同步,以便: 读操作不能在写操作执行时执行(除非在同一线程上),但是读操作可以与其他读操作并发执行。 在
我在Java套接字编程中有几个问题。 在读取客户端套接字中的输入流时,如果抛出IO异常;那么我们是否需要重新连接服务器套接字/再次初始化客户端套接字? 如果我们关闭输出流,它将关闭客户端套接字吗? 如
我正在尝试从客户端将结构写入带有套接字的服务器。 结构是: typedef struct R { int a; int b; double c; double d; double result[4];
我想知道是否可以通过 Javascript 从/向 Azure Active Directory 广告读取/写入数据。我读到 Azure 上有 REST 服务,但主要问题是生成与之通信的 token
我希望有人能提供完整的工作代码,允许在 Haskell 中执行以下操作: Read a very large sequence (more than 1 billion elements) of 32
我有一个任务是制作考试模拟器。我的意思是,在老师输入某些科目的分数后,学生输入他的名字、姓氏和出生,然后他决定学生是否通过科目。所以,我有一个问题,如何用新行写入文件文本并通过重写该文件来读取(逐行读
我需要编写巨大的文件(超过 100 万行)并将文件发送到另一台机器,我需要使用 Java BufferedReader 一次读取一行。 我使用的是 indetned Json 格式,但结果不太方便,
我在 Android 应用程序中有一个读写操作。在 onCreate 上,将读取文件并将其显示为编辑文本并且可以进行编辑。当按下保存按钮时,数据将被写入 onCreate 上读取的同一文件中。但我得到
我正在编写一个程序,该程序从一个文件读取输入,然后该程序将格式化数据并将其写入另一个文件。 输入文件: Christopher kardaras,10 N Brainard,Naperville,IL
我有一个 SCALA(+ JAVA) 代码,它以一定的速率读写。分析可以告诉我代码中每个方法的执行时间。如何衡量我的程序是否达到了最大效率?为了使我的代码优化,以便它以给定配置可能的最大速度读取。我知
嗨,我想知道如何访问 java/maven 中项目文件夹中的文件,我考虑过使用 src/main/resources,但有人告诉我,写入此目录中的文件是一个坏主意,并且应该只在项目的配置中使用,所以我
我想读\写一个具有以下结构的二进制文件: 该文件由“RECORDS”组成。每个“RECORD”具有以下结构:我将以第一条记录为例 (红色)起始字节:0x5A(始终为 1 字节,固定值 0x5A) (绿
我想制作一个C程序,它将用一些参数来调用;每个参数将代表一个文件名,我想在每个参数中写一些东西。 FILE * h0; h0 = fopen(argv[0],"w"); char buff
我有一个包含团队详细信息的文件。我需要代码来读取文件,并将获胜百分比写入第二个文件。我还需要使用指示的搜索功能来搜索团队的具体信息。该代码未写入百分比文件。当菜单显示时,第一个文件的内容被打印,但代码
我正在使用 read() 和 write() 函数来处理我的类,并且我正在尝试使用一个函数来写入它所读取的内容以及我作为参数给出的前面的内容。 例如,我想给出 10 作为我的程序的参数 int mai
我是一名优秀的程序员,十分优秀!