본문 바로가기
오픈소스(OpenSource)/Redis

[Redis] Redis OSS vs Redis Enterprise 차이

by virusuk 2023. 11. 2.
반응형

Redis를 도입할 때, 가장 먼저 고민하게 되는 사항은 Redis Open Source를 사용할 것이냐? 아니면 Redis Enterprise를 사용할 것인가에 결정하는 것인데, 해당 부분은 비용과 직결되기 때문입니다.

그러면, 비즈니스로직과 프로젝트 규모 등에 따른 장단점을 비교하고 더 적합한 것을 고려해야 합니다.

 

Redis OSS vs Redis Enterprise의 상세 비교

  Redis Open Source Redis Enterprise
Deployment Options
완전 관리형 DBaaS로 사용 가능   O
Kubernetes에서 기본 서비스로 가능   O
on-premise, multicloud, and hybrid 지원   O
도커 이미지 제공 O  
High Availability
Redis 엔진을 업그레이드할 대 가동 중지 또는 성능 저하가 발생하지 않음   O
Active-passive geo-replication
(활성화 수동 지역 복제)
  O
Active-active geo-replication
(활성화-활성화 지역 복제)
  O
Single-digit seconds automatic failover   O
High availability quorum concept O (Shared-based) O (Node-based)
Efficient Operations at Scale
내장형 멀티 테넌시   O
멀티코어 지원   O
Shared nothing architecture
(공유되지 않는 아키텍처)
  O
스토리지 티어링(Storage tiering)   O
성능 저하 없는 선형 확장성
(Linear scalability with no performance degradation)
  O
Database GUI and Enterprise Level Support
RedisInsight GUI O O
Predefined guides for more efficient and faster development   O
Redis 벤더 지원(Expert support from the creators of Redis)   O
Redis Stack and Modules Support
Redis Stack   O
RedisSearch (Full-text 검색지원)   O
RedisJSON (쿼리가능한 JSON 문서 지원)   O
RedisGraph (Cyper 쿼리언어를 사용한 그래프 데이터 모델)   O
RedisTimeSeries (시계열 데이터처리 모듈. 즉, 수집 및 쿼리)   O
RedisBloom (확률적 데이터구조)   O
RedisAI   O
RedisGears   O
Supported Client Libraries
Node.js O O
자바 (Java) O O
파이썬 (Python) O O
Object Mapping Libraries
Spring Bloom   O
.NET / ASP.NET Core   O
Python   O
Node.js   O
Security
LDAP와 통합   O
Authorization (권한)   O
Authentication (인증) O O
Encryption (암호화) O O

 

용어 설명

*Active-passive geo-replication: 기본 및 보조 인스턴스가 있음을 의미하며, 수동 지역 복제를 사용하면 캐시 인스턴스는 다른 지역에 위치합니다. 기본(인스턴스)는 읽기 및 쓰기 요청을 처리하고 기본은 변경 사항을 보조에 전파합니다. (*장애조치는 자동이 아님)

 

*Active-active geo-replication: 데이터의 복제본을 생성해서 전 세계에 배포할 수 있는 기술이다. 모든 복제본이 쓰기 가능하다는 것이다. 모든 변경사항이 복제되고, 모든 복제본은 일관성을 갖는다.

예)샌프란시스코, 런던, 시드니에 복제본이 있는 데이터베이스가 있다고 가정합니다. 샌프란시스코에서 이루어진 모든 변경 사항이 자동으로 런던과 시드니로 전송됩니다. 만약 네트워크 오류가 발생하여 시드니 복제본에 완전히 연결할 수 없다고 했을 때, Redis Enterprise가 수행할 작업은 샌프란시스코와 런던에서 발생한 모든 변경 사항을 저장하는 것이다. 시드니가 다시 온라인 상태가 되면, 해당 변경 사항이 시드니 복제본으로 전송되어 모든 것이 다시 일관되게 유지됩니다. 또다른 장점은 고가용성(HA)을 제공한다는 것인데, 복제본이 다운되면 application은 즉시 다른 복제본으로 전환하여 계속 작동할 수 있습니다.

 

*Shared-nothing architecture: 각 노드가 독립적이고 자급자족하며, 시스템 전체에 단일 경합 지점이 없는 분산 컴퓨팅 아키텍처입니다. 다시 말해, 어느 노드도 메모리나 디스크 스토리지를 공유하지 않습니다.

 

*Storage tiering: 데이터 특성에 따라 고성능 디스크와 저성능 디스크를 구분하여 저장 및 관리하는 스토리지 기술

 

*Linear scalability with no performance degradation: 샤딩을 사용하여 성능 저하 없이 선형적으로 확장할 수 있습니다. 

 

*Redis stack: Redis OSS의 핵심 기능을 확장하고 디버깅 등을 위한 완벽한 개발자 환경을 제공합니다. Redis OSS의 모든 기능외에도 확률적 데이터 구조, 쿼리 가능한 JSON 문서, 해시 및 JSON 문서에 대한 쿼리, 전체 텍스트 검색을 포함한 시계열 데이터 지원(수집 및 쿼리)

 

*RedisAI: 사용자가 Redis 내에 머신러닝 및 딥 러닝 모델 실행을 지원하는 Redis 모듈입니다.

 

*RedisGears: Redis 데이터의 트랜잭션, 배치 및 이벤트 기반 처리를 지원하는 Redis 모듈입니다.

 

 

 

참조사이트:

- https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-how-to-geo-replication

- https://redis.io/docs/about/about-stack/

- https://wiki.yowu.dev/ko/Knowledge-base/NoSQL/redis-ai-machine-learning-and-deep-learning-with-redis

- https://oss.redis.com/redisgears/

 

 

반응형