본문 바로가기

Database

(103)
[HANA] HANA 2.0 SPS04 - Take-over with Handshake and monitor Takeover with handshake for planned maintenance With this new option we ensure No data loss, all log is available on the secondary before the take-over is trggered No shutdown primary to prevent split-brain,the 'old' Primary will be suspended Takeover는 guaranteed 된 상태에서만 수행되고 그렇지 않은 경우 실패로 돌아감 그렇지 않은 경우에는 abort 됨 (sr_takeover 실패-에러) - HSR은 untouched 상태로 유지 Command Takeover with handshake = [Seco..
[HANA] HANA 2.0 SPS04 - Multi-target replication with A/A Combining Active/Active with Multi-Target Replication Active/Active with Multi-Target Replication SPS04부터 Multiple read-enabed secondaries 가 가능 이 경우에 유저는 각각의 read-enabled secondaries에 직접 connection을 붙일 수 있음 Hint-based statement routing을 사용하기 위해서는 오직 하나의 read-enabled secondaries만 가능함 global.ini [system_replication] -> hint_based_routing_site_name = 이전까지는 Tier 2 system에만 가능했으나 Tier 3도 가능 Take care..
[HANA] HANA 2.0 SPS04 - Invisible Take-over Overview Current limitations with possibilities in direction of temporary write operation SPS04에서 세션이 복구되면 대부분의 현재 session context가 복구 됨 Client에서 내부적인 변수를 변경시키는 쿼리는 복구되지 못함 DML command로 global temporary table을 수정했던 세션은 복구되지 못함 하지만 local temporary table을 생성하는 세션은 table 복구없이도 복구 가능함 Sessions which have updated a global temporary table with any DML commands won’t be recovered. However, sessions whi..
[HANA] Log Area Backup Log Management Log는 Memory 내 log buffer에 쓰여짐 log buffer가 full 되거나 commit entry가 쓰여되면 log buffer가 할당된 log volume에 쓰여짐 Log는 log segment (multiple log buffer가 합쳐짐)에 쓰여짐 Log volume의 log segment(1G)로 많은 로그파일을 찾을 수 있음 Log segments 파라미터 'Log segment status' 각 log segment의 size 정의 log segment가 full이 되면 새로운 segment가 생성되거나 reuse 하게 됨 (log_mode에 따라서) log_segment_size_mb Status Description Formatting The lo..
[HANA] HANA 2.0 SPS04 - Multi-Target Replication Secondary site의 자동 재등록 HSR Takeover 후 또는 Source site가 missing상태인경우에 "automatic re-register"설정이 가능 Takeover Takeover 후 이전 primary에 연결된 모든 secondary는 자동으로 새로운 primary site에 재연결됨 Unavailable source site 특정 시간동안 Source site가 유용하지 않은 경우 자동으로 secondary site는 다른 source site로 자동 재등록 됨 DC2의 secondary instance에서 단계적 재설정 불필요 Detail Scenario B take over as the new Primary -> C & D are registered to B New pa..
[HANA] HANA 2.0 SPS04 - Secondary Time Travel Keep replication alive while travelling (A/A) SPS04부터 Secondary가 이전 데이터를 읽고 time travel operation을 수행하는 도중에도 replication이 active로 유지 됨 Secondary에 Active/Active Read Access operation mode로 연결되어야 가능 Operation mode = logreplay_readaccess DR시스템에서는 이 옵션만 사용할 수 없지만 Multi-Targe Replication을 사용하면 HA 설정에서 특정 Secondary Time Travel box를 설정할 수 있음 Initiate this mode hdbnsutil -sr_timetravel --startMode=repli..
[HANA] HANA 2.0 SPS04 - TMPFS TMPFS란 일반적인 개요 많은 Unix 계열 OS의 temporary file storage 장치에 대한 공통 이름 Mount된 file system으로 표시, 영구 저장장치 대신 휘발성 메모리에 저장됨 RAM Disk와 비슷한 구성 TMPFS에 저장된 모든 내용은 hard drive에 파일이 생성되지 않음 -> Temporary 메모리 공간이 부족한 경우 Swap공간이 백업 저장소로 사용됨 Reboot하면 TMPFS의 모든 데이터는 lost됨 TMPFS가 사용하는 메모리는 포함된 파일을 수용하기 위해서 grow/shrink 되며 Swap sapce로 swap될 수 있음 많은 Unix 배포판은 기본적으로 file system의 /tmp 또는 shared memory에 대한 TMPFS를 활성화하고 사용함..
[HANA] MVCC and GC MVCC 데이터의 버전에 기반을 한 concurrent write operation을 block하지 않고 concurrent read operation을 제공 Update operation은 lock을 통한 기존 record의 변경이 아닌 Insert new version 방식을 이용 Read operation은 일종의 timestanp를 이용하여 읽을 DB의 상태를 결정하고 해당 버전의 데이터를 읽음 Transaction이 commit 되기 전까지 각 유저에게 snapshot을 제공 오래된 버전은 주기적으로 삭제되어야 함 (Garbage collection) GC관련 이슈 "MinReadTS"를 가지는 Transaction이 오랜시간 동안 수행되면 GC를 block 하여 version은 누적되게 됨 L..