问题标签 [acid]

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.

0 投票
1 回答
607 浏览

hibernate - 使用相同数据库驻留在同一服务器上的跨 Web 服务的原子事务

我们的架构包括基于 JAX-WS 规范开发的 Web 服务,使用

地铁。这些服务作为单独的战争部署在单个 Glass Fish App 服务器上

文件。所有 Web 服务在内部使用单个数据库。数据访问层使用 Hibernate 实现,Spring 用于在服务内部实现事务。现在,当我们想做一个跨越多个 Web 服务的事务时,有哪些方法是可能的?

  1. 我们需要使用 JTA 还是可以避免使用 JTA?
  2. 我们是否需要使用 Metro 支持的 WS-AtomicTransaction 规范?
0 投票
5 回答
4996 浏览

database - 哪些应用不需要 ACID?

抱歉这个无知的问题,但什么样的应用程序不需要符合 ACID 的数据库服务器?我有一个 SQL Server 背景,ACID 一直“在那里”,现在研究其他 DBMS 让我思考。我能想到的大多数应用程序都需要原子性或隔离性。谢谢!

0 投票
11 回答
480189 浏览

mysql - 如何调试 MySQL 上的锁定等待超时?

在我的生产错误日志中,我偶尔会看到:

SQLSTATE[HY000]:一般错误:1205 超过锁定等待超时;尝试重启事务

我知道当时哪个查询正在尝试访问数据库,但是有没有办法找出哪个查询在那个精确时刻锁定了?

0 投票
1 回答
451 浏览

mysql - Mysql XA 隔离级别

有谁知道为什么 Mysql 需要可序列化的隔离级别来实现 XA 事务的 ACID 属性,或者如果您使用可重复读取和 XA 会丢失什么?

但是,对于分布式事务,您必须使用 SERIALIZABLE 隔离级别来实现 ACID 属性。对非分布式事务使用 REPEATABLE READ 就足够了,但对于分布式事务则不行。

http://dev.mysql.com/doc/refman/5.6/en/xa.html

0 投票
5 回答
7365 浏览

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

MySQL 文档中并不完全清楚InnoDB 引擎是实现真正的可序列化隔离1还是快照隔离,这通常也被混淆地称为“可序列化”。哪一个?

如果 MySQL InnoDB 没有,是否有任何完全免费的、生产质量的 RDBMS 可以做到?

1其中“真正的可序列化隔离”意味着不仅没有按照 SQL 标准的读取异常,而且还没有写入倾斜异常,这里有更详细的解释。

0 投票
2 回答
716 浏览

mysql - 为大容量网站使用 NoSQL 和关系数据存储

我们正在建设一个大型的电子商务网站,为超过 100,000 名用户提供服务,但我们预计用户数量在第一年会迅速增长。通常,该站点的功能与 ebay 非常相似,用户可以在其中创建、更新和删除列表。用户还可以搜索列表并购买感兴趣的项目。基本上,系统具有事务性和非事务性要求:

我们希望利用可扩展的、基于文档的 NoSQL 数据存储(例如 Couch 或 MongoDB)的强大功能,但同时我们需要一个关系存储来支持我们的 ACID 事务需求。因此,我们提出了一个使用这两种技术的混合解决方案。

由于该站点是“主要阅读”的,并且为了满足可扩展性的需求,我们建立了一个 MongoDB 数据存储。对于事务的需要,我们建立了一个 MySQL 集群。作为中间件组件,我们使用 JBoss App 服务器集群。

当“搜索”请求进来时,JBoss 将请求定向到 Mongo 来处理搜索,这应该会产生非常快速的结果,同时不会给 MySQL 带来负担。当一个列表被创建、更新、删除或购买时,JBoss 为 MySQL 的事务提供服务。为了使 MongoDB 和 MySQL 保持同步,JBoss 处理的所有针对 MySQL 的事务请求都将包括业务逻辑中的最后一步,即通过列表 id 更新 MongoDB 中的相应文档;我们计划使用 MongoDB Java API 来促进这种更新文档的集成。

因此,从本质上讲,由于站点主要是读取,因此该架构允许我们横向扩展 MongoDB 以容纳更多用户。使用 MySQL 允许我们利用关系数据库的 ACID 属性,同时通过 JBoss 中间件保持我们的 MongoDB 存储更新。

这种架构有什么问题吗?没有任何平台可以同时提供一致性、可用性和分区容错性——NoSQL 系统通常会放弃一致性——但至少通过这种混合方法,我们可以以增加系统复杂性为代价实现这三者,而且我们没关系,因为我们的所有要求都得到了满足。

0 投票
1 回答
182 浏览

sql - 与现实世界事件相对应的数据库事务可以实现完美的数据完整性?

我正在和一个在 ATM 崩溃时使用 ATM 的人交谈(显然它运行的是 Windows XP)并拿走了他的钱。

具有预写日志记录的事务数据库可以确保您的数据库保持一致状态,即使 ATM 崩溃(即您将始终知道ATM 和客户帐户中应该有多少钱)。然而,出金不仅是数据库事务,也不是即时操作,那么您应该在出金之前还是之后提交交易呢?在这两种情况下,如果 ATM 在正确的时间崩溃,银行或客户都有可能蒙受损失。

是否有任何完美(或至少相当完美)的解决方案来解决这个问题?

我能想到的一种方法是 ATM 是否有能力计算其中的金额。如果 ATM 先进行交易,然后分发现金,那么在从崩溃中恢复后,ATM 可以立即分发超出根据保证一致数据库应包含的任何额外资金。

但从硬件的角度来看,我不知道这是否真的可行。

你怎么看?有没有其他方法可以处理这个问题?

0 投票
5 回答
25626 浏览

sql-server - SQL Server 和数据库的 ACID 属性

我是数据库和 SQL Server 的新手。

因此,当我在互联网上搜索有关数据库的内容时,我发现如果数据库遵守或遵循ACID(原子性、一致性、隔离性、耐久性)属性,则该数据库说得很好。

我想知道Microsoft SQL Server(当前或以前的任何版本)在内部遵循 ACID 属性,或者如果我们在应用程序中使用 MS SQL Server,那么我们必须编写代码,使我们的应用程序遵循 ACID 属性。

简而言之:维护ACID 属性Database的任务(或责任)或Application Programmer 的任务。

谢谢..

0 投票
1 回答
795 浏览

ios - Core Data 可以在 iOS 上提供哪些(如果有)ACID 保证?

我正在开发一个应用程序,我需要以可靠的方式持久化数据,即即使面对应用程序崩溃和退出等,更新也需要全部或全部持久化。

但是,我找不到太多关于 Core Data 能够支持的弹性级别的信息,并且从环顾四周看来,Core Data 损坏是一种可能性。这是正确的还是 Core Data 能够提供支持可靠数据存储所需的高级和低级ACID属性?

请具体说明哪些 API 提供这些保证 - 例如,保存是否保证提交所有更新或不提交,即使在保存期间发生崩溃(可能在另一个线程上)?

0 投票
2 回答
1424 浏览

php - PHP 和 MySQL ACID 程序设计

不久前,我完全重新编码了我的应用程序,以便 MySQL 以 ACID 方式执行。

在所有功能的最顶层,我做这样的事情:

在“dosomething”函数中,我向用户抛出了异常,例如:

或者

这样我就可以控制程序的流程。如果出现问题,则回滚发生的所有事情,如果一切正常,则提交。一切都很好,但到目前为止我只遇到了一个缺陷。我添加了异常日志记录,以便我可以查看用户何时遇到问题。但问题是,如果记录错误的表是 InnoDB,那么它也包含在事务中,如果出现问题将回滚,因此不会存储错误。为了解决这个问题,我基本上只是创建了错误记录表 MyISAM,所以当回滚完成时,更改仍然存在。

现在我正在考虑其他一些我想避免在交易之外的内容,比如在我的应用程序中向管理员发送邮件以帮助提醒问题。

我有什么方法可以不在父事务中包含数据库插入吗?我在应用程序/数据库设计方面是否采取了错误的路线,还有其他方法可以解决这个问题吗?

谢谢,多米尼克