In-memory DB | Redis, Memcached

2022. 9. 28. 18:38·기타
반응형

In-memory DB?

데이터 저장을 위해 메인 메모리(RAM)에 주로 의존 하는 데이터베이스 관리 시스템. 디스크 기반 데이터베이스 관리 시스템과 대조된다 .

 

디스크 엑세스에 비해 메모리 엑세스 속도가 빠르기 때문에 응답시간이 중요한 어플리케이션에서 종종 in-memory database(IMDB)를 사용한다. 대용량 메모리를 처리할 수 있는 멀티 코어 프로세서가 등장하고 RAM의 가격이 저렴해지면서 IMDB는 특히 2000년대 중반 부터 데이터 분석 분야 에서 많은 주목을 받았다.

 

메인 메모리에 주로 사용되는 RAM은 일반적으로 전원이 차단되면 내용이 지워지는 휘발성 기억 장치이다. 이런 RAM의 변동성이 인메모리 데이터베이스의 단점이 될 수 있다.

🔎 Redis & Memcached

Redis와 Memcached는 많이 사용되는 오픈소스 IMDB의 종류이다. 

Memcached는 단순함을 위해서 설계되었고, Redis는 다양한 범위에 효율적으로 사용할 수 있도록 많은 기능을 제공한다는 차이점이 있다. 

공통점

  • 밀리초 미만의 응답시간 지원
  • 개발자의 사용 용이성: 구문적으로 사용하기 쉽고 어플리케이션에 통합하기 위해 최소한의 코드만 필요로 한다.
  • 데이터 파티셔닝: 수요가 증가하더라도 scale-out을 통해 더 많은 데이터를 잘 처리할 수 있다. 
  • 광범위한 프로그래밍 언어 지원: Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, Go 등을 지원한다. 

차이점

✔️ Redis

  • 고급 데이터 구조: 문자열 외에도 목록, 집합, 정렬된 집합, 해시, 비트 배열 및 하이퍼로그를 지원한다.
  • 스냅샷: 특정 시점의 스냅샷으로 데이터를 디스크에 보관해서 기록하고 데이터 복구에 사용할 수 있다.
  • 복제: 복제본을 여러개 생성해서 데이터베이스 읽기를 확장할 수 있다.
  • 트랜잭션 지원
  • 채팅방, 실시간 댓글창, 소셜미디어 피드등에 사용할 수 있는 패턴매치 sub/pub메세징을 지원한다.
  • 루아스크립팅: 어플리케이션을 단순화하고 성능을 높일 수 있다. 
  • 지리정보 : 대규모 지리데이터를 실시간으로 처리하기 위한 명령이 있다.

 

✔️ Memcached

  • 멀티스레드 구조: scale-up방식을 통해 컴퓨팅 용량을 확장해서 더 많은 작업을 처리할 수 있다.

 

 

참고

https://aws.amazon.com/ko/elasticache/redis-vs-memcached/

https://en.wikipedia.org/wiki/In-memory_database#cite_note-3

반응형
저작자표시 비영리 변경금지 (새창열림)

'기타' 카테고리의 다른 글

npm install 패키지명 "--save"를 꼭 해야할까  (0) 2022.09.30
ORM(Object–relational mapping)  (0) 2022.09.29
node.js 개발툴 | nodemon으로 서버 변경사항 바로 적용하기  (0) 2022.09.27
GitHub 꾸미기 | waka-box : 프로필에 코딩시간 표시하기  (0) 2022.09.25
VCS | CVS, SVN, Git  (0) 2022.09.22
'기타' 카테고리의 다른 글
  • npm install 패키지명 "--save"를 꼭 해야할까
  • ORM(Object–relational mapping)
  • node.js 개발툴 | nodemon으로 서버 변경사항 바로 적용하기
  • GitHub 꾸미기 | waka-box : 프로필에 코딩시간 표시하기
이라후
이라후
  • 이라후
    화이팅
    이라후
  • 전체
    오늘
    어제
    • 분류 전체보기 (133)
      • TIL (23)
      • 기타 (26)
      • Python (14)
      • Django (10)
      • JavaScript (8)
      • git & GitHub (8)
      • Web (10)
      • Go (3)
      • wecode (31)
  • 반응형
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이라후
In-memory DB | Redis, Memcached
상단으로

티스토리툴바