我已经读过Netezza符合ACID标准。虽然我还读到Netezza没有强制执行外键,这意味着违反了ACID的C.此外,Netezza(直到版本7.1.0.0)不支持Oracle中的存储过程中的提交/回滚。这意味着ACID的A被违反。什么是正确的答案? Netezza ACID是否合规?如果是这样的话?
Hive没有多个语句的提交/回滚作为一个事务的一部分,就像在Oracle中一样,但确保每个事务都是全部执行,而不是使它成为Atomic。它不强制执行pk,fk但确保数据库的一致性。所以,我认为它符合ACID,但据说它不是。想法?
答案 0 :(得分:0)
Netezza符合ACID标准。确实,主/外键定义仅供参考,并且不会强制执行,但这并不违反一致性。由于主键或外键仅在Netezza中是信息性的,因此使数据不符合主键定义并不是无效状态。
类似地,虽然早期版本的Netezza没有在存储过程中提供显式事务控制,但是当在BEGIN / COMMIT之外时,每个存储过程都隐式地是它自己的事务,并且在这种情况下,事务仍然在完成时完全提交或完全回滚中止,从而保持原子性。
如果在BEGIN / COMMIT块中调用存储过程,则存储过程将返回活动事务块,并且必须显式提交回滚。
但是,在商店过程中允许使用COMMIT的新行为确实会产生不同的行为。