레디스 엔터프라이즈


레디스 엔터프라이즈 서버의 주요 기능

I.   Redis + SQL : 데이터 활용 획기적 향상
II.  Active-Active 이중화 : 진정한 고가용성을 실현
III. 메모리 한계 극복
IV. 기타 추가 기능: 멤버 단위 만료시간 설정, 새 명령, 기존 명령 기능 추가

기업용 레디스 엔터프라이즈 서버와 전문가의 기술지원을 받아 보십시오.

Community와 Enterprise version 비교

기능 FeatureCommunity Enterprise
SQL 지원
  • 지원하지 않음
고가용성
High Availability
  • Active-Standby 구성
  • Sentinel 3대 필요
메모리 한계
데이터가 메모리 한계를 초과하면
  • 서버가 멈추거나 기존 데이터가 유실됨
  • 기존 데이터를 디스크에 쓰고 메모리를 확보하여 데이터를 계속 처리함
만료시간 설정
  • 키 단위로 설정 가능
  • 멤버(member) 단위까지 설정 가능


I. SQL 지원

  • Key-value DB 최초로 SQL을 지원합니다.
  • 데이터 활용이 획기적으로 향상됩니다.
  • 기본 예: SELECT * FROM string.mykey* -> mykey로 시작하는 String의 키와 값(value)를 조회합니다.
  • 다양한 Where 조건을 사용할 수 있습니다. LIKE, BETWEEN, IN, =, > 등
  • GROUP BY, ORDER BY, LIMIT 등을 사용할 수 있습니다.
  • SUM(), AVG(), MIN(), MAX(), LEFT(), TRIM() 등 많은 함수를 사용할 수 있습니다.
  • Subquery를 사용할 수 있습니다.
  • UNION, INTERSECT, EXCEPT를 사용해서 복합 쿼리를 구성할 수 있습니다.
  • 자세한 설명은 여기를 보세요.

II. Active-Active 이중화

  • 커뮤니티 버전은 Active-Standby로 구성할 수 있으며 (Active-Active로 구성할 수 없음) 장애조치(Failover)를 위해서 센티널 3대가 추가로 필요합니다.
  • 엔터프라이즈 버전은 Active-Active로 이중화 구성을 할 수 있으며 센티널이 필요없습니다.
    2대의 서버는 데이터를 실시간으로 동기화합니다.
    높은 수준의 고가용성(High Availability)와 부하 분산(Load Balancing)을 이룩했습니다.
Active-Active 이중화에 대한 동영상 설명을 시청하세요.

III. 메모리 한계 극복

커뮤니터 버전에서는 메모리 한계(maxmemory)에 도달하면 서버가 멈추거나 기존 데이터(key/value)를 삭제하고 새로운 데이터를 받습니다. 따라서 데이터가 유실됩니다.
엔터프라이즈 버전에서는 메모리가 부족하면 기존 데이터(value)를 파일에 저장하고 메모리에서는 지운 다음 새로운 데이터를 받습니다. 필요시 데이터는 파일에서 읽어와서 조회/처리됩니다. 이러한 과정은 애플리케이션 사용자는 인지할 수 없으며 레디스 서버내에서 자연스럽게 처리됩니다.
  • 애플리케이션을 변경할 필요 없습니다. 기존 애플리케이션 그대로 사용하시면 됩니다.
  • 메모리와 파일간의 데이터 이동은 레디스 서버 내부에서 처리됩니다. 이를 위해 별도의 명령이나 설정이 필요없습니다.
  • 키는 항상 메모리에 있습니다. 값(value)만 파일에 저장합니다. 키만 조회시 성능 저하가 전혀없습니다.
  • 값(value) 조회시에도 효율적인 인덱스 구조로 빠르게 처리됩니다.

IV. 기타 기능

멤버(member) 단위로 만료시간(expire) 설정 기능

  • 커뮤니티 버전은 키 단위로만 만료시간을 설정할 수 있습니다.   엔터프라이즈 버전은 멤버(value) 단위로 만료시간을 설정할 수 있습니다.
  • 예를 들어, 장바구니에 담긴 상품을 1주일이 지나면 자동으로 삭제되게 한다면 Hash 키를 장바구니로 하고 각 필드에 상품을 넣을 수 있습니다. 이 경우 각 필드별로 만료시간을 설정해서 1주일이 지나면 자동으로 삭제되게 할 수 있습니다.
  • 물론, 만료시간이 얼마 남았는지 확인할 수 있고, 설정된 만료시간을 변경하거나 없앨 수도 있습니다.
  • 만료 시간 설정: EXPIRE
  • 남은 시간 확인: TTL
  • 만료 시간 삭제: PERSIST

서브쿼리(Subquery) 기능

  • 편리하고 효율적인 방법으로 데이터 이동이 가능합니다. 같은 데이터 타입은 물론이고 다른 데이터 타입 간에도 데이터를 이동할 수 있습니다. 따라서 수고스럽게 프로그램하지 않고도 데이터를 효과적으로 사용할 수 있습니다.
  • 다음 예와 같이 서브쿼리를 사용하면   예) SADD myset (LRANGE mylist 0 -1)
    리스트(List)에 있는 데이터를 셋(Set)에 넣어서 Set의 다양한 명령으로 데이터를 가공할 수 있습니다.
  • 다양한 서브쿼리를 만나 보세요.
    SET, DEL, UNLINK, APPEND, LPUSH, RPUSH, SADD, ZADD, HSET, PERSIST

조인(Join) 기능

  • 기존 명령에 조인 기능을 추가하였습니다.
  • Sorted Set의 키-멤버가 다른 Sorted Set의 키-멤버와 조인되어 한 번의 쿼리로 여러 개의 값을 조회할 수 있습니다.
  • Sorted Set의 키-멤버가 Hash 키와도 조인이 가능해서 Hash의 여러 필들값을 쿼리 한 번에 조회할 수 있습니다.
  • 조인 기능: ZRANGE

추가된 명령

  • Common
    • Glob 패턴 등 다양한 방법으로 Key를 조회: LS
    • Key 삭제, 서브쿼리 사용 가능: RM
  • List
    • Glob 패턴으로 값 조회: LLS
    • Glob 패턴으로 값 삭제: LRM
    • 인덱스로 범위를 지정해서 역순으로 리스트 조회: LREVRANGE
    • 값으로 인덱스를 조회: LPOS
  • Set
    • Glob 패턴으로 값 조회: SLS
    • Glob 패턴으로 값 삭제: SRM
  • ZSet
    • Glob 패턴으로 값 조회: ZLS
    • Glob 패턴으로 값 삭제: ZRM
    • 집합에 멤버가 존재하는지 확인: ZISMEMBER
  • Hash
    • Glob 패턴으로 필드/값 조회: HLS
    • Glob 패턴으로 필드/값 삭제: HRM

기능 확장


엔터프라이즈 게이트 서버

일반 레디스 클라이언트로 레디스 클러스터 사용 가능

  • 레디스 클러스터를 사용해서 개발하려면 해당 프로그래밍 언어용 레디스 클러스터 클라이언트가 있어야 합니다.   해당 클라이언트가 제공되는 경우도 있지만 없을 수도 있고, 있어도 기능이 부족한 경우도 있습니다.
  • 엔터프라이즈 게이터 서버를 이용하시면 클러스터용 클라이언트 없이도 레디스 클러스터를 사용해 개발하실 수 있습니다.

레디스 클러스터에서 멀티 키 명령 사용 가능

  • 클러스터에서는 멀티 키 명령을 사용할 수 없습니다. 예를 들면, MGET, SUNION 같은 명령입니다.
  • 게이트 서버를 사용하면 클러스터에서도 멀티 키 명령이 사용할 수 있습니다.

레디스 클러스터에서 서브쿼리 가능

  • 클러스터에서 서브쿼리를 사용할 수 있습니다.
  • 이제 엔터프라이즈 게이트 서버로 확장된 클러스터를 사용하세요.

redis-cli 한글 사용

redis-cli에서 한글을 사용할 수 있습니다.

Example

명령>set key "한글"
결과>OK
명령>get key
결과>"한글"

서브스크립션 라이선스 Subscription License

사용료

  • 레디스 엔터프라이즈(Enterprise)는 서버 당 연 300만원입니다.
    Active-Active로 2대 서버를 사용할 경우 300만원 * 2대 = 600만원(年)입니다.
    아래 내역을 포함합니다.
    • 레디스 엔터프라이즈 서버 설치
    • 정기 점검: 연 6회
    • 기술 지원
    • 필요 시 업그레이드

신청 및 문의

  • 이메일 : redisgate@gmail.com
  • 대표 전화 : 02.503.2235
  • 대표 담당자 : 010.8766.5275

Email 답글이 올라오면 이메일로 알려드리겠습니다.