Skip to content

페이스북의 강용성(http://www.facebook.com/xympl)님은 “내가 서비스에 캐시 붙이는 걸 싫어하는 이유는 다음과 같다“를 통해서 캐시 구현에 있어서의 고려사항을 소개하고 있다.

1. 첫째 쿼리 튜닝과 DB 설계가 우선이라는 것이다. 이 기본적인 요소만 견고하게 구성해도 캐시 없이 빠른 서비스를 일정부분 구현 할 수 있다. 그래도 안 될 경우 역정규화를 이용해 구성을 통해 문제점을 해결하는 방법이다. 그래도 안될 경우 파티셔닝을 진행하며 캐시처리 이전에 최소한의 소프트웨어 튜닝이 선행되어야 한다.

2. 둘째 캐시처리를 남발하면 데이터 오류를 발생시킬 수 있다. memcache나 redis 같은 오픈소스를 이용할 경우 atomic operation을 지원하더라도 DB에 직접직접 바인딩(각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것)되어 있지 않고, 일일이 transaction을 만들어서 데이터를 맞춰줘야 하는데 이때 설정을 잘못할 경우, 잘못 캐시된 값으로 인해 데이터가 꼬일 수 있다.

3. 셋째 캐시를 투명한 레이어에 얹는 문제이다. 데이터 접근에 대한 추상화가 잘되어 있다면 모르겠지만, 그렇지 않은 경우 코드가 지저분해지는 것은 물론 코드의 복잡도를 향상 시킬 수 있다. ORM(Object Relational Mapping)을 사용하고 안하고의 문제가 아니라, 순수한 백엔드 개발자 역량에 달려 있는 문제라는 것이다. .

4. 넷째 캐시의 마법에 취하지 말아야 한다. 캐시는 만능이 아니다. 따라서 cache invalidate 혹은 expire 될 경우, workaround, fallback에 대한 고려를 잘 못 하게 된다. 그러다 캐시에 문제가 생기면 서버는 죽었다고 보면된다.
profile

I see no changes, wake up in the morning and I ask myself

Is life worth living should I blast myself

Things would never be the same.

엮인글 :
http://adminplay.com/185056/b68/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수
27 Tip SSL 보안인증 로그인,회원가입 적용하기 [1] l2zeo 2012-08-15 11800
26 Tip 그누보드내에서 링크를 이용할때 \ 값이 자동 생성될때는? l2zeo 2012-09-30 5229
25 Tip 서버이전후 Warning: Cannot modify header information - headers already sent by... 뜰때 l2zeo 2012-09-30 7876
24 Tip DTD(Document Type Definition) 란? l2zeo 2012-10-02 5258
23 Tip 그누보드4(G4) 변수들 l2zeo 2013-01-22 49316
22 Tip css 폰트 설정시 브라우저 제약없이 비슷하게 보이게 하는방법은?? file l2zeo 2013-01-23 5274
21 Tip 마우스 드래그시 영역 색상 변경 [selection pseudo-element(dropped)] file l2zeo 2013-01-23 4234
20 Tip [Lazy Load Plugin for jQuery] 효율적인 이미지 로딩 file l2zeo 2013-01-23 10219
19 Tip 페이스북 담벼락에 자동 게시하는 법 l2zeo 2013-01-23 9616
18 Tip [caching tip] js, css 캐싱 팁 l2zeo 2013-01-23 5335
17 Tip CSS3 를 이용한 툴팁(Tooltip) 표시 [1] l2zeo 2013-01-23 6056
16 Tip Mini Help System with jQuery file [1] l2zeo 2013-01-23 5613
15 Tip 썸네일 생성이 되지 않을때 확인할것 file l2zeo 2013-01-24 7442
14 Tip 모바일에서 동영상 크기 지정해서 보여줄때. l2zeo 2013-01-24 6896
13 Tip 모바일에서도 이미지 리사이징 기능 적용하기 l2zeo 2013-01-24 51584
12 Tip 마우스 오버할때 아이디 안보이게 하기 file l2zeo 2013-02-03 5768
11 Tip CSS shorthand properties (단축 속성) [1] l2zeo 2013-02-26 5362
10 Tip 일정 포인트 이상은 적립안되게 하기 l2zeo 2013-03-15 5074
9 Tip 포인트가 마이너스일때 = 포인트 마이너스 회원들 포인트를 0으로 ... l2zeo 2013-03-15 9535
» Tip 웹 서비스 구현시 캐시 구현을 남발해서는 안되는 이유? l2zeo 2013-03-18 6572

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234