DB 인사이드 | PostgreSQL Data Alignment - Use Case DB 인사이드 | PostgreSQL Data Alignment - Introduction에 이어 본 문서에서는 실제로 Data Alignment을 위한 Column 위치 최적화 과정을 기술하며, 그 결과 스토리지 사용량 변화를 확인해 보겠습니다. 1. 데이터 정렬을 위한 Column 위치 최적화데이터 정렬을 위한 Column 위치 최적화는 불필요한 패딩(Padding) 사용을 감소시켜 공간 낭비를 최소화하고 검색 성능 향상에 목적이 있습니다. pg_type Catalog의 typalign과 typlen을 활용하여 최적화된 Column 위치를 지정할 수 있습니다. Column 정렬 규칙Column 정렬은 고정 크기의 Data Type을 먼저 배치한 후 가변 크기의 Data Type을 배치합니다.고정 크기.. 2025. 3. 25. DB 인사이드 | PostgreSQL Data Alignment - Introduction 일반적으로 DBMS에서 테이블을 생성할 때 Column의 순서에 대한 고려는 크게 하지 않을 것입니다. 하지만, Column의 순서가 스토리지나 성능에 영향을 미친다면, Column의 순서를 고려해 볼 수 있을 것입니다. PostgreSQL은 데이터를 정렬하여 연속적으로 저장하기 때문에 Column의 순서가 스토리지나 성능에 영향을 미칠 수 있습니다. 상황에 따라 미치는 영향이 미비하여 무시할 수도 있고, Column의 수가 많거나 데이터가 많은 경우 미치는 영향이 커서 Column 순서를 고려해 볼 수 있습니다.본 문서에서는 PostgreSQL에서 Column 순서를 고려해야 하는 이유와 Column 순서에 따른 데이터 정렬 과정, 이를 통한 테이블을 최적화하는 방법을 테스트를 통해 설명합니다.📢 본.. 2025. 3. 25. DB 인사이드 | PWI - WAL Buffer > Wait Event 앞서 WAL Record를 생성하고, 그 WAL Record를 WAL Buffer에 저장하는 과정에 대해서 살펴보았습니다.이번에는 WAL Record를 WAL Buffer에 저장하는 과정에서 발생할 수 있는 대표적인 Wait Event인 LWLock:WALInsert와 LWLock:WALBufMapping에 대해서 알아보겠습니다.📢 LWLock:WALInsert, LWLock:WALBufMapping에서 LWLock은 Event Type을 나타내며 WALInsert과 WALBufMapping는 Wait Event명을 가리킵니다. LWLock:WALInsertLWLock:WALInsert는 프로세스가 WAL Record를 WAL Buffer에 저장하기 위해 필요한 WALInsertLock* 획득을 대기할.. 2025. 2. 11. DB 인사이드 | PWI - WAL Buffer > WAL Record 저장 이전 글에서 Shared Buffer의 동작원리와 그와 관련된 Wait Event에 대해서 살펴보았습니다.이어서 PostgreSQL의 WAL Buffer에 대해서 알아보고, WAL Buffer에 로그를 저장하는 과정에서 발생하는 Wait Event를 설명하겠습니다. WAL BufferPostgreSQL에서는 WAL* 기법을 사용하여 데이터 변경 사항에 대한 로그를 생성된 시점에 따라 순차적으로 WAL Buffer에 저장합니다. Shared Buffer와 마찬가지로, WAL Buffer도 모든 프로세스가 공유해서 사용하는 Shared Memory 내부에 위치하고 있습니다.📢 WAL Buffer는 Oracle의 Redo Buffer와 매우 유사하며, wal_buffers 파라미터를 통해 사이즈를 설정할 수.. 2025. 2. 10. DB 인사이드 | PostgreSQL New Feature - 17 Release (4) PostgreSQL New Feature는 시리즈로 구성됩니다.PostgreSQL 17 주요 기능 설명과 파라미터, 시스템 카탈로그 변화PostgreSQL 17 추가, 개선 기능PostgreSQL 17 Vacuum 성능 향상PostgreSQL 17 증분백업(Incremental Backup)본 문서에서는 증분 백업 수행/복구하는 방법을 설명한 후, 증분 백업을 위한 WAL Summary 기능에 대한 내용을 기술합니다. 증분 백업(Incremental Backup)증분 백업을 지원하지 않았던 PostgreSQL 16 까지는 데이터베이스 전체 백업을 기본으로 백업을 수행하였습니다. 따라서, 백업 수행할 때마다 데이터베이스 크기만큼의 백업 파일이 생성되었습니다. 또한, 백업 이후의 데이터를 복구하기 위하여.. 2025. 1. 16. DB 인사이드 | PostgreSQL New Feature - 17 Release (3) PostgreSQL New Feature는 시리즈로 구성됩니다.PostgreSQL 17 주요 기능 설명과 파라미터, 시스템 카탈로그 변화PostgreSQL 17 추가, 개선 기능PostgreSQL 17 Vacuum 성능 향상PostgreSQL 17 증분백업(Incremental Backup)본 문서에서는 PostgreSQL 17에서 Vacuum 성능 향상에 대한 내용을 기술합니다. Vacuum 성능 향상PostgreSQL 16 버전까지는 구현상의 이유로 maintenance_work_mem 또는 autovacuum_work_mem설정 값을 크게 설정하더라도 Vacuum 수행 시 최대 1GB까지만 메모리를 사용할 수 있었습니다. 이로 인해 처리해야 할 Dead Tuple을 기억할 메모리 영역이 부족해져 .. 2024. 12. 30. DB 인사이드 | PostgreSQL New Feature - 17 Release (2) 2024년 9월 28일 PostgreSQL Global Development Group은 최신 버전의 PostgreSQL 17을 출시하였습니다. PostgreSQL 17 출시에 따른 주요 기능을 소개합니다.📢 PostgreSQL 릴리즈 현황은 DB 인사이드 | PostgreSQL Setup - Version & Utility에서 확인할 수 있습니다. PostgreSQL New Feature는 시리즈로 구성됩니다.PostgreSQL 17 주요 기능 설명과 파라미터, 시스템 카탈로그 변화PostgreSQL 17 추가, 개선 기능PostgreSQL 17 Vacuum 성능 향상PostgreSQL 17 증분백업(Incremental Backup) 본 문서에서는 PostgreSQL 17에서 추가, 개선된 내용을.. 2024. 12. 30. DB 인사이드 | PostgreSQL New Feature - 17 Release (1) 2024년 9월 28일 PostgreSQL Global Development Group은 최신 버전의 PostgreSQL 17을 출시하였습니다. PostgreSQL 17 출시에 따른 주요 기능을 소개합니다.📢 PostgreSQL 릴리즈 현황은 DB 인사이드 | PostgreSQL Setup - Version & Utility에서 확인할 수 있습니다. PostgreSQL New Feature는 시리즈로 구성됩니다.PostgreSQL 17 주요 기능 설명과 파라미터, 시스템 카탈로그 변화PostgreSQL 17 추가, 개선 기능PostgreSQL 17 Vacuum 성능 향상PostgreSQL 17 증분백업(Incremental Backup) 본 문서에서는 PostgreSQL 17의 주요 기능을 나열한 후.. 2024. 12. 30. 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. 이전 1 2 3 4 ··· 7 다음