큐브가 읽기/쓰기 모드에 있으면 Essbase는 서버에 대한 모든 업데이트 요청(예: 데이터 로드, 계산 또는 계산 스크립트 명령문)을 트랜잭션으로 간주합니다.
각 트랜잭션의 현재 상태는 활성, 커밋됨 또는 중단됨입니다. 데이터가 커밋되면 서버 메모리에서 가져와서 디스크상 큐브에 기록됩니다.
큐브 검사기 설정의 트랜잭션 탭에 있는 블록 커밋/행 커밋 옵션은 Essbase가 데이터 블록 또는 행을 커밋하는 빈도를 나타냅니다.
Essbase에서 트랜잭션은 블록 단위로 읽기/쓰기 잠금을 보유할 수 있습니다. Essbase는 업데이트 후 블록을 해제하지만 트랜잭션이 완료되거나 정해진 제한(“동기화 지점”)에 도달할 때까지 블록을 커밋하지 않습니다.
다음 동기화 지점 매개변수를 지정하여 Essbase가 명시적 커밋 작업을 수행하는 시기를 제어합니다.
블록 커밋을 0으로 설정하면 트랜잭션이 끝나고 동기화 지점이 발생합니다.
블록 커밋 또는 행 커밋 값이 0이 아닌 경우 첫번째 임계값에 도달할 때 동기화 지점이 발생합니다. 예를 들어, 블록 커밋이 10이지만 행 커밋이 0인 경우 데이터 로드 시 10개 블록이 업데이트된 후 동기화 지점이 발생합니다. 블록 커밋이 5이고 행 커밋이 5인 경우 데이터 로드 시 5개 행이 로드되거나 5개 블록이 업데이트된 후(둘 중 먼저 발생하는 쪽) 동기화 지점이 발생합니다.
Essbase 서버가 Oracle Exalytics In-Memory Machine에서 실행될 경우 커밋되지 않은 액세스 설정을 적용할 수 없습니다. 커밋은 명령이나 요청이 끝나고 발생합니다. 블록 커밋 또는 행 커밋 설정에 대한 변경사항은 무시됩니다.
Essbase 서버가 Windows 독립적 배치에서 실행될 경우 기본적으로 블록 커밋은 3000으로 설정됩니다.
사용자 정의 임계값이 작업 중 초과된 경우 Essbase는 동기화 지점을 생성하여 해당 지점까지 처리된 데이터를 커밋합니다. Essbase는 작업을 완료하는 데 필요한 만큼의 동기화 지점을 생성합니다.
Essbase는 병렬 계산 사용의 타당성을 분석하는 동안 블록 커밋 및 행 커밋 값을 분석합니다. 설정된 값이 너무 낮으면 Essbase는 자동으로 값을 늘립니다.
Essbase는 트랜잭션 의미를 시행하기 위해 중복 데이터를 유지합니다. 특히 블록 커밋과 행 커밋이 모두 0으로 설정된 경우 중복 데이터를 수용하기 위해 데이터베이스 크기의 2배만큼 디스크 공간을 허용합니다.