RAM 에 데이터를 저장한다.
고속 DB 조작을 필요로 할 때 사용.
실시간 데이터 처리가 필요할 경우.
실시간 데이터 처리의 필요성이 커져서
In-Memory DB는 기존의 디스크 기반 DB보다 read/write를 더 빨리 수행한다.
In-Memory DB에서 데이터를 저장하는 주 메모리는 휘발성 메모리이다.
시스템 장애 시 데이터가 손실될 수 있다.
데이터 저장 구조가 간단하므로 무작위 액세스가 효율적이라서 저장 구조가 간단하다.
보조 기억 장치가 필요 없어서 임베디드 장치에 효율적이다.
주기적으로 스냅샷을 생성 -> 디스크 드라이브(비휘발)에 저장
스냅샷은 전체 DB의 복사본으로 데이터는 보존하지만 내구는 보장되지 않음.
스냅샷을 저장한 후 시스템 오류가 발생할 수 있음.
스냅샷 이후의 모든 변경사항은 손실됨.
진행한 모든 수정 기록을 보관함.
로그에는 DB의 모든 삽입 및 수정 연산에 대한 세부 정보가 포함됨.
오류 발생 시 로그로 DB 복구에 사용될 수 있는 비휘발성 파일에 저장됨.
분당 수천 건의 연산의 수행으로 시스템의 성능과 저장 용량에 과부하를 제공함.
대부분의 In-Memory DB는 스냅샷이 만들어질 때까지 트랜잭션 로그를 보관하고 이후 삭제함.
데이터 내구성을 보장하는 또 다른 방법 == 랜덤 액세스 메모리 사용
NVRAM은 전원이 꺼진 후에도 데이터를 유지함.
In-Memory DB는 배터리로 작동하는 SRAM 또는 EEPROM을 사용함.
https://www.tibco.com/ko/reference-center/what-is-an-in-memory-database