In Memory 데이터베이스

김병철·2024년 1월 24일
0

Database

목록 보기
1/1

In-Memory 데이터베이스

RAM 에 데이터를 저장한다.

고속 DB 조작을 필요로 할 때 사용.
실시간 데이터 처리가 필요할 경우.

In-Memory DB가 필요한 이유?

실시간 데이터 처리의 필요성이 커져서

In-Memory DB와 디스크 기반 DB와 비교

In-Memory DB는 기존의 디스크 기반 DB보다 read/write를 더 빨리 수행한다.
In-Memory DB에서 데이터를 저장하는 주 메모리는 휘발성 메모리이다.
시스템 장애 시 데이터가 손실될 수 있다.
데이터 저장 구조가 간단하므로 무작위 액세스가 효율적이라서 저장 구조가 간단하다.
보조 기억 장치가 필요 없어서 임베디드 장치에 효율적이다.

내구성 보장

  • ACID
    - Atomicity(원자성) : 모든 작업이 반영되거나 모두 롤백.
    - Consistency(일관성) : 데이터는 미리 정의된 규칙에서만 수정이 가능.
    - Isolation(고립성) : A 와 B 두 개의 트랜잭션이 실행되고 있을 때, A의 작업들이 B에게 보여지는 정도.
    - Durability(영구성) : 한번 커밋된 트랜잭션의 내용은 영원히 적용.

스냅샷

주기적으로 스냅샷을 생성 -> 디스크 드라이브(비휘발)에 저장
스냅샷은 전체 DB의 복사본으로 데이터는 보존하지만 내구는 보장되지 않음.
스냅샷을 저장한 후 시스템 오류가 발생할 수 있음.
스냅샷 이후의 모든 변경사항은 손실됨.

트랜잭션 로깅

진행한 모든 수정 기록을 보관함.
로그에는 DB의 모든 삽입 및 수정 연산에 대한 세부 정보가 포함됨.
오류 발생 시 로그로 DB 복구에 사용될 수 있는 비휘발성 파일에 저장됨.
분당 수천 건의 연산의 수행으로 시스템의 성능과 저장 용량에 과부하를 제공함.
대부분의 In-Memory DB는 스냅샷이 만들어질 때까지 트랜잭션 로그를 보관하고 이후 삭제함.

비휘발성 랜덤 액세스 메모리(NVRAM)

데이터 내구성을 보장하는 또 다른 방법 == 랜덤 액세스 메모리 사용
NVRAM은 전원이 꺼진 후에도 데이터를 유지함.
In-Memory DB는 배터리로 작동하는 SRAM 또는 EEPROM을 사용함.

References

https://www.tibco.com/ko/reference-center/what-is-an-in-memory-database

profile
keep going on~

0개의 댓글