Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

엔터프라이즈 캐싱이란 무엇일까? 지금 전환해야 하는 4가지 신호

『엔터프라이즈 캐싱 구매자 가이드』 전자책이 출간되었습니다. 확장하면서도 일관된 고성능을 제공하는 엔터프라이즈 캐싱 솔루션을 소개합니다. 아래에서 무료로 다운로드하세요.

캐싱, 왜 필요한가?

수십 년 동안 데이터베이스는 무대 뒤에서 애플리케이션과 웹사이트를 구동하며 디지털 경험을 더욱 역동적이고 유연하게 만들어 왔습니다. 하지만 이 모델에는 근본적인 문제가 있었습니다. 바로 데이터베이스 자체가 애플리케이션의 속도를 늦춘다는 점입니다.

여기서 캐싱이 등장합니다. 캐싱은 서버 하드디스크의 데이터베이스에 저장된 데이터를 훨씬 빠르고 효율적으로 접근할 수 있는 임시 공간으로 옮기는 기술입니다. 그 결과, 복잡하고 시간과 자원이 많이 드는 데이터 조회 작업은 한 번만 수행하면 되고, 이후에는 캐시에서 즉시 데이터를 가져올 수 있습니다.

물론 회사가 커지고 영향력이 확대되면 판돈도 커지고 오차 허용 범위는 얇아집니다. 어느 순간 캐싱은 '있으면 좋은 것'이 아니라 '반드시 필요한 것'이 됩니다. 소규모 회사에 편리한 기능이 대규모 경쟁 기업에게는 필수 요소가 되는 것이죠. 실패는 선택지가 아닙니다.

그래서 등장한 것이 엔터프라이즈 캐시입니다. 기본 캐시의 탄탄한 토대 위에 구축된 엔터프라이즈 캐시는 고가용성, 실질적인 제품 지원, 밀리초 미만 성능, 완전 분산 복제, 복잡한 데이터 세트를 비용 효율적으로 관리하는 방법 등 성장하는 수요에 발맞추기 위해 기업이 요구하는 다양한 기능을 제공합니다. 더 확장 가능하고, 장애에 강하고, 무엇보다 더 경제적입니다.

엔터프라이즈 캐싱으로 전환해야 할 때는?

엔터프라이즈 캐싱 솔루션을 도입해야 하는 이유는 간단합니다. 확장할 수 있어야 하고, 실패를 감당할 수 없을 때입니다. 그렇다면 언제 전환해야 할까요? 다음 네 가지 요소를 살펴보세요.

1. 기존 데이터베이스가 효과적으로 확장되지 않을 때

개미는 지구상에서 가장 놀라운 생명체 중 하나입니다. 자기 몸무게의 약 5,000배나 되는 무게를 들어올릴 수 있죠. 수 세기 동안 수많은 과학자들(그리고 SF 영화 감독들)은 개미의 막강한 힘을 사람 크기로 키우면 어떻게 될지 궁금해했습니다. 안타깝게도 개미는 확장에 적합하지 않습니다. 동료 직원만 한 크기의 개미를 만든다면 다리가 자기 몸무게를 견디지 못하고 무너져 버립니다.

캐시 확장의 위험이 그렇게 극적이지는 않지만, 유사한 문제가 있습니다. 표준 캐시는 확장 과정에서 크게 두 가지 장벽에 부딪힙니다. 바로 저장 용량 한계와 리소스 한계입니다. 전자는 데이터를 캐싱할 수 있는 공간의 크기를 의미하고, 후자는 캐시 데이터 저장·조회 등 필수 기능을 수행할 수 있는 처리 능력을 말합니다.

해결책은 단순하지만 끝이 없을 수 있습니다. 저장 용량 한계에 도달하면 표준적인 처방은 명확합니다. 저장 공간을 늘리는 것입니다. 리소스를 감당할 여유가 부족하다면 대역폭과 처리 능력을 늘리면 됩니다. 이처럼 개별 캐시에 할당된 리소스를 늘리는 방식을 수직 확장(vertical scaling)이라고 합니다.

온프레미스 환경에서는 보통 RAM, 처리 능력, 네트워크 대역폭 중 하나 또는 모두가 더 큰 고성능 서버로 교체하는 것을 의미합니다. 클라우드 환경이라면 더 큰 인스턴스로 옮기는 방법이 있습니다. 반면 수평 확장(horizontal scaling)은 개별 캐시 인스턴스의 크기를 변경하지 않고 클러스터에 노드를 추가하는 방식입니다. 요컨대 수직 확장은 '크기'로, 수평 확장은 '개수'로 늘리는 것입니다.

2. 캐싱 비용이 감당하기 어려워질 때

늘어나는 수요에 맞춰 캐시 크기를 계속 키우면 당장의 문제는 해결될 수 있습니다. 하지만 그 대가는 얼마일까요? 집이나 아파트가 물건들로 좁아져 창고를 추가로 빌려본 적이 있다면 잘 아실 겁니다. 대부분의 경우 값진 골동품으로 채우나 쓸모없는 잡동사니로 채우나 창고 비용은 똑같다는 사실 말입니다.

기본 캐싱도 비슷하게 작동합니다. 자주 사용되거나 가치 높은 데이터도 덜 사용되거나 덜 중요한 키·값과 똑같이 취급됩니다. 게다가 캐시 공간이 부족해지면 데이터의 성격은 아무 상관이 없습니다. 공간이 없으면 끝입니다. 문제는 캐시 공간 추가 비용이 만만치 않다는 점입니다. Redis Enterprise의 구성 요소인 Redis on Flash는 캐싱 계층 구조를 구성해 비용을 관리하는 데 도움을 줍니다. 활발히 사용되는 캐시 값은 RAM에 저장하고, 사용 빈도가 낮은 값은 훨씬 크고 저렴한 플래시 메모리에 유지하는 방식입니다.

3. 단일 마스터에 더 이상 의존할 수 없을 때

캐시에 노드를 추가하면 늘어난 트래픽 수요를 충족할 수 있지만, 문제의 일부만 해결할 뿐입니다. 기본 캐싱은 읽기 복제본(read replica) 추가를 지원합니다. 읽기 부하를 여러 서버에 분산해 읽기 성능을 높이는 수평 확장 방식이죠. 하지만 여전히 모든 쓰기를 처리하는 마스터는 하나뿐입니다.

단일 마스터에 종속되면 배포가 여러 리전에 걸쳐 있거나 여러 공급자, 멀티클라우드를 사용하는 경우 문제가 됩니다. 고객이 광범위하게 분포해 있다면 단일 마스터 의존은 심각한 병목을 초래합니다. 모든 쓰기 요청이 어디서 발생했든 하나의 제한된 위치로 향해야 하기 때문입니다.

마치 포장 주문 음식점에서 주문을 받을 수 있는 창구는 여러 개인데 계산대는 하나뿐인 상황과 같습니다. Redis Enterprise의 Active-Active Geo-Deployment를 사용하면 리전이나 공급자와 무관하게 어떤 마스터 인스턴스든 읽기와 쓰기 요청을 모두 처리할 수 있습니다.

4. 고가용성이 사치가 아니라 필수가 될 때

소규모 애플리케이션이라면 가끔 발생하는 다운타임은 짜증과 민망함 정도로 끝날 수 있습니다. 하지만 엔터프라이즈 수준의 장애는 상황 자체를 바꿔버립니다. 리틀리그 야구 경기의 실책은 아쉬운 일이지만, 월드시리즈에서 같은 실책이 일어나면 수백만 달러의 손실로 이어질 수 있습니다.

마찬가지로 가용성 실패는 더 이상 단순한 불편함이 아니라 실질적인 책임 문제입니다. 고객과 체결한 SLA에 따라서는 법적 분쟁으로 번질 수도 있습니다. 안타깝게도 기본 캐싱은 확장성, 보안, 고가용성에 대한 어떤 내재적 보장도 제공하지 않습니다. 오픈소스 캐시 위에 이런 안전장치를 직접 구축하는 것도 이론상 가능하지만, 자체 구축 솔루션은 고유의 골칫거리와 숨은 비용을 함께 안고 오는 경우가 많습니다.

일부 서드파티 Redis 캐시가 99.9%(쓰리 나인) 가용성을 제공하기도 하지만, 단일 리전에 한정되고 데이터 영속성 없이 스냅샷만 지원하는 경우가 많습니다. 애플리케이션 규모가 작다면 차선책이 될 수 있지만, 회사나 고객 기반이 글로벌하다면 부족합니다. Redis Enterprise Cloud는 하나 또는 여러 리전에서 99.999%(파이브 나인) SLA를 제공합니다. 성능에 영향을 주지 않으면서 데이터 영속성과 백업을 지원하고, 자동 클러스터 복구와 순수 인메모리 복제까지 제공합니다.

엔터프라이즈 캐싱으로 고객을 확보하세요

회사가 성장하면서 늘어나는 이런 요구들은 로딩 시간을 느리게 만들고, 오랜 고객을 떠나게 하며 잠재 고객들의 외면을 부를 수 있습니다. 좋아하든 싫어하든 응답 시간은 온라인 경험의 핵심 요소입니다.

Unbounce 조사에 따르면 응답자의 70%가 로딩 시간이 온라인 쇼핑몰에서 구매하려는 의사에 영향을 준다고 답했습니다. 연구에 따르면 사용자는 약 100밀리초만 지나도 '기다리고 있다'는 느낌을 받습니다. 눈 깜빡임에 걸리는 시간의 3분의 1에 불과합니다. 애플리케이션이 로딩되는 동안 고객이 눈을 깜빡일 수 있다면 이미 고객을 잃었을 가능성이 큽니다.

문제는 구매 결정에만 국한되지 않습니다. Salesforce 조사에 따르면 고객의 83%가 제품과 서비스만큼 경험도 중요하다고 생각했습니다.

마지막으로, 입소문이 순식간에 퍼지는 요즘, 한 고객의 나쁜 경험은 오래 고립되어 있지 않습니다. 웹사이트에서 불쾌한 경험을 한 사람들은 보통 혼자 묵묵히 넘기지 않습니다. Salesforce에 따르면 고객의 61%가 나쁜 경험을 다른 사람들에게 공유합니다. 결과적으로 애플리케이션의 결함은 잠재 고객층 전체로 빠르게 퍼지며 악평의 연쇄 반응을 일으킬 수 있습니다.

다행히 이 우울한 통계에는 밝은 면도 있습니다. 같은 Salesforce 조사에서 고객의 70%는 좋은 경험 역시 다른 사람들과 공유할 의향이 있다고 답했습니다. 회사가 성장 중이고 기존 고객을 잃는 대신 행복한 신규 고객 기반을 쌓고 싶다면, 엔터프라이즈 캐싱이 디지털 경험의 무한한 확장을 위한 토대를 마련해 줄 열쇠가 될 수 있습니다.

캐싱 데이터베이스를 엔터프라이즈 수준으로 끌어올릴 준비가 되셨나요?

자세한 내용은 무료 『엔터프라이즈 캐싱 구매자 가이드』를 확인하세요.