데이터 베이스는 크게 sql db와 과 NoSQL db 로 나뉘어 지게 된다. 관계형 DB는 대표적으로 MySQL과 같이 테이블의 행과 열을 사용해 데이터를 정해진 형식에 따라 저장하게 된다. 구조화된 쿼리 언어(SQL)을 사용하며 미리 정의된 스키마에 의해 데이터가 저장되게 된다. 이에 반면 NoSQL db 같은 경우는 구조화 되지 않은 새로운 데이터를 위한 동적스키마가 존재한다.
또한 큰 차별점으로서는 SQL DB는 테이블 기반인 반면, NOSQL DB는 문서, 키-값(객체), 그래프 또는 와이드 컬럼 식으로 저장되게 된다. 즉 기존의 SQL DB보다 유연하게 설계된다는 점이 있다.

redis, mongoDB는 대표적인 NoSQL DB의 종류이다.
redis는 데이터를 키-값(객체) 쌍으로 저장하는 오픈소스 인 메모리 데이터베이스이다. 고성능을 위해 RAM에 데이터를 저장하지만 추가 기능으로 온디스크 영구 스토리지를 제공한다. 이에 반해 mongoDB는 데이터를 직렬화된 JSON 형식으로 저장하는 소스 사용가능 문서 DB이다.
즉 쉽게 말하자면 Mongo DB는 JSON 형태로 데이터를 저장 및 관리하며, 스키마가 없는 데이터를 저장한다. 이에 반해 Redis는 키, 값으로 데이터를 저장하고 메모리 db로 속도가 빠르다는 점이다.
다른 특징으로는
인메모리 db라서 메모리에 데이터가 상주하므로 데이터 액세스의 대기 시간을 낮추고 처리량을 높임
비동기식 복제 지원으로 데이터가 여러 복제서버에 복제 가능
cahce 기능
한 번 받아왔던 결과를 미리 저장해뒀다가 요청하면 빠르게 서비스 해줌
구조 1
웹서버는 데이터가 존재하는지 cache먼저 확인, 있으면 캐시에서 가져옴, 없으면 db에서 읽어온후 cache에 저장구조 2
모든 데이터를 받아온 후 캐시에 저장해두었다가 필요할 때 빠르게 전달
list, set, sorted-set 등 다양한 타입 데이터 구조 지원