SlideShare a Scribd company logo
1 of 39
Download to read offline
이규재 수석연구원 / NAVER LABS 
nBase-ARC: Redis Cluster
1. nBase-ARC 소개 2. 오픈 소스 제품과 비교 3. 발전 방향 
CONTENTS
1. nBase-ARC 소개
Scale-out 클러스터 
비용 효율성 
서비스 연속성 
확장/축소 
일반 컴퓨터를 이용해 시스템 구축 
작게 시작해서 크게 성공할 수 있어야 … 
운영 작업이 서비스에 영향을 주어선 안됨 
인터넷 스케일 서비스에 필요한 분산 저장 시스템
nBase-ARC는 
Autonomous 
Redis 
Cluster 
nBase- Labs에서 만드는 Scale-out 클러스터 시리즈 
운영자의 개입 없이 동작하는 (장애 탐지, 장애 처리) 
고속의 In-Memory 연산이 가능한 
Scale-out 클러스터
탄생 배경 (1/2) 
In-memory 기반의 고성능, 고가용 scale-out 클러스터 DB가 필요해짐 
•세션 저장소로 디스크 기반의 클러스터를 사용 
•많은 쓰기 부하를 일정한 응답 속도로 처리해야 하는 요구사항 
•비용 효율적으로 해결 해야 됨 
•Caching이 도움이 되질 않음
탄생 배경 (2/2) 
•Simple 
•Fast 
•Persistent 
•Available 
정부 과제: 페타바이트급 대용량 이기종 클러스터드 DBMS SW 개발 
복제 
Configuration Master
Required Features 
장애 처리 
•장애를 감지해 자동으로 fail-over 해야 한다 
Scale-out 
•장비를 투입해 rebalancing 할 수 있다 
API 
•기존 Redis 클라이언트를 그대로 사용 
분산 방식 
•여러 장비에 데이터를 나누어 처리해야 한다 
가용성 
•데이터 durability, 서비스 availability 
•장애, 운영 작업 등에 의해 서비스가 영향을 받지 않아야 한다 
서비스 연속성
분산 방식 
0 
1 
2 
8191 
PG 0 
PG 1 
PG N 
PGS 1 
PGS 2 
PGS 3 
PGS 4 
PGS 5 
CRC16(key) % 8192 
복제 그룹 
Partition Group 
Partition Number 
Key에 대한 hash 값을 기반으로 하는 분할 방식 채택
가용성 – Redis 복제 
•Redis 복제는 비 동기 복제로 master 장애 발생하면 데이터 유실 
•Slave에 읽기를 하면 이전 데이터를 읽을 수 있음 
•복제 동기화는 sync 방식과 (RDB + replication buffer), psync (일시적 단절 대비 버퍼 유지) 방식을 지원  설정이 어려움 
Client 
Master 
Slave 
request 
response 
request 
복제를 통해 서비스 및 데이터 가용성 확보. 하지만 Redis 복제는 문제
가용성 – 복제 
•Consensus 기반의 복제 방식 구현 (State Machine Replicator) 
Master가 명령어, commit 메시지로 구성된 복제 로그 생성 
•명령어 복제와 실행을 분리. 명령어의 가용성이 확보된 경우 실행 
•어떤 Redis에 읽기를 해도 consistent한 결과 (read offloading) 
Client 
Redis 
Redis 
request 
response 
Master SMR 
Slave SMR 
replicate 
commit 
commit 
LOG (MMAP) 
LOG (MMAP)
가용성 – 복제 (계속) 
•명령어의 가용성은 실행되기 전에 저장되는 로그의 개수로 보장됨 
예를 들어 2인 경우, 두 장비의 로그에 저장된 이후에 실행 
속도를 위해 로그 파일에 대한 연산은 OS buffer 까지 쓰고 리턴 
로그 파일은 1초 (또는 10M) 주기로 디스크로 sync 됨
가용성 – 복제 동기화 
•로그와 결합된 checkpoint (RDB)를 이용해 로컬 데이터를 복구함 
Checkpoint (RDB + log seq.) 
Log 
+ 
• 다른 복제 node로 부터 복구된 부분 이후의 log를 받아서 복제 동기화 가능 
Master 
Slave 
Redis 
Checkpoint 복구 
LOGSEQ 
LOGSEQ’
장애 처리 – Failure detection 
Failure Detection 
Fail over 
+ 
•Heartbeat module(HB)이 응용 레벨 (L7) ping 메시지 전송 
•다수의 HB 운영 
•대상 상태에 대한 결정은 Zookeeper 사용 
대상의 상태  z-node 
대상의 상태에 대한 의견  z-node 하위의 ephemeral z-node
장애 처리 – Fail over 
Failure Detection 
Fail over 
+ 
•Cluster controller에 의해 수행 
복수의 instance를 두며, 장애 시 leader election을 통해 새로운 cluster controller가 동작 
•감시 대상 z-node를 watch 
•상태 변경 발생시 (child event) 클러스터의 상태를 결정하고 fail- over 작업 진행
Scale-out 
•Migration에 의한 데이터 처리 부분 이동 
Dump 
Load 
Log catchup 
2PC
API 
•기존 Redis 클라이언트를 그대로 사용할 수 있어야 한다 
Gateway
서비스 연속성 
•장비 추가, 제거, scale-out, 소프트웨어 업그레이드 
복제 추가, 제거, migration으로 해결됨 
•Gateway 업그레이드, 추가 삭제? 
Gateway에 대한 L4 스위치 구성? 
Gateway lookup 서비스
nBase-ARC 구조 
HB 
HB 
HB 
Cluster Controller 
Leader 
Follower 
Follower 
Configuration Master 
Cluster 
Gateway 
Gateway 
복제 
Zookeeper Ensemble 
Redis 
Redis 
Zone
2. 오픈 소스 제품과 비교
Redis Cluster 
Redis 개발자가 만들고 있는 제품과의 차이점에 대해 설명 
ARC: nBase-ARC 
RC: Redis Cluster
정리 
RC 
ARC 
키 분산 
동일 
복제 
Asynchronous 
Consensus 
Node 복구 
RDB or AOF 
RDB + LOG 
클라이언트 연결 
REDIS 
Gateway 
Migration 
Key 단위 
Key 영역 단위 
Fault detection 
Node간의 gossip 
복수의 HB 
CAP 측면 
CP 
•RC: 고성능+, 장애/단절 발생 시 데이터 유실 
•ARC: 고성능, DB
클라이언트 연결 
R 
R 
R 
R 
R 
Gateway 
Gateway 
Gateway 
R 
R 
R 
R 
R 
Client 
Client 
Client 
Client 
RC 
ARC 
•Redis에 직접 연결 
•Smart client 
키 분산 정보 
Master/slave 여부 
•형상 변경 복잡 
•Gateway로 연결 
Hop이 하나 추가 
•Dummy client 
•형상 변경 쉬움
Partition 발생시 동작 
RC 
ARC 
•Majority 영역의 slave는 master로 promote 됨 
•NODE_TIMEOUT 기반으로 동작하기 때문에 특정 시간에 두 개의 master 존재 가능 
•복제 상의 commit이 일어나기 위한 quorum 존재. Master가 단절 된 경우 동작 중지 
•Configuration master에 의해 fail-over 됨 
M 
S 
M 
S 
Client 
Client
Migration 
RC 
ARC 
MIGRATING SLOT 
IMPORTING SLOT 
SOURCE SLOT 
TARGET SLOT 
Dump Load Log Catch-up 2PC 
WHILE true IF GETKEYSINSLOT MIGRATE key ELSE break 
•Key 단위로 수행 
•느림 
•Slot 영역 단위로 수행 
•빠름
CAP Perspective 
A 
•Partition이 발생하지 않도록 소프트웨어를 만들 수 없음 
•CP 
분할 발생시 consistency 유지 
•AP 
분할 발생시 availability 유지 
이후 merge 해야 함 
C 
P 
RC 
ARC 
•Not AP Major partition만 살아 남음 
•Not CP Write 에 대한 consensus가 없음 
•CP
성능 
•ARC는 latency가 더 크다 
Gateway에 의한 hop 
복제 layer 
•ARC의 경우 CPU를 더 사용한다 
Gateway 
Replicator 
•성능상의 병목은 네트워크에서 생김 
네트워크로 전송되는 데이터의 양 
네트워크로 전송되는 packet의 개수 (interrupt 처리 능력) 
RPS (Receive Packet Steering)/RFS (Receive Flow Steering)등의 네트워크 최적화 설정이 필요함
성능 - ARC Gateway Affinity 
PG 1 Master PGS 
PG 2 Slave PGS 
PG 3 Slave PGS 
PG 1 Slave PGS 
PG 2 Master PGS 
PG 3 Master PGS 
Gateway 
Gateway 
PG 4 Master PGS 
PG 5 Slave PGS 
PG 6 Slave PGS 
PG 4 Slave PGS 
PG 5 Master PGS 
PG 6 Master PGS 
Gateway 
Gateway 
Client (affinity) 
Client (no affinity) 
클러스터의 key mapping 정보를 힌트로 해서 최적의 gateway를 선택하도록 함 (개발 버전) 
네트워크 사용량을 최적화
성능 테스트 환경 
Gateway 
Gateway 
Gateway 
Gateway 
Gateway 
Gateway 
M S 
S M 
M S 
S M 
M S 
S M 
M S 
S M 
M S 
S M 
M S 
S M 
YCSB 
YCSB 
YCSB 
YCSB 
YCSB 
YCSB 
•Load generator 6장비, 클러스터 6대 
•24개의 Redis instance (master 12, slave 12) 
•YCSB 
Scan 명령 제외 (단일 키 sorted set 사용) 
Driver는 Jedis 기반 (nBase-ARC java client, Jedis Client)
시험 결과 - 1K 100% Write 
0 
50000 
100000 
150000 
200000 
250000 
0 
200 
400 
600 
OPS (RC) 
OPS(ARC) 
0 
0.5 
1 
1.5 
2 
2.5 
0 
200 
400 
600 
Latency (RC) 
(ms) 
Latency(ARC)(m 
s) 
•Client 개수를 많이 늘릴 수 없는 문제가 있었음 (RC용 Jedis) 
•CPU 사용량은 RC (10%), ARC (20%) 
•RC는 클라이언트 개수가 늘어나면 성능이 저하 된다 
각 client가 Redis에 직접 연결하기 때문에 connection 개수가 증가 
•ARC의 성능 최대치가 RC의 성능 최대치에 미치지 못하는 이유 
복제 layer에 의해서 작은 크기의 packet 전송이 추가됨 
85 %
시험 결과 - 1K 100% Read 
•CPU 사용량은 RC (10%), ARC (20%) 
•ARC의 경우 Consistent read 를 위한 복제 상의 overhead 
Operation 자체는 복제로 전송되지 않지만 순서를 맞추기 위한 reference data는 전송 
•Read offloading 
0 
100000 
200000 
300000 
400000 
500000 
0 
200 
400 
600 
OPS (RC) 
OPS(ARC) 
0 
0.2 
0.4 
0.6 
0.8 
1 
1.2 
0 
200 
400 
600 
Latency (RC) 
(ms) 
Latency(ARC)( 
ms) 
93 %
시험 – 결론 
•RC: 고성능+, 장애/단절 발생 시 데이터 유실 
•ARC: 고성능, DB
3. 발전 방향 및 오픈 소스
More Autonomous Cluster 
•고속으로 동작하는 시스템이기 때문에 사람이 운영에 개입해야 하는 상황이면 이미 대형 장애 상황 
•현재는 장애 감지 및 처리만 자동화됨. 더욱 필요 
•장비 관리자 (ARC0) 
Local repository management 
Process management 
Heartbeat aggregation
Resource Efficiency 
•장비의 효율적인 사용을 위해 한 장비에 여러 process 구동 
•서로 다른 클러스터의 프로세스가 돌 수 있음 
•Process (클러스터) 사이의 간섭이 없도록 시스템 자원 관리 
네트워크, 디스크, CPU, 메모리 
•장비 관리자 (ARC0) 
System resource management 
System resource monitoring
Global Management 
•Global 환경에 여러 zone 이 구축됨에 따라 체계적이고 자동화된 운영 방식이 필요하다 
HUB 
-Zone registry 
-Resource (e.g. binary) repository 
-User account 
-Global management 
ZONE
오픈 소스 
2015 
준비되는 대로 순차적으로 오픈 할 예정
THANK YOU

More Related Content

What's hot

[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...OpenStack Korea Community
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arcNAVER D2
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)Hyunmin Lee
 
[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술NAVER D2
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infraHwanseok Park
 
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)DaeMyung Kang
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기NAVER D2
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트SANG WON PARK
 
Techplanetreview redis
Techplanetreview redisTechplanetreview redis
Techplanetreview redisDaeMyung Kang
 
[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기NAVER D2
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
 
[142]편광을 활용한6 dof 전현기
[142]편광을 활용한6 dof 전현기[142]편광을 활용한6 dof 전현기
[142]편광을 활용한6 dof 전현기NAVER D2
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
[233]멀티테넌트하둡클러스터 남경완
[233]멀티테넌트하둡클러스터 남경완[233]멀티테넌트하둡클러스터 남경완
[233]멀티테넌트하둡클러스터 남경완NAVER D2
 

What's hot (20)

[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
 
[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra
 
Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)Redis From 2.8 to 4.x(unstable)
Redis From 2.8 to 4.x(unstable)
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
 
Techplanetreview redis
Techplanetreview redisTechplanetreview redis
Techplanetreview redis
 
[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기[252] 증분 처리 플랫폼 cana 개발기
[252] 증분 처리 플랫폼 cana 개발기
 
Redis edu 3
Redis edu 3Redis edu 3
Redis edu 3
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
[142]편광을 활용한6 dof 전현기
[142]편광을 활용한6 dof 전현기[142]편광을 활용한6 dof 전현기
[142]편광을 활용한6 dof 전현기
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
[233]멀티테넌트하둡클러스터 남경완
[233]멀티테넌트하둡클러스터 남경완[233]멀티테넌트하둡클러스터 남경완
[233]멀티테넌트하둡클러스터 남경완
 

Viewers also liked

Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...NoSQLmatters
 
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路美团点评技术团队
 
Redis 常见使用模式分析
Redis 常见使用模式分析Redis 常见使用模式分析
Redis 常见使用模式分析vincent253
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术团队
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisKrishna-Kumar
 
Redis/Lessons learned
Redis/Lessons learnedRedis/Lessons learned
Redis/Lessons learnedTit Petric
 
深入了解Redis
深入了解Redis深入了解Redis
深入了解Redisiammutex
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at FacebookRedis Labs
 
람다아키텍처
람다아키텍처람다아키텍처
람다아키텍처HyeonSeok Choi
 
Managing user's data with Spring Session
Managing user's data with Spring SessionManaging user's data with Spring Session
Managing user's data with Spring SessionDavid Gómez García
 
Redis cluster
Redis clusterRedis cluster
Redis clusteriammutex
 
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례NAVER D2
 
Managing Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, GoogleManaging Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, GoogleRedis Labs
 
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...Redis Labs
 
Fast Data at Scale with Amazon ElastiCache for Redis
Fast Data at Scale with Amazon ElastiCache for RedisFast Data at Scale with Amazon ElastiCache for Redis
Fast Data at Scale with Amazon ElastiCache for RedisAmazon Web Services
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.Kris Jeong
 
Redis everywhere - PHP London
Redis everywhere - PHP LondonRedis everywhere - PHP London
Redis everywhere - PHP LondonRicard Clau
 
네이버 오픈세미나 백엔드_아키텍쳐
네이버 오픈세미나 백엔드_아키텍쳐네이버 오픈세미나 백엔드_아키텍쳐
네이버 오픈세미나 백엔드_아키텍쳐NAVER D2
 

Viewers also liked (20)

Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
 
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
美团点评沙龙 飞行中换引擎--美团配送业务系统的架构演进之路
 
Redis 常见使用模式分析
Redis 常见使用模式分析Redis 常见使用模式分析
Redis 常见使用模式分析
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
Redis 101
Redis 101Redis 101
Redis 101
 
Highly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - RedisHighly scalable caching service on cloud - Redis
Highly scalable caching service on cloud - Redis
 
Redis/Lessons learned
Redis/Lessons learnedRedis/Lessons learned
Redis/Lessons learned
 
深入了解Redis
深入了解Redis深入了解Redis
深入了解Redis
 
Using Redis at Facebook
Using Redis at FacebookUsing Redis at Facebook
Using Redis at Facebook
 
람다아키텍처
람다아키텍처람다아키텍처
람다아키텍처
 
Redis edu 1
Redis edu 1Redis edu 1
Redis edu 1
 
Managing user's data with Spring Session
Managing user's data with Spring SessionManaging user's data with Spring Session
Managing user's data with Spring Session
 
Redis cluster
Redis clusterRedis cluster
Redis cluster
 
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례
[2B3]ARCUS차별기능,사용이슈,그리고카카오적용사례
 
Managing Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, GoogleManaging Redis with Kubernetes - Kelsey Hightower, Google
Managing Redis with Kubernetes - Kelsey Hightower, Google
 
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...
Scaling Redis Cluster Deployments for Genome Analysis (featuring LSU) - Terry...
 
Fast Data at Scale with Amazon ElastiCache for Redis
Fast Data at Scale with Amazon ElastiCache for RedisFast Data at Scale with Amazon ElastiCache for Redis
Fast Data at Scale with Amazon ElastiCache for Redis
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.
 
Redis everywhere - PHP London
Redis everywhere - PHP LondonRedis everywhere - PHP London
Redis everywhere - PHP London
 
네이버 오픈세미나 백엔드_아키텍쳐
네이버 오픈세미나 백엔드_아키텍쳐네이버 오픈세미나 백엔드_아키텍쳐
네이버 오픈세미나 백엔드_아키텍쳐
 

Similar to [2B5]nBase-ARC Redis Cluster

ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회JaM2in
 
cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)CDIT-HCI
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)Amazon Web Services Korea
 
091106kofpublic 091108170852-phpapp02 (번역본)
091106kofpublic 091108170852-phpapp02 (번역본)091106kofpublic 091108170852-phpapp02 (번역본)
091106kofpublic 091108170852-phpapp02 (번역본)Taegil Heo
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Implementing remote procedure calls rev2
Implementing remote procedure calls rev2Implementing remote procedure calls rev2
Implementing remote procedure calls rev2Sung-jae Park
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
 
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안Amazon Web Services Korea
 
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823Jongsoo Jeong
 
Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Gasida Seo
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...Amazon Web Services Korea
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How ToJi-Woong Choi
 
Pivot3 overview
Pivot3 overviewPivot3 overview
Pivot3 overviewCDIT-HCI
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAmazon Web Services Korea
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Web Services Korea
 
1711 azure-live
1711 azure-live1711 azure-live
1711 azure-live세준 김
 

Similar to [2B5]nBase-ARC Redis Cluster (20)

ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회
 
cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
 
091106kofpublic 091108170852-phpapp02 (번역본)
091106kofpublic 091108170852-phpapp02 (번역본)091106kofpublic 091108170852-phpapp02 (번역본)
091106kofpublic 091108170852-phpapp02 (번역본)
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
 
Implementing remote procedure calls rev2
Implementing remote procedure calls rev2Implementing remote procedure calls rev2
Implementing remote procedure calls rev2
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트::  AWS Summit Online Korea 2020
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
 
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
 
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
NanoQplus for EFM32 - EnergyMicro Seminar Korea 20120823
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)Cloud datacenter network architecture (2014)
Cloud datacenter network architecture (2014)
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
LTM
LTMLTM
LTM
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
 
Pivot3 overview
Pivot3 overviewPivot3 overview
Pivot3 overview
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep Dive
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
 
1711 azure-live
1711 azure-live1711 azure-live
1711 azure-live
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[2B5]nBase-ARC Redis Cluster

  • 1.
  • 2. 이규재 수석연구원 / NAVER LABS nBase-ARC: Redis Cluster
  • 3. 1. nBase-ARC 소개 2. 오픈 소스 제품과 비교 3. 발전 방향 CONTENTS
  • 5. Scale-out 클러스터 비용 효율성 서비스 연속성 확장/축소 일반 컴퓨터를 이용해 시스템 구축 작게 시작해서 크게 성공할 수 있어야 … 운영 작업이 서비스에 영향을 주어선 안됨 인터넷 스케일 서비스에 필요한 분산 저장 시스템
  • 6. nBase-ARC는 Autonomous Redis Cluster nBase- Labs에서 만드는 Scale-out 클러스터 시리즈 운영자의 개입 없이 동작하는 (장애 탐지, 장애 처리) 고속의 In-Memory 연산이 가능한 Scale-out 클러스터
  • 7. 탄생 배경 (1/2) In-memory 기반의 고성능, 고가용 scale-out 클러스터 DB가 필요해짐 •세션 저장소로 디스크 기반의 클러스터를 사용 •많은 쓰기 부하를 일정한 응답 속도로 처리해야 하는 요구사항 •비용 효율적으로 해결 해야 됨 •Caching이 도움이 되질 않음
  • 8. 탄생 배경 (2/2) •Simple •Fast •Persistent •Available 정부 과제: 페타바이트급 대용량 이기종 클러스터드 DBMS SW 개발 복제 Configuration Master
  • 9. Required Features 장애 처리 •장애를 감지해 자동으로 fail-over 해야 한다 Scale-out •장비를 투입해 rebalancing 할 수 있다 API •기존 Redis 클라이언트를 그대로 사용 분산 방식 •여러 장비에 데이터를 나누어 처리해야 한다 가용성 •데이터 durability, 서비스 availability •장애, 운영 작업 등에 의해 서비스가 영향을 받지 않아야 한다 서비스 연속성
  • 10. 분산 방식 0 1 2 8191 PG 0 PG 1 PG N PGS 1 PGS 2 PGS 3 PGS 4 PGS 5 CRC16(key) % 8192 복제 그룹 Partition Group Partition Number Key에 대한 hash 값을 기반으로 하는 분할 방식 채택
  • 11. 가용성 – Redis 복제 •Redis 복제는 비 동기 복제로 master 장애 발생하면 데이터 유실 •Slave에 읽기를 하면 이전 데이터를 읽을 수 있음 •복제 동기화는 sync 방식과 (RDB + replication buffer), psync (일시적 단절 대비 버퍼 유지) 방식을 지원  설정이 어려움 Client Master Slave request response request 복제를 통해 서비스 및 데이터 가용성 확보. 하지만 Redis 복제는 문제
  • 12. 가용성 – 복제 •Consensus 기반의 복제 방식 구현 (State Machine Replicator) Master가 명령어, commit 메시지로 구성된 복제 로그 생성 •명령어 복제와 실행을 분리. 명령어의 가용성이 확보된 경우 실행 •어떤 Redis에 읽기를 해도 consistent한 결과 (read offloading) Client Redis Redis request response Master SMR Slave SMR replicate commit commit LOG (MMAP) LOG (MMAP)
  • 13. 가용성 – 복제 (계속) •명령어의 가용성은 실행되기 전에 저장되는 로그의 개수로 보장됨 예를 들어 2인 경우, 두 장비의 로그에 저장된 이후에 실행 속도를 위해 로그 파일에 대한 연산은 OS buffer 까지 쓰고 리턴 로그 파일은 1초 (또는 10M) 주기로 디스크로 sync 됨
  • 14. 가용성 – 복제 동기화 •로그와 결합된 checkpoint (RDB)를 이용해 로컬 데이터를 복구함 Checkpoint (RDB + log seq.) Log + • 다른 복제 node로 부터 복구된 부분 이후의 log를 받아서 복제 동기화 가능 Master Slave Redis Checkpoint 복구 LOGSEQ LOGSEQ’
  • 15. 장애 처리 – Failure detection Failure Detection Fail over + •Heartbeat module(HB)이 응용 레벨 (L7) ping 메시지 전송 •다수의 HB 운영 •대상 상태에 대한 결정은 Zookeeper 사용 대상의 상태  z-node 대상의 상태에 대한 의견  z-node 하위의 ephemeral z-node
  • 16. 장애 처리 – Fail over Failure Detection Fail over + •Cluster controller에 의해 수행 복수의 instance를 두며, 장애 시 leader election을 통해 새로운 cluster controller가 동작 •감시 대상 z-node를 watch •상태 변경 발생시 (child event) 클러스터의 상태를 결정하고 fail- over 작업 진행
  • 17. Scale-out •Migration에 의한 데이터 처리 부분 이동 Dump Load Log catchup 2PC
  • 18. API •기존 Redis 클라이언트를 그대로 사용할 수 있어야 한다 Gateway
  • 19. 서비스 연속성 •장비 추가, 제거, scale-out, 소프트웨어 업그레이드 복제 추가, 제거, migration으로 해결됨 •Gateway 업그레이드, 추가 삭제? Gateway에 대한 L4 스위치 구성? Gateway lookup 서비스
  • 20. nBase-ARC 구조 HB HB HB Cluster Controller Leader Follower Follower Configuration Master Cluster Gateway Gateway 복제 Zookeeper Ensemble Redis Redis Zone
  • 21. 2. 오픈 소스 제품과 비교
  • 22. Redis Cluster Redis 개발자가 만들고 있는 제품과의 차이점에 대해 설명 ARC: nBase-ARC RC: Redis Cluster
  • 23. 정리 RC ARC 키 분산 동일 복제 Asynchronous Consensus Node 복구 RDB or AOF RDB + LOG 클라이언트 연결 REDIS Gateway Migration Key 단위 Key 영역 단위 Fault detection Node간의 gossip 복수의 HB CAP 측면 CP •RC: 고성능+, 장애/단절 발생 시 데이터 유실 •ARC: 고성능, DB
  • 24. 클라이언트 연결 R R R R R Gateway Gateway Gateway R R R R R Client Client Client Client RC ARC •Redis에 직접 연결 •Smart client 키 분산 정보 Master/slave 여부 •형상 변경 복잡 •Gateway로 연결 Hop이 하나 추가 •Dummy client •형상 변경 쉬움
  • 25. Partition 발생시 동작 RC ARC •Majority 영역의 slave는 master로 promote 됨 •NODE_TIMEOUT 기반으로 동작하기 때문에 특정 시간에 두 개의 master 존재 가능 •복제 상의 commit이 일어나기 위한 quorum 존재. Master가 단절 된 경우 동작 중지 •Configuration master에 의해 fail-over 됨 M S M S Client Client
  • 26. Migration RC ARC MIGRATING SLOT IMPORTING SLOT SOURCE SLOT TARGET SLOT Dump Load Log Catch-up 2PC WHILE true IF GETKEYSINSLOT MIGRATE key ELSE break •Key 단위로 수행 •느림 •Slot 영역 단위로 수행 •빠름
  • 27. CAP Perspective A •Partition이 발생하지 않도록 소프트웨어를 만들 수 없음 •CP 분할 발생시 consistency 유지 •AP 분할 발생시 availability 유지 이후 merge 해야 함 C P RC ARC •Not AP Major partition만 살아 남음 •Not CP Write 에 대한 consensus가 없음 •CP
  • 28. 성능 •ARC는 latency가 더 크다 Gateway에 의한 hop 복제 layer •ARC의 경우 CPU를 더 사용한다 Gateway Replicator •성능상의 병목은 네트워크에서 생김 네트워크로 전송되는 데이터의 양 네트워크로 전송되는 packet의 개수 (interrupt 처리 능력) RPS (Receive Packet Steering)/RFS (Receive Flow Steering)등의 네트워크 최적화 설정이 필요함
  • 29. 성능 - ARC Gateway Affinity PG 1 Master PGS PG 2 Slave PGS PG 3 Slave PGS PG 1 Slave PGS PG 2 Master PGS PG 3 Master PGS Gateway Gateway PG 4 Master PGS PG 5 Slave PGS PG 6 Slave PGS PG 4 Slave PGS PG 5 Master PGS PG 6 Master PGS Gateway Gateway Client (affinity) Client (no affinity) 클러스터의 key mapping 정보를 힌트로 해서 최적의 gateway를 선택하도록 함 (개발 버전) 네트워크 사용량을 최적화
  • 30. 성능 테스트 환경 Gateway Gateway Gateway Gateway Gateway Gateway M S S M M S S M M S S M M S S M M S S M M S S M YCSB YCSB YCSB YCSB YCSB YCSB •Load generator 6장비, 클러스터 6대 •24개의 Redis instance (master 12, slave 12) •YCSB Scan 명령 제외 (단일 키 sorted set 사용) Driver는 Jedis 기반 (nBase-ARC java client, Jedis Client)
  • 31. 시험 결과 - 1K 100% Write 0 50000 100000 150000 200000 250000 0 200 400 600 OPS (RC) OPS(ARC) 0 0.5 1 1.5 2 2.5 0 200 400 600 Latency (RC) (ms) Latency(ARC)(m s) •Client 개수를 많이 늘릴 수 없는 문제가 있었음 (RC용 Jedis) •CPU 사용량은 RC (10%), ARC (20%) •RC는 클라이언트 개수가 늘어나면 성능이 저하 된다 각 client가 Redis에 직접 연결하기 때문에 connection 개수가 증가 •ARC의 성능 최대치가 RC의 성능 최대치에 미치지 못하는 이유 복제 layer에 의해서 작은 크기의 packet 전송이 추가됨 85 %
  • 32. 시험 결과 - 1K 100% Read •CPU 사용량은 RC (10%), ARC (20%) •ARC의 경우 Consistent read 를 위한 복제 상의 overhead Operation 자체는 복제로 전송되지 않지만 순서를 맞추기 위한 reference data는 전송 •Read offloading 0 100000 200000 300000 400000 500000 0 200 400 600 OPS (RC) OPS(ARC) 0 0.2 0.4 0.6 0.8 1 1.2 0 200 400 600 Latency (RC) (ms) Latency(ARC)( ms) 93 %
  • 33. 시험 – 결론 •RC: 고성능+, 장애/단절 발생 시 데이터 유실 •ARC: 고성능, DB
  • 34. 3. 발전 방향 및 오픈 소스
  • 35. More Autonomous Cluster •고속으로 동작하는 시스템이기 때문에 사람이 운영에 개입해야 하는 상황이면 이미 대형 장애 상황 •현재는 장애 감지 및 처리만 자동화됨. 더욱 필요 •장비 관리자 (ARC0) Local repository management Process management Heartbeat aggregation
  • 36. Resource Efficiency •장비의 효율적인 사용을 위해 한 장비에 여러 process 구동 •서로 다른 클러스터의 프로세스가 돌 수 있음 •Process (클러스터) 사이의 간섭이 없도록 시스템 자원 관리 네트워크, 디스크, CPU, 메모리 •장비 관리자 (ARC0) System resource management System resource monitoring
  • 37. Global Management •Global 환경에 여러 zone 이 구축됨에 따라 체계적이고 자동화된 운영 방식이 필요하다 HUB -Zone registry -Resource (e.g. binary) repository -User account -Global management ZONE
  • 38. 오픈 소스 2015 준비되는 대로 순차적으로 오픈 할 예정