问题标签 [data-consistency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - Oracle表之间的数据一致性
我有一个大表 A,它有 PK(C1,C2,C3)和许多其他列,为了使选择更快,使用 PK(C1,C2)创建了一个较小的表 B。所以我们可以通过连接两个表来在 A 中找到一行来进行选择。
但是现在的问题是,如果 B 中的数据损坏导致联合选择什么也不返回,但我们在 A 中仍然有一行,则可能会发生这种情况。
我在这个设计上做错了什么,如何确保这两个表中的数据是一致的?
非常感谢。
laravel - 为什么此代码有效并且如果子文档不存在,则雄辩地创建子文档?
假设我有一个名为 ParrentObj 的集合和一个名为 ParrentObj 的相应 Eloquent 类:
我很惊讶这行代码是如何正常工作的,因为所有的证据都证明了这一点:
“ParrenObj”是一个 Eloquent 对象,在 Children 字段上有一个 embedsMany 关系。
“Children”也是一个雄辩的对象,在 GrandChildren 字段上具有“embeds many”关系。(到 0 或 n 个“GrandChildren”雄辩的对象)
据我所知,查找的结果是一个雄辩的或集合,并结合结果将是一个查询生成器。当我试图得到这个结果时:
结果是 ParrentObj(雄辩的对象)。正如我所预料的,儿童领域有两个成员(不是一个)。如何雄辩地确定->push('Children.$.GrandChildren', $arr);
应该应用在哪些孩子身上?
php - 何时为 MYSQL 查询使用锁
我想知道是否有必要对数据一致性问题使用锁来实现与 MYSQL 服务器的非持久连接。在对多个用户同时访问的表执行更改时。为了说明更多,我将使用我正在使用的场景。
让我们假设我正在使用 PDO 和手动事务beginTransaction()
和commit()
,并且我正在做一个简单的INSERT INTO TABLE
查询。该表有一个主键,它是自动递增的。我有兴趣在插入后重用插入行的 ID 列,借助lastInsertId();
To create another Insert with the same transaction and use the ID as a value in another table
我必须使用表锁来防止数据不稳定吗?如果是这样,这样做的好习惯是什么?
cassandra - 节点重启后 Elassandra 集群状态不一致 - 一个节点上的数据较少
我已将 4 个节点 Cassandra(RF=3)中的现有数据迁移到 Elassandra,并且在将我的映射后,整个数据都被索引到 Elassandra。索引完成后,所有节点在/_cat/indices?v
API 中显示一致的结果。但是,一旦我重新启动任何节点,该节点上的数据就会大大减少,索引大小以及记录数都会大大减少。如果我重新启动集群的另一个节点,问题就会转移到该节点,并且前一个节点会自动恢复。有关更多详细信息和详细用例,请参阅我使用 Elassandra 创建的问题。
c++ - 在查找表中存储命名项目
考虑下面的类
现在我希望能够通过 id 找到一个人,并更新它的名字。为此,我可以使用
std::set<Person, PersonIdCompare>
,但如果没有const_cast
.那么将 Persons 存储在 a 中是否更好
std::map<RegistrationId, Person>
,这样可以更改记录,尽管这需要将 id 存储两次。或者也许我应该使用地图,并从
Person
班级中删除 id。Person
但是,如果我只能访问, 而不是,则我无法获得 idstd::pair<RegistrationNumber const, Person>
,因此这可能需要传递这些对。
什么选项最有效或最不容易出错。想一想有人为 person id 添加一个 setter 的场景,这会破坏选项 1 和 2,或者将 id 存储为选项 2 的两倍。
hibernate - 如果两个微服务共享同一个数据库表,如何保持休眠数据的一致性
**我是微服务的新手,我有一个服务 A,服务 B 服务 C 使用相同的数据库来访问服务 C 中的用户详细信息。我们可以使用相同的休眠实体来获取服务 A 和服务中的信息吗B、更新操作会出现不一致。据我所知,有三种解决方案**
- 在服务 A 和服务 B 中都有用户表的休眠实体,以便他们可以访问数据
- 使用 JDBC 并尝试从单个服务获取数据
- 调用服务 C 提供我们需要的信息,以提供他们需要的用户数据。
r - 网络荟萃分析。与节点拆分的一致性:错误
我正在做一个网络元分析。这是我的数据:
我创建了我的 mtc.network 对象
我想评估与节点拆分模型的一致性(https://doi.org/10.1002/jrsm.1167)。但是 R 显示了这个错误。任何想法?
testing - Kafka中的消息一致性测试场景
我正在构建一个 POC,其中包含一个部署在 Kubernetes 上的 Kafka 集群和三个从 kafka 读取并写入 jms 的 Spring Boot 应用程序,反之亦然。
我想知道如何确保数据完整性和一致性,例如:如果生产者节点失败,消费者将如何继续阅读消息而不会丢失 msg 一致性。是否有详细的场景来测试此功能。
amazon-web-services - AWS S3 最终一致性和写后读一致性
帮助我更好地理解这些我无法完全掌握的概念。
谈论 aws S3 一致性模型,我将尝试解释我掌握的内容。
请消除或确认我这些说法。
首先
- 谈论“写后读”仅与“新作品”/创建以前不存在的对象有关。
- 谈论“最终一致性”与“修改现有对象”(更新或删除)有关
这些第一个概念是否正确?然后,
最终一致性:在数据完全写入节点之前访问数据的“客户端”可以读取对象的旧版本,因为写入可能仍在进行中,即对象可能尚未被提交。这是在分布式系统中普遍容忍的行为,在这种情况下,这种类型的一致性优于其他选项,即在提交对象时等待某种锁被移除。
写后读一致性:对象立即可供客户端使用,客户端将读取对象的“真实”版本,而不是旧版本,如果我理解得很好,这仅适用于新对象。
如果是这样,为什么这些复制方法如此不同?并产生这种不同的一致性?
“最终一致性”的概念更容易理解,因为您必须考虑将数据传播到不同节点的“延迟”,并且客户端可能在此期间访问并且尚未获得新数据。
但是为什么“写后读”应该是立即的?传播对现有基准的修改或创建新基准,应该具有相同的延迟。我无法理解其中的区别。
你能否告诉我我的主张是否正确,并以不同的方式解释这个概念。
c# - 如果更改了 IEnumerable 数据源,它会更改结果
给定以下代码:
我得到这个输出:
我知道延迟执行,但这是预期的行为吗?这意味着我应该在不创建新集合的情况下重用 IEnumerable 或在 IEnumerable 上使用的任何数据,因为我可能会更改程序的结果。
这意味着 IEnumerable 也将持有对数据源的引用,即使它们也未被可见代码使用,并且在收集 IEnumerable 本身之前不会被垃圾收集。
我在最近的一个项目中经常使用 IEnumerable,我看到它们越多,我就越不喜欢它们。不要误会我的意思,Linq 做得很好,但我希望它有时返回相同类型的源。