acid相关内容

如果Oracle ACID不能完全遵循“隔离”属性,该如何兼容?

声明:Oracle不支持ACID属性中的隔离属性。 按照关于ACID的维基百科页面 “隔离确保并发执行事务使数据库保持与按顺序执行事务所获得的状态相同的状态。” 仅当事务可序列化时,这种情况才会发生。是的,Oracle有一个称为Serializable的事务级别,但它不是真正的可序列化性,仅是快照隔离。 阅读”> https://blog.dbi-services.com/or ..
发布时间:2020-06-04 18:52:47 其他开发

ArangoDB Transactions-如何防止引发异常

在查找可能当时不存在的特定文档时,如何防止ArangoDB在事务期间抛出异常? Nodejs将事务发送为一个阻止到ArangoDb进行处理。那很完美。我想将所有数学运算卸载到服务器上。 在事务处理期间,我想查看特定的Collection并检查是否存在文档,是否可以找到该文档,然后获取字段“ balance”,但是如果找不到Document或其字段,那么我不想抛出异常并且不想停止正在进行 ..
发布时间:2020-06-04 18:52:45 其他开发

python中任何与ACID具有相同安全性的写函数在数据库中

标题可能应该更好,但是无论如何。我想知道是否有任何写入文件的功能,例如数据库的ACID属性。原因是,如果电源中断,我想确保该文件写入“我正在做”不会弄乱和损坏该文件。 解决方案 取决于您对文件和平台执行的操作,有两种选择: 如果您要重复地从内存到磁盘将Blob序列化以保持状态(例如:dhcp租用文件),则 (如果您使用的是Posix系统)可以将数据写入临时文件并“重命名”临时文件到 ..
发布时间:2020-06-04 18:52:42 Python

在Node.js中以事务方式写入文件

我有一个Node.js应用程序,该应用程序将一些配置数据存储在文件中。如果更改某些设置,则配置文件将写入磁盘。 目前,我正在使用简单的 fs.writeFile 。 现在我的问题是:在写入文件时Node.js崩溃时会发生什么?有机会在磁盘上有损坏的文件吗?还是Node.js保证以原子方式写入文件,以便旧版本或新版本均有效? 如果无效,我该如何实现这样的保证? 解决方案 ..
发布时间:2020-06-04 18:52:40 其他开发

SQL Server AlwaysOn中的脏读

我有一对SQL Server 2014数据库设置为同步AlwaysOn可用性组。 两个服务器都设置为 Synchronous commit 可用性模式,会话超时为50秒。次要对象被设置为只读的目的可读次要对象。 如果我写了主要对象,然后立即从辅助读取(通过 ApplicationIntent = ReadOnly ),我始终读取脏数据(即写入之前的状态)。如果我在写作和阅读之间等待大约 ..
发布时间:2020-06-04 18:52:37 数据库

在sqlite3中,选择能否在插入事务中成功?

我开始一个事务,即将几条记录插入到一​​个表中。可以在提交事务之前从数据库中选择最新插入的记录吗? 解决方案 是。 在交易中,您的应用程序可以看到所有内容。 但是,没有其他交易看到更改的任何部分。 交易的重点是使语句序列看起来像是对数据库的一次原子更改。 如果您提交,则交易中的所有语句都将完成,其他所有人都可以看到影响。 如果回滚,则事务中的任何语句都不会完成 ..
发布时间:2020-06-04 18:52:35 数据库

分布式事务如何工作(例如MSDTC)?

我以一种模糊的方式理解了常规ACID交易的工作方式。您对数据库执行某些工作的方式是直到设置了某种提交标志才确认工作。提交部分基于一些基本假设(例如,单个磁盘块的写入是原子的)。万一发生灾难性错误,您只需在恢复阶段清除未提交的数据即可。 分布式事务如何工作?在某些MS文档中,我读到您可以通过某种方式跨数据库和文件系统执行事务(除其他外)。 该技术可能是(也许是)用于安装程序,您要在该安装 ..
发布时间:2020-06-04 18:52:33 其他开发

如果在存储过程运行时更改它会怎样?

我对存储过程进行了细微的一行更改(将字符串中的错字固定),希望将其尽快部署到生产SQL Server 2005服务器。 我担心的是,如果在正确的时间运行alter语句更新我的存储过程,同时又有东西同时调用该存储过程,会发生什么情况? 它是否与存储过程的上一个副本一起运行,还是会导致某些损坏或错误? 考虑SQL的ACID性质服务器,我希望它是安全的。 可以同时运行的机会特别是SP ..
发布时间:2020-06-04 18:52:29 数据库

MySQL / InnoDB是否实现真正的可序列化隔离?

MySQL文档尚不清楚是否InnoDB引擎实现真正的可序列化隔离 1 或 快照隔离 ,它也常常被混淆为“可序列化”。是哪一个? 如果MySQL InnoDB没有,那么有没有完全免费的,生产质量的RDBMS可以使用? 1 其中“真正的可序列化隔离”表示不仅不存在按照SQL标准的读取异常,而且不存在写入偏斜异常,进一步详细解释此处。 解决方案 有没有完全免费的,生产质量的RDB ..
发布时间:2020-06-04 18:52:27 其他开发

ACID和数据库事务如何工作?

ACID与数据库事务之间是什么关系? ACID是给数据库事务还是同一件事? 有人可以启发这个话题。 解决方案 ACID 是在修改数据库时要应用的一组属性。 原子性 一致性 隔离 耐久性 事务是一组相关的更改,用于实现某些ACID属性。事务是实现ACID属性的工具。 原子性意味着您可以保证所有事务都会发生,或者没有任何事情发生;您可以将一个或多个组件作为一 ..
发布时间:2020-06-04 18:52:25 其他开发

使用PHP PDO进行的事务如何与并发一起工作?

我正在制作一个Web应用程序,在该应用程序中,他们将是多个用户彼此交互并阅读/做出/修改共享数据的决定. 我已经读到交易是原子的,这就是我所需要的.但是,我不确定它如何与PHP PDO::beginTransaction() 一起使用. 我的意思是原子的,就像一个事务正在编辑某些数据一样,所有其他事务也在修改/读取该数据,需要等到第一个事务完成为止.就像我不想让两个脚本读取一个值,递增旧 ..
发布时间:2020-05-25 06:05:24 PHP

BigQuery中的行级原子MERGE REPLACE

对于我的用例,我正在使用可通过源处的唯一键标识的数据分解为n个(不确定的)数量的目标条目,这些条目已加载到BigQuery表中以进行分析. 构建此ETL以使用Mongo最近的Change Stream功能,我想删除BigQuery中的所有条目,然后自动加载新条目. 探索BigQuery DML,我看到了 MERGE 操作,但只能使用WHEN MATCHED THEN DELETE或WH ..
发布时间:2020-05-11 01:19:42 其他开发

Mongoose& Mongoose与Mongo DB 4.0的交易快速的NodeJs

我正在开发一个应用程序,其中我将MongoDB用作应用程序层中带有Nodejs + Express的数据库,我有两个集合,分别是 用户 交易 在这里,我必须以一定数量更新成千上万个用户的钱包,如果成功创建了一个包含每笔交易相关信息的新文档,这是我的代码: userModel.update({_id : ObjectId(userId)}, {$inc : {wallet : ..
发布时间:2020-05-10 23:17:24 其他开发

在v4之前,MongoDB不符合ACID的含义是什么?

我不是数据库专家,也没有正式的计算机科学背景,所以请多多包涵.我想知道如果您使用旧的 MongoDB,则可能发生的现实世界负面事件v4之前的版本,不符合 ACID 的版本.这适用于任何不符合ACID的数据库. 我了解到MongoDB可以执行原子操作,但是它们不能执行t“支持传统锁定和复杂事务",主要是出于性能方面的考虑.我也了解数据库事务的重要性,以及当您的数据库用于银行时的示例,并且您正在 ..
发布时间:2020-05-10 22:20:24 其他开发

内存映射文件和单个块的原子写入

如果我使用普通的IO API读写单个文件,则可以确保每个块的写入都是原子的.也就是说,如果我的写入仅修改单个块,则操作系统将保证写入整个块,或者完全不写入任何内容. 如何在内存映射文件上实现相同的效果? 内存映射文件只是字节数组,因此,如果我修改字节数组,则操作系统无法得知何时考虑写入“完成",因此它可能(即使不太可能)换出内存就在我的块编写操作的中间,实际上我写了半个块. 在写 ..
发布时间:2020-05-09 23:51:51 其他开发

如何在环回中实施ACID事务

我们一直在尝试在Loopback中实现ACID事务,但没有成功.本文档中仅有的示例使用'create'方法.我们尝试完全覆盖事件以及操作挂钩的多个变体.我们只能使创建示例起作用. 核心要求:我们需要能够在特定模型的创建和更新方法中启动事务,然后在事务中更新多个表(使用Loopback的ORM函数或直接使用SQL ),并具有根据业务规则进行提交或回滚的能力. 例如,我们需要端点能够接受带有抬头 ..
发布时间:2020-05-04 04:08:14 前端开发

环回:原子读取和更新

有没有办法在环回中实现类似的东西? LOCK READ INCREMENT UNLOCK 我想将计数器保留为数据库值,每个键都是一个计数器(或设置),并且它们不应同时访问我的多个请求. 这也应该适用于本地请求(没有remoteHooks) 谢谢 解决方案 如果您使用的是mongoDB连接器,则MyModel.updateAll( { id: 123' }, { ' ..
发布时间:2020-05-03 06:10:42 其他开发

MySQL InnoDB:“更新"和“共享模式锁定"之间的区别

两个锁定读取子句之间的确切区别是什么? SELECT ... FOR UPDATE 和 SELECT ... LOCK IN SHARE MODE 那为什么还要使用另一个? 解决方案 我一直试图理解两者之间的区别.我会记录下我发现的东西,希望对下一个人有用. LOCK IN SHARE MODE和FOR UPDATE都确保没有其他事务可以更新所选的行.两者之间的 ..
发布时间:2020-05-03 05:53:03 数据库

HBase:原子'检查行不存在并创建'操作

我建议这应该是常见的情况之一,但可能在搜索时使用错误的关键字。 我只需要用完全随机的密钥创建新表记录。假设我获得了具有良好随机性的密钥(几乎是随机的)。然而,我不能100%确定没有行存在。所以我需要做自动处理: 具有行键检查没有行存在。 如果存在行,则拒绝操作。 如果未退出,则创建行。 我在这个主题上找到的一条信息是关于 ..
发布时间:2018-05-31 19:35:40 Java开发