본문 바로가기

transaction3

[hive] 트랜잭션(Transactional, ACID) 테이블 구성 Hive 트랜잭션 하이브는 0.13버전부터 트랜잭션을 지원한다. 파일 수정이 없는 HDFS의 특성상 모든 기능이 완벽하게 지원되지 않고, 기본(default) 트랜잭션 설정은 off로 되어 있다. BEGIN, COMMIT, ROLLBACK은 아직 지원하지 않음, 현재는 auto-commit 만 지원 ORC 파일 포맷, 버켓팅 설정이 된 매니지드 테이블에서만 지원 Non-ACID 세션에서는 ACID 테이블에 접근 불가 상세한 내용은 Hive Wiki를 참조하면 된다. 트랜잭션 구조 HDFS는 파일의 변경/수정을 지원하지 않는다. 따라서 HDFS에서 데이터의 수정, 삭제를 지원하기 위해서 데이터를 베이스(base) 파일에 기록하고, 트랜잭션이 발생할 때마다 델타(delta) 파일에 내용을 기록한다. 그리고 .. 2018. 5. 21.
[hive] 하이브에서 insert, delete, update 사용 Hive ACID 0.13버전부터 ACID를 지원하곡, 0.14버전부터 Update, Delete를 포함한 DML을 지원 ORC 일때만 지원 CREATE TABLE table1 ( ) SOTRED AS ORC TBLPROPERTIES ("transactional"="true") 제약사항 auto-commit 으로 처리 ORC 포맷만 지원 버켓팅 되어야 함 Managed 테이블만 가능 External 테이블은 Compactor 가 제어할 수 없기 때문 Non-ACID 세션에서는 ACID 테이블에 접근 불가 기본 설계 테이블이나 파티션은 base 파일의 집합으로 저장 새로운 레코드, update, delete 에 대해서는 delta 파일로 저장 읽는 시점에 delta 파일과 합쳐서 새로운 파일 생성 Comp.. 2018. 3. 30.
.Net에서 오라클 DB에 데이터 insert와 트랜잭션 처리 우선 오라클 DB를 연결하기 위한 라이브러리를 참조한다. 프로젝트 -> 참조추가 항목을 이용하여 위의 System.Data.OracleClient 서비스를 참조한다. 참조시 주의 할 점은 이 라이브러리는 .Net 프레임워크 4이하이서만 유효하다. 상위에서는 더이상 지원을 하지 않는다. 상위버전에서는 오라클에서 제공하는 Orace Driver 를 다운로드 받아야 한다. // 오라클 커넥션 string string oradb = "Data Source=(DESCRIPTION=" + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=아이피)(PORT=1521)))" + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=사용하는SID)));" + ".. 2013. 4. 24.