Netezza가 ACID를 준수 함을 읽었습니다. 또한 Netezza는 ACID의 C가 위반되었음을 의미하는 외래 키를 시행하지 않습니다. 또한 Netezza (버전 7.1.0.0까지)는 Oracle과 같은 저장 프로 시저에서 커밋/롤백을 지원하지 않았습니다. ACID의 A가 위반되었음을 의미합니다. 정답은 무엇입니까? Netezza ACID는 준수합니까? 그렇다면 어떻게?Hadoop 용 Netezza 및 Hive는 ACID를 준수합니까?
하이브는 오라클과 같이 하나의 트랜잭션의 일부로 여러 명령문에 대해 커밋/롤백을 수행하지 않지만 각 트랜잭션이 전체적으로 수행되는지 또는 아톰을 보장 하는지를 보증합니다. 그것은 pk, fk를 강요하지 않지만 데이터베이스의 일관성을 보장합니다. 그래서 나는 그것이 ACID를 준수한다고 믿지만 그것은 그렇지 않다는 말을 듣고 있습니다. 생각?
정확히. Netezza의 FK는 정보 제공에 불과합니다. ACID의 'C'일관성이 데이터 유형, pk, fk 제약 조건을 부과하는 것이 아닌가? 원자력에 대해서는 단일 트랜잭션의 일부로 plsql 블록의 두 테이블에 대해 두 가지 업데이트를 수행하려고한다고 가정 해 봅시다. 그것은 동일한 트랜잭션의 일부이기 때문에 물론 양쪽 끝에서만 커밋하고 싶습니다. 첫 번째 업데이트 진술 후 시스템이 다운되면 어떻게됩니까? 'A'tomicity'를 어떻게 보장하겠습니까? – chemicalkt2
여기서 일관성은 강제 적용되는 경우에만 fk 및 pk 제약 조건과 관련이 있습니다. 적용되지 않으면 데이터베이스가 유효한 상태인지 여부와 관련이 없습니다. Netezza *가이를 시행하면 일관성과 관련이 있습니다. Atomicity와 관련하여 스토어드 프로 시저 내에서 트랜잭션 범위로 제한되어 있거나 저장 프로 시저 내에서 발생하는 트랜잭션은 Atomic 일뿐입니다 (또는 7.x) t, pre-7.x) 여러 명령문을 저장 프로 시저가있는 단일 트랜잭션의 일부로 만듭니다. – ScottMcG
나는 당신이 말하는 것을보고 있습니다. ACID에 대한 나의 이해는 [여기] (http://michaeljswart.com/2011/07/acid-properties-by-example-and-counterexample-part-zero/)와는 다른 것이었다. 이 모든 일은 Hadoop을위한 Hive가 ACID를 준수하는지 여부를 찾기 시작했을 때부터 시작되었습니다. 당신의 정의에 의하면, HQL조차 실제로 ACID를 따르지 않는다고 말할 수 있습니다. Hadooop에서 일하지 않았다면 신경 쓰지 마라. HQL에 대한 인풋을 얻기 위해 타이틀을 변경했습니다. – chemicalkt2