개요
: 이게뭐약 프로젝트에 redis를 도입해서 DBMS 쿼리를 줄여보자는 얘기를 하다가 딥러닝 서버에도 적용하면 어떨까 했는데 딥러닝 담당자가 딥러닝 서버에는 redis 보다는 elastic search가 더 적합하다고 답변을 해서 "내가 elastic search를 잘못 알고 있었나" 하여 다시 찾아서 공부하게됨
레디스
: key-value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 DBMS
: 데이터베이스, 캐시, 메시지 브로커로 사용되는 인메모리 데이터베이스
※ 인메모리 데이터베이스
: 메모리에 데이터를 저장하는 데이터베이스
- 특징
: key-value 구조이기 때문에 쿼리를 사용하지 않아도 된다
: 메모리에서 데이터를 읽고 쓰기 때문에 속도가 빠르다
: String, Lists, Sets, Sorted Sets, Hashes 자료구조를 지원
: 한 번에 하나의 명령만 처리하는 싱글 스레드 방식
※ String: 가장 일반적인 key-value 구조의 데이터
※ Sets: String의 집합이며, 여러 개의 값을 하나의 value에 저장
※ Sorted Sets: 중복된 데이터를 저장하지 않는 Set 구조에 정렬을 적용한 데이터
※ Lists: Array 형식의 데이터 구조. 처음과 끝에 데이터를 넣고 빼는건 빠르지만 중간에 데이터를 삽입하거나 삭제하는 것은 어려움
엘라스틱 서치
: 정형 및 비정형 데이터를 역색인 구조로 저장하고, 검색, 집계 등의 기능을 수행하는 java 오픈소스 분산 검색 엔진
: full text search 기능이 제공되어 텍스트 데이터에 대해 빠르게 검색할 수 있음
: http 프로토콜로 접근이 가능한 REST API를 통해 데이터 조작을 지원
※ 역색인
: 색인의 목적은 문서의 위치에 대한 index를 만들어서 빠르게 그 문서에 접근하고자 하는 것인데, 역색인은 반대로 문서 내의 문자와 같은 내용물의 매핑 정보를 색인해놓는것
: 색인이 책의 목차라면, 역색인은 책 가장 뒤에 있는 단어별 색인 페이지와 같음
- 장점
: 전문 검색 (full text search)를 통해 내용 전체를 색인하여 특정 단어가 포함된 문서를 검색할 수 있음. 기능별, 언어별 플러그인 적용도 가능
: 비정형 로그 데이터를 수집하여 통계 분석에 활용 가능. Kibana를 연결하면 실시간으로 로그를 분석하고 시각화 할 수 있음
: Document Oriented 구조이며, 여러 계층 구조의 문서로 저장이 가능. 계층 구조로된 문서도 한 번의 쿼리로 쉽게 조회 할 수 있음
: 분산구성이 가능하며, 분산 환경에서 데이터를 shard라는 단위로 나뉨
- 단점
: 완전 실시간이 아님. 색인된 데이터는 1초 뒤에 검색이 가능한데, 내부적으로 commit과 flush 같은 복잡한 과정을 거치기 때문
: 전체적인 클러스터 성능 향상을 위해 리소스 소모가 큰 트랜잭션 롤백을 지원하지 않음
: 데이터의 업데이트를 제공하지 않고, 업데이트 명령이 오면 기존 문서를 삭제하고 새로운 문서를 생성
Redis와 Elastic Search의 차이점
: Redis는 데이터를 메모리에 저장하는 DBMS고, Elastic Search는 DB에 저장된 데이터를 검색하는 엔진이다
: Redis는 고속 데이터 액세스에 최적화된 반면, Elastic Search는 텍스트 기반 검색 쿼리에 최적화 되어있다
: Redis는 일반적으로 캐싱, 세션 관리 및 실시간 메시징에 사용되며, Elastic Search는 전체 텍스트 검색, 로깅 및 분석에 사용
- 데이터 저장 관점에서의 차이
: Redis는 메모리에 데이터를 저장, Elastic Search는 디스크에 데이터를 저장
- 결론
: 이 두 개는 사용 목적에 따라 다르다
Reference
'Database > Database' 카테고리의 다른 글
개발 시 데이터베이스 선택 가이드 (0) | 2024.01.22 |
---|---|
분류로 보는 DBMS (0) | 2023.11.07 |
각종 스토리지를 통해 알아보는 분산 시스템 개념 (0) | 2023.08.19 |
데이터 내구성을 보장하는 방법 (0) | 2023.08.19 |
테이블 설계를 위한 15가지 팁 (0) | 2023.08.13 |