행위

버퍼 캐시

DB CAFE

Dbcafe (토론 | 기여)님의 2023년 7월 26일 (수) 12:26 판 (새 문서: == 버퍼 (Buffer) == # 두 장치간에 입출력 속도차이로 인한 처리 지연을 방지하지 위하여 도입된 개념 # 디스크는 CPU 와 비교하면 비교가 안될...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
thumb_up 추천메뉴 바로가기


1 버퍼 (Buffer)[편집]

  1. 두 장치간에 입출력 속도차이로 인한 처리 지연을 방지하지 위하여 도입된 개념
  2. 디스크는 CPU 와 비교하면 비교가 안될 정도로 느리다. 그래서 1개의 연산 데이터를 읽어들여 CPU 에 보낼 때, CPU 는 이에 따라 분당 100개의 데이터를 처리 할 수 있어도 디스크로 인하여 1개의 데이터를 처리 할 수 밖에없다.
  3. 이 때 CPU는 다른 작업들을 수행 하지 못하고 99개의 데이터 영역 처리 공간 및 시간이 지속 대기 및 지연이 되므로 이에 따라 연산속도를 제대로 활용하지 못한 채 연산 속도가 느려지게 된다.
  4. 그래서 그 사이에서 중간에 버퍼가 도입되게 되었다.
  5. 보통 이와 같이 CPU 가 연산을 하는 과정에서 언급 되는 버퍼는 메모리내의 버퍼 영역을 뜻한다.
  6. 메모리 영역이 중간에 있으면 디스크가 느리더라도 메모리에 1개씩 지속적으로 데이터를 전송하면서 메모리가 보관을 할 수 있다.
  7. CPU 는 메모리가 디스크로 부터 데이터를 지속적으로 받아 적재를 하기 때문에 그 동안 이 작업에 쓸 수 있는 연산공간을 다른 연산작업에 사용하는 한편, 메모리가 보관했다가 전송하는 디스크의 일부 데이터를 디스크가 데이터를 모두 전송할때 까지 대기 할 필요 없이 부분적으로 지속 처리를 하기 때문에 각 요소들이 대기시간으로 인한 성능 지연이 없이 CPU 연산을 100% 까지 사용 할 수 있다.

2 버퍼 와 캐시[편집]

2.1 캐시 (Cache)[편집]

  1. 입출력 처리 속도 지연을 방지하는 것은 버퍼와 유사하나 추가적으로 연산 처리속도를 극대화 하기 위하여 도입된 개념
  2. 흔히 DB에서 작업이 필요한 데이터들을 디스크에서 선별하여 메모리에 보관한 후, 이 메모리를 디스크 대신 작업 데이터 보관 공간으로 사용
  3. DB가 디스크로부터 데이터를 지속적으로 조회를 하여 연산 처리 작업을 수행한다면, 위의 버퍼 개념과 같이 지속적인 성능 저하가 발생하므로 캐시는 매우 필수적인 요소


  • 버퍼와캐시의 차이점 결론
  1. 버퍼, 캐시는 두 장치간의 속도 간극을 줄이는데에 목적을 두는건 동일
  2. 버퍼는 속도가 느린 장치에 관점을 두어 속도 간극을 줄이고
  3. 캐시는 속도가 빠른 장치에 관점을 두어 속도간극을 줄이는 것