首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vertica数据库系统获取java jpa的行级锁

使用vertica数据库系统获取java jpa的行级锁
EN

Stack Overflow用户
提问于 2021-11-10 12:59:06
回答 1查看 106关注 0票数 1

当许多线程试图更新同一表中的不同记录时,我会收到一个死锁。在使用Java的Vertica DB系统时,是否有一种方法可以获得行级锁而不是表级锁?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-10 17:05:39

不是的。

Vertica是一个专用的大数据数据库,15年前设计时就考虑到OLAP工作负载--这不利于对OLTP工作负载的支持。

行级锁是OLTP数据库的一部分。

Vertica可以提交和回滚数百万行的事务,而无需任何压力。要做到这一点,它必须惩罚对单行交易的支持。

支持这种行为的设计的一部分是它是一个只插入的数据库。删除是删除标记,稍后在后台解析;行保持不变,标记为“已删除”。在后台运行去碎片期间,被删除的行将被物理删除。

更新是删除的,后面是插入。

在事务持续期间,每个Delete事务都在受影响的表上获取并保持一个排他的“X”锁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69913700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档