Vacuum 6

DBA를 위한 PostgreSQL 17 시스템 카탈로그 업데이트

작성자: 권기순 수석_DB R&D센터-Core OSS R&D팀  PostgreSQL(포스트그레SQL) 17 beta Release를 통해 우리는 아래 주된 기능들이 강화되었다는 것을 확인할 수 있다.VACUUM 성능 강화인덱스 알고리즘 강화를 통한 쿼리 최적화Logical Replication 기능 강화JSON이러한 업데이트 과정에서, 데이터베이스의 메타데이터를 저장하고 관리하는 데 사용되는 시스템 카탈로그(pg_catalog)도 일부 업데이트 되었다.이 글에서는 PG 17의 업데이트된 시스템 카탈로그에 대해 알아보고, PG16과 비교했을때 어떤 변화가 있는지, DBA입장에서 활용할 수 있는 것들이 무엇이 있는지 알아보도록 한다.What is System Catalog(pg_catalog)?그 전에 우리..

POSTGRESQL/단편 2024.07.22

누가 Vacuum을 방해하는가?

작성자: 이익구 이사- DB테크센터 -TSM그룹누가 Vacuum을 방해하는가?Postgresql 입문자라면 누구나 Vacuum이 중요하다는 것을 알고 있을 것이다.Vacuum은 dead tuples에 의해 차지하고 있는 disk space를 정리하여 table size가 쓸데없이 커지는 것을방지하며, 불필요한 block read를 줄이고 최신의 통계정보 갱신으로 보다 나은 실행계획을 세울수 있도록query optimizer에 도움을 주며 wraparound가 발생하는 것을 방지하도록 해 준다.“autovacuum=on으로 설정하면 모든게 자동으로 알아서 잘 처리해 주는거 아냐?” 라고 할 수도 있지만실상은 그렇지 않다.이 글에서는 autovacuum=on 운영하에서 dead tuples을 제대로 정리하지..

POSTGRESQL/단편 2024.06.17

PostgreSQL - Vacuum의 A to the Z

1. Intro PostgreSQL에서 Vacuum은 DB의 성능을 높이는 부분에 있어 매우 중요한 기능입니다. 또한 Vacuum은 MVCC를 구현하기위해 PostgreSQL에만 있는 개념이기에 그 차이점에 더 주목해야합니다. 우리는 Vacuum의 단어에서 짐작할 수 있듯이 DB를 ‘청소’를 한다는 의미와 일맥상통합니다. 더러워진 공간을 청소하여 새로운 공간을 만드는 것입니다. 한마디로 Vacuum은 디스크에서 불필요한 공간을 정리하여 용량을 성능을 높이는 작업을 말합니다. Vacuum에 대해 자세히 알기전에, DB의 MVCC개념을 먼저 이해해야 합니다. ​ ​ ​ 2.MVCC의 중요성 DB에 많은 사용자들이 접근한다고 하였을 때, 사용자들은 각각 데이터를 변경하거나 조회를 합니다. 이때 많은 작업들이 ..

POSTGRESQL 2023.08.29

Vacuum이해와 사용법

PostgreSQL에서 Vacuum을 이해하기 위해서는 Dead Tuple존재의미를 알아야 하며 Dead Tuple은 어떻게 해서 생기게 된 것인지 알아야 한다. PostgreSQL에는 여러 좋은 기능들이 많지만 Dead Tuple의 존재는 가장 아픈 곳이기도 하다. 아픈 곳을 Vacuum이라는 기능으로 최적화하며 고쳐 나가는 것이 중요하다. Vacuum을 잘 활용 하여 수집된 통계 정보로 최적의 쿼리 플랜을 유도 할 수도 있다. 이번 장에서는 Vacuum의 생겨난 배경부터 최적화까지 설명하면서 Vacuum을 좀더 쉽게 이해하고 관리방안을 찾도록 하는데 목적을 두고 있다. ​ [PostgreSQL에서 Vacuum 생겨난 배경] ​PostgreSQL에서 Dead Tuple이 생겨난 배경을 설명하기 위해서는..

POSTGRESQL 2023.08.28