본문 바로가기
DB 인사이드 | PWI - Shared Buffer > Wait Event Shared Buffer의 동작 원리에 이어서, Shared Buffer 내 동작 과정에서 발생할 수 있는 대표적인 Wait Event인 LWLock:BufferMapping과 LWLock:BufferContent에 대해서 알아보겠습니다. 📢 LWLock:BufferMapping, LWLock:BufferContent에서 LWLock은 Wait Event Type을 나타내며 BufferMapping과 BufferContent는 Wait Event Name을 가리킵니다.  LWLock:BufferMapping프로세스가 Hash Table에 대한 BufferMapping Lock 획득을 대기할 때 LWLock:BufferMapping이라는 Wait Event가 발생됩니다.동일한 Hash Table 영역에 .. 2024. 11. 27.
DB 인사이드 | PWI - Shared Buffer > 동작원리 지금까지 PostgreSQL의 Lock에 대해서 알아보았습니다.이어서 PostgreSQL을 구성하는 각각의 내부 아키텍처와 주요 메커니즘을 우선 이해하고, 그 과정에서 나타나는 Wait Event의 발생 원인과 해결 방안에 대해 살펴보겠습니다. 첫 번째 주제로 PostgreSQL의 Shared Buffer에 대해서 알아보고 그와 관련된 Wait Event는 어떤 것이 있는지 알아보겠습니다. Shared BufferShared Buffer는 모든 프로세스가 공유해서 사용하는 Shared Memory 내부에 위치하고 있으며, 데이터를 페이지 단위로 캐싱하여 I/O를 빠르게 처리하기 위한 목적으로 사용됩니다. 또한 Oracle의 Buffer Cache와 매우 유사하며 shared_buffers 파라미터를 통해.. 2024. 10. 25.
DB 인사이드 | MySQL Architecture - 6. InnoDB : In-Memory Structure 본 문서에서는 주요 스토리지 엔진인 InnoDB Architecture 중 In-Memory Structure에 대해 다루도록 하겠습니다.In-Memory Structure의 주요 구성 요소는 다음과 같으며, 각각 순서대로 알아보도록 하겠습니다.Buffer PoolChange BufferAdaptive Hash IndexLog Buffer Buffer PoolInnoDB Buffer Pool은 테이블 및 인덱스 Data의 캐싱을 목적으로 하는 메인 메모리 영역입니다. Buffer Pool에는 테이블 및 인덱스 Data 뿐만 아니라 아래 그림과 같이 다양한 유형의 Data 역시 캐싱되며 Buffer Pool List를 이용하여 목록을 관리합니다.Buffer Pool을 사용하면 자주 사용하는 Data는 메모.. 2022. 7. 27.
DB 인사이드 | MySQL Architecture - 4. Memory MySQL은 Database 작업 성능을 향상하기 위한 다양한 메모리 영역을 갖고 있으며, 각 영역의 값을 변경하여 MySQL 성능을 향상할 수 있습니다. 이러한 메모리 영역은 스토리지 엔진 또는 사용 중인 기능에 따라 다르지만, 일반적으로 공유 가능 여부를 기준으로 Global Memory와 Local Memory 영역으로 구분할 수 있습니다. Global MemoryGlobal Memory 영역이란 Client Thread 수와 무관하게 공통으로 사용되는 하나의 메모리 공간을 의미합니다. 단, 필요에 따라 2개 이상의 공간을 할당받을 수도 있지만 생성된 영역이 2개 이상이어도 모든 Thread에서 공유 가능합니다.Global Memory 영역은 MySQL Server가 시작될 때 운영체제로부터 할당되.. 2022. 6. 30.