메뉴 닫기

iwinv의 Memcached 서비스 둘러보기

iwinv의 주요 서비스를 소개하는 포스팅 시리즈입니다. 첫 번째로 준비한 것은 분산형 인메모리 저장소인 Memcached입니다. 

 

인메모리 데이터 저장소


웹 애플리케이션의 성능 개선을 위해 많은 조직이 Memcached와 Redis를 사용하는 것이 요즘 추세입니다. 특히 고객 서비스를 위한 웹 애플리케이션은 낮은 대기 시간과 높은 성능을 유지하기 위해 분산형 인메모리 데이터 저장소 사용이 필수입니다.  

Memcached Logo

Memcached란?


Memcached는 오픈 소스 기반 분산 인메모리 캐싱 시스템입니다. 분류를 하자면 NoSQL 계열에 속합니다.

Memcached는 데이터베이스 호출, API 호출, 그리고 문자열이나 객체 같은 작은 데이터 집합(Chunk)를 메모리에 담아 두는 키-값 저장소입니다. 모든 데이터를 디스크가 SSD가 아니라 메모리에 보관하므로 속도가 매우 빠릅니다. 

Memcached는 역사가 꽤 긴 오픈 소스 프로젝트입니다. 2003년 Brad Fizpatrick이 Live Journal 사이트를 위해 만든 것이 출발점입니다.

초기에는 Perl 언어로 개발했는데, 이후 C 언어로 다시 코딩을 하였습니다. 이후 현대적인 웹 애플리케이션 성능 보장에 중요한 역할을 하며 오늘날까지 명성을 이어오고 있습니다. 

Memcached는 ‘캐싱’이라는 사용 목적이 분명하고 기능이 복잡하지 않은 솔루션입니다.

그러다 보니 이런저런 기능이 추가되며 거대 플랫폼이 되는 식으로 진화하지 않고, 안정성 강화 및 기능 최적화 쪽으로 오픈 소스 커뮤니티가 개선해 나아가고 있습니다.

2022년 10월 현재 최신 버전은 v1.6.17입니다. 

 

어떤 용도로 활용하나?


Memcached는 주로 데이터 캐싱, 데이터베이스 쿼리 캐싱, 세션 저장소 등의 목적으로 사용합니다.

Memcached가 오랜 기간 인기를 끈 이유는 캐싱 효과가 매우 좋고, 사용이 편리하기 때문입니다.

캐싱을 위해 웹 애플리케이션을 설정하는 작업은 간단합니다. 시간과 노력이 필요하지 않은 반면에 설정 후 체감하는 성능 차이는 매우 큽니다. 

 

Memcached와 Redis 무엇을 고를까?


인메모리 캐싱을 고려할 때 다들 Memcached와 Redis를 후보에 올립니다.

iwinv를 비롯해 대부분의 클라우드 서비스는 두 상품을 모두 제공합니다. 모두 널리 쓰이고 검증을 마친 것이다 보니 무엇을 선택해야 할지 고민일 수 있습니다.

선택은 오히려 간단할 수 있습니다. 웹 애플리케이션의 특성과 운영 및 성능 요구 조건에 맞는 것을 고르면 됩니다. 참고로 두 시스템을 구분하는 가장 큰 특징은 데이터 구조입니다.

Memcached는 주로 작고 정적인 데이터 캐싱을 위해 선택합니다. 

내부 메모리 관리 구조가 Redis 만큼 정교하지 않기 때문입니다. 이는 단점이라고 할 수 없습니다.

고급 데이터 구조를 지원하지 않는 대신 메모리 리소스를 적게 사용하는 이점을 트레이드오프로 누릴 수 있습니다. 

이상으로 iwinv의 Memcached 서비스에 대해 알아보았습니다. 더 자세한 내용은 상품 소개 페이지 및 IDCHOWTO 블로그의 설치 안내 포스팅을 참조 바랍니다. 

 

#iwinv #Memcached #Redis 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x