항해 99 최종 프로젝트 1차 주제 선정

song yuheon·2023년 10월 4일
0

Project

목록 보기
5/31
post-thumbnail

프로젝트 : 대규모 부동산 데이터 서비스


DB


Mysql과 postgresql중 Mysql을 선택한 이유
https://aws.amazon.com/ko/compare/the-difference-between-mysql-vs-postgresql/

인메모리 저장 솔루션


속성/솔루션RedisMemcached
데이터 타입키-값, 리스트, 셋, 해시, 정렬된 셋키-값 (주로 문자열)
확장성클러스터링을 통한 수평 확장 가능수평 확장 가능 (멀티 인스턴스)
지속성RDB, AOF를 통한 지속성 제공제공하지 않음

속성/솔루션HazelcastApache Ignite
데이터 타입맵, 큐, 멀티맵, 리스트, 셋 등키-값, SQL 쿼리 지원
확장성클러스터링을 통한 수평 확장 가능클러스터링을 통한 수평 확장 가능
지속성디스크 지속성 옵션 제공디스크 지속성, 외부 DB 연동 가능

속성/솔루션AerospikeTarantool
데이터 타입키-값, 리스트, 맵키-값, 튜플
확장성클러스터링을 통한 수평 확장 가능복제 및 샤딩을 통한 확장
지속성인메모리 및 SSD 스토리지 지원디스크 지속성 옵션 제공

속성/솔루션Etcd
데이터 타입키-값
확장성클러스터링을 통한 수평 확장 가능
지속성디스크 지속성 제공 (RAFT 프로토콜 사용)

대용량 데이터 읽기 측면에서 Redis를 선택한 이유


  1. 데이터 타입의 다양성
    Redis는 키-값 구조뿐만 아니라 리스트, 셋, 해시, 정렬된 셋 등 다양한 데이터 구조를 제공한다.
    이러한 다양한 데이터 구조는 읽기 작업을 최적화하고 다양한 읽기 패턴을 효율적으로 지원할 수 있게 한다.
    예를 들어 순서가 중요한 데이터를 정렬된 셋에서 관리하면 데이터의 일부만 효과적으로 읽을 수 있다.

  2. 클러스터링과 확장성
    Redis는 클러스터링을 지원하여 대량의 데이터를 여러 노드에 분산 저장할 수 있다.
    이를 통해 대용량 데이터를 빠르게 읽을 수 있으며 요청이 많은 상황에서도 고성능을 유지할 수 있다.

  3. 인메모리 데이터 처리
    Redis는 주로 인메모리에서 동작하기 때문에 데이터 접근 시 디스크 I/O의 지연 없이 빠르게 읽을 수 있다.
    이로 인해 특히 읽기 중심의 작업에서 높은 성능을 발휘한다.

  4. 지속성 옵션
    Redis는 RDB와 AOF를 통한 데이터 지속성을 제공한다.
    따라서 장애 상황에서도 데이터를 안전하게 보호하면서 빠른 읽기 성능을 제공할 수 있다.

--

Redis의 데이터 구조의 다양성, 인메모리 데이터 처리, 그리고 안정적인 클러스터링 기능은 대용량 데이터의 읽기 작업에서 매우 빠르고 효율적인 성능을 제공한다.
이러한 특징들로 인해 많은 시스템에서 읽기 중심의 캐싱 또는 데이터 처리에 Redis를 선호하고 사용하고 있고 현재 우리팀 역시 Redis를 선택하게 되었다.


profile
backend_Devloper

0개의 댓글