gpt4 book ai didi

oracle - Oracle AQ/Streams 对我的情况有用吗?

转载 作者:行者123 更新时间:2023-12-01 10:14:39 25 4
gpt4 key购买 nike

我正在编写一个工作流系统,该系统的每一步都完全由明确的人机交互驱动。也就是说,一项任务被分配给一个人,该人从几个有限的选项中进行选择{批准、拒绝、转发},然后将其发送给下一个人或终止。

只是好奇 Oracle Streams/AQ 是否可以提供与由常规 Web 应用程序代码管理的平面表相比的任何功能。每个 Action 之后的处理量相当有限,而且处理量也不是特别高,因此实际上没有必要通过将它们放入队列来限制它们。引入队列结构有哪些好处,或者它对我的情况来说是否过大?

最佳答案

排队的一大优势是它可以使原本非常困难的并发问题变得非常容易(显示一个且只有一个线程处理该记录)。如果不排队,您可以尝试但不能确保这种行为,并且您最终必须进行大量中间状态更新并检查失败的线程。

在 10g 及以下版本中,Oracle 使用终端用户不允许的 SKIP LOCKED 语法实现事务性出队操作。在 11g 中,该语法已被公开,允许人们在不需要 AQ 的情况下解决该问题(显示下一条记录)实现。

AQ 的第二个优势是队列清理是异步的。

AQ 的最大缺点是它的大小和维护——一个人最终会为一个持久队列/主题创建大约 7 个表/IOT,并且不能直接维护这些数据库对象,但你必须通过 DBMS_AQ 和 DBMS_AQADM 包进行维护。

关于oracle - Oracle AQ/Streams 对我的情况有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com