반응형
반응형

SQL Server에 대한 기술 문서를 보다 보면 캐시라는 용어도 자주 나오고 풀이라는 용어도 자주 접하게 됩니다. 특히 성능이나 아키텍처에 관한 문서에 이런 용어들이 자주 나오는데, 실제로 이런 용어들을 사용하면서 확실하게 이 두 가지가 어떻게 다른지 잘 모르고 사용하는 경우가 많습니다. 저도 잘 모릅니다만, 자료에 나와 있는 캐시와 풀의 비교 설명을 옮겨 봅니다. 저는 다섯번째 얘기가 가장 마음에 와 닿네요. ^ ^


1. 캐시 (Cache)

- 이기종 데이터를 캐싱하는 메커니즘이며, 각각의 엔트리에 대하여 정해진 비용이 있음

- 대개의 경우 엔트리별로 상태가 관리됨

- 엔트리에 대해서 lifetime 제어가 구현되어 있음

- LRU 정책을 제공함

- 캐싱된 데이터의 유형에 따라 다르지만, 하나의 엔트리를 동시에 다중의 클라이언트들이 사용 가능함

- 예: 프로시저 캐시, 데이터 캐시 (버퍼)


2. 풀 (Pool)

- 동종 데이터를 캐싱하는 메커니즘

- 상태 정보를 가지지 않음

- lifetime에 대한 제한적인 제어

- 어떤 시점에는 오직 한 클라이언트만이 사용 가능 : 하나의 엔트리가 풀에서 선택되어 사용되면 그 엔트리는 풀에서 제거되며, 그 엔트리가 다시 풀로 되돌아올 때까지는 풀이 그 엔트리에 대한 제어권을 가지지 못하는 구조임.

- 예: 네트쿼크 버퍼 풀
반응형

+ Recent posts

반응형