In-memory DB
2022.07.23 공부 내용
디스크를 사용하는 기존 DBMS와 달리 메모리에 데이터를 저장하는 DBMS. 디스크에 접근 시간이 오래 걸리기 때문에 디스크를 이용하는 것 보다 속도가 빠름.
RAM이 휘발성이기 때문에 데이터베이스의 durability가 보장되지 않음. 따라서 다음과 같은 방식으로 보강.
key-value 구조의 데이터를 다루는 NoSQL, in-memory DBMS. Cache server로 주로 사용.
Single Thread이므로 한 번에 하나의 명령만 처리
모든 데이터 조회에 DB를 사용한다면 부담이 됨. 따라서 중간에 캐시 서버를 두어 부하를 줄임. 다음과 같이 두 가지 방법 존재.
DB를 조회하기 전에 먼저 cache server를 조회하고, hit하면 가져오고, miss가 일어나면 그 때 DB에 접근하는 방법.
모든 정보를 cache server에 저장하고, 특정 시간마다 한 번씩 cache server의 내용을 한 번에 DB에 저장하는 방법.
쿼리를 한 번에 보내기 때문에 성능은 높지만, cache server에 오류가 날 시 데이터에 문제가 생길 수 있음.
value로 다양한 자료 구조 지원. 이 때 value는 다음 중 하나의 자료 구조임.
데이터베이스의 durability를 보존하기 위해 다음 두 가지 방식 사용.
디스크보다 메모리를 이용하는 DB 시스템이 훨씬 빠르나 휘발성이 있는 만큼 잘 다뤄야 하고, Cache 서버 등에서 사용.
대표적으로 Redis라는 key-value 값을 이용하는 NoSQL 데이터베이스 존재.