tech logo


「 REDIS 」

 

그림입니다.
원본 그림의 이름: Image_%5B6%5D.png
원본 그림의 크기: 가로 167pixel, 세로 55pixel

 

Redis는 빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어입니다. Redis는 다양한 인 메모리 데이터 구조 집합을 제공하므로 다양한 사용자 정의 애플리케이션을 손쉽게 생성할 수 있습니다. 주요 Redis 사용 사례로는 캐싱, 세션 관리, pub/sub 및 순위표를 들 수 있습니다. Redis는 현재 가장 인기 있는 키 값 스토어로서, BSD 라이선스가 있고, 최적화된 C 코드로 작성되었으며, 다양한 개발 언어를 지원합니다. Redis는 REmote DIctionary Server의 약어입니다.

 

Key/Value Store

Redis는 기본적으로 Key/Value Store이다. 특정 키 값에 값을 저장하는 구조로 되어 있고 기본적인 PUT/GET Operation을 지원한다.

단, 이 모든 데이터는 메모리에 저장되고, 이로 인하여 매우 빠른 write/read 속도를 보장한다. 그래서 전체 저장 가능한 데이터

그림입니다.
원본 그림의 이름: CLP000012ec1392.bmp
원본 그림의 크기: 가로 261pixel, 세로 124pixel

<Redis Key/Value 저장 구조>


용량은 물리적인 메모리 크기를 넘어설 수 있다. (물론 OS의 disk swapping 영역등을 사용하여 확장은 가능하겠지만 성능이 급격하게 떨어지기 때문에 의미가 없다.) 데이터 억세스는 메모리에서 일어나지만 server restart 와 같이 서버가 내려갔다가 올라오는 상황에 데이터를 저장을 보장하기 위해서 Disk를 persistence store로 사용한다.


레디스를 사용하는 장점

1) 리스트, 배열형식의 데이터 처리에 특화됨

- value 값으로 문자열, 리스트, set, sorted set, hash 형 등 여러 데이터 형식을 지원함

- 리스트형 데이터의 입력과 삭제가 mysql 에 비하여 10배정도 빠르다.



2) 여러 프로세스에서 동시에 같은 key 에 대한 갱신을 요청할 경우 Atomic 한 처리로 데이터 부정합 방지 Atomic 처리 함수를 제공한다.

 

3) 메모리를 활용하면서 영속적인 데이터보존

- 명령어로 명시적으로 삭제하거나 expires 를 설정하지 않으면 데이터를 삭제하지 않는다.

- 스냅샷 기능을 제공하여 메모리의 내용을 *.rdb  파일로 저장하여 해당 시점으로 복구할 수 있다.

 

4) 여러대의 서버 구성

- Consistent hashing 혹은 master-slave 형식으로 구성가능함

 

레디스 단점

- 사고 발생시 백업이 일어나는 시점들 사이에 일어나는 변경사항이 손실된다.

- 백업시 fork() 로 자식 프로세스를 생성해서 백업 작업을 시행하는데 이때 데이터가 크다면 순간적으로 많은 cpu 부하가 발생할 수 있다.

 

Redis를 사용하면 사우분들의 고객을 조금 더 행복하게 만들 수 있을 것입니다. 사우분들의

 


시스템은 보다 덜 복잡해질 것이고, 사이트는 보다 더 반응적일 것이며, 무엇보다 현재 시스템을 교체 하지 않고 바로 사용할 수 있다는 것입니다.

 

Fabric의 Crashlytics

 

 페브릭(Fabric)은 앱 개발자들이 흔히 직면하는 안정성, 사용자 확보, 수익성, 사용자 인증의 이슈들을 해결해 줄 세 가지의 모듈형 키트들로 이루어져 있으며 이 중 안정성의 이슈들을 해결해주는 모듈인 크래시리틱스(Crashlytics)에 대해 작성했습니다.

모든 앱에는 충돌이 존재하고, 이런 충돌들은 실제로 앱의 사용에 큰 영향을 미칩니다. 당신의 앱에 왜 충돌이 일어나는지, 얼마나 많은 사용자들이 불편을 겪고 있는지, 무엇이 문제인지 알아내는 것은 시간이 많이 필요할 수 있습니다.

크래시리틱스(Crashlytics)는 이런 문제를 해결하기 위해 존재합니다. 크래시리틱스는 오류를 감지해 찾아내고 버그를 수정하는 데에 필요한 시간을 절약해 주고 있습니다.

아래 이미지는 수출입위험물관리 시스템에 적용한 이미지를 첨부했습니다.


그림입니다.
원본 그림의 이름: fabric2.png
원본 그림의 크기: 가로 1920pixel, 세로 1008pixel

<수출입 위험물관리 시스템>


과거 발생된 오류에 대해 처리한 리스트입니다.

 

≫ Crashlytics 공식 URL

≫ Crashlytics 적용 참조

 

[강추기사모음] 이 기사 보셨나요?

 

이 코너에서는 함께 공유하면 좋을만한 기사들을 선정해 보았습니다. 기사 제목을 선택하시면 해당 페이지로 이동합니다. 잘 알려지지 않은 기사중에서 다른 직원들과 나누고 싶은 정보가 있다면 뉴스레터 편집실로 알려 주세요.

 

인공신경망 VS 통계기반 번역, 뭐가 다를까? (출처:ZDNet Korea/2016.12.25.)

 


"나쁜 데이터 vs. 좋은 데이터" IoT의 진짜 문제점 (출처:IT World/2016.12.26)

 

바지 벗고 일하면 안 되나요? (출처:TTimes/2016.1.5.)

 

고객 만족을 넘어 고객가치를 경영하라 (출처:월간CEO/2016.4.1.)

 

[칼럼] 제안 노하우 - 킥오프 미팅 (출처:IT동아/2013.5.29.)

 

'FAQ로 알아보는' 애자일 입문 가이드 (출처:CIO Korea/2017.1.16)

 

'업의 본질'에 대한 IT 기업 4곳의 이야기 (출처:CIO Korea/2017.1.20)

 

Tour of Vue.js (출처:SlideShare(이선협)/2016.12.21)