VoltDB 支持 Oracle、PostgreSQL 和 MySQL 中的 SELECT FOR UPDATE 还是有不同的机制来阻止记录更新?
问问题
99 次
1 回答
0
在 VoltDB 中,多 SQL 语句事务作为 java 存储过程运行。在该过程中,您可以独占访问所有可用记录,因此无需使用 SELECT FOR UPDATE 之类的东西来锁定它们。您可以在过程中简单地选择然后更新。可以对 VoltDB 进行许多类似的过程调用,这会将它们排队到相关记录所在的分区,然后以可序列化的序列尽可能快地执行它们,通常在几毫秒内,因为所有数据都是存储在主存储器中。这允许这种类型的事务以极高的吞吐率执行。
VoltDB 具有与 Oracle、PostgreSQL 和 MySQL 不同的架构,专注于高性能 OLTP 和类似的 ACID 事务。从设计上讲,它不支持在多个请求期间专门为一个客户端阻塞记录的任何机制,或者允许客户端在事务提交或回滚时进行外部控制,因为这可能会消除架构的优势,并且已经有很多通用的- 市场上可以做到这一点的数据库。
披露:我在 VoltDB 工作
于 2018-07-10T11:35:55.753 回答