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/a1f/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
47 Tip 마우스 드래그시 영역 색상 변경 [selection pseudo-element(dropped)] file l2zeo 2013-01-23 4234
46 Tip 일정 포인트 이상은 적립안되게 하기 l2zeo 2013-03-15 5074
45 Tip 그누보드내에서 링크를 이용할때 \ 값이 자동 생성될때는? l2zeo 2012-09-30 5229
44 Tip DTD(Document Type Definition) 란? l2zeo 2012-10-02 5258
43 Tip css 폰트 설정시 브라우저 제약없이 비슷하게 보이게 하는방법은?? file l2zeo 2013-01-23 5274
42 Tip [caching tip] js, css 캐싱 팁 l2zeo 2013-01-23 5335
41 [긴급]그누보드 4.34.05 패치 ADMINPLAY 2012-01-16 5358
40 Tip CSS shorthand properties (단축 속성) [1] l2zeo 2013-02-26 5362
39 Tip Mini Help System with jQuery file [1] l2zeo 2013-01-23 5613
38 Tip 마우스 오버할때 아이디 안보이게 하기 file l2zeo 2013-02-03 5768
37 Tip 그누보드 팁. $wr_id 값을 사용하지 않습니다_라고 뜰때 해결방법 2 (그누보드 관련 게시판이 있다면....) ADMINPLAY 2012-01-16 5838
36 Tip 그누보드 패밀리사이트에서 회원가입연동 l2zeo 2013-05-31 5914
35 Tip CSS3 를 이용한 툴팁(Tooltip) 표시 [1] l2zeo 2013-01-23 6056
34 Tip Cascading Style Sheets (자바스크립트 style 객체) l2zeo 2013-04-25 6267
33 Tip jquery 관련 l2zeo 2013-05-26 6353
» Tip 웹 서비스 구현시 캐시 구현을 남발해서는 안되는 이유? l2zeo 2013-03-18 6572
31 Tip 그누보드 팁. $wr_id 값을 사용하지 않습니다_라고 뜰때 해결방법 3 (그누보드 관련 게시판이 있다면....) ADMINPLAY 2012-01-16 6584
30 Tip 스토리보드 이제 쉬워졌어요~~ PowerMockUp 소개 해 봅니다.^^ file l2zeo 2013-03-18 6776
29 Tip 그누보드의 visit 문제 file ADMINPLAY 2012-01-16 6789
28 Tip 모바일에서 동영상 크기 지정해서 보여줄때. l2zeo 2013-01-24 6896

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234