본문 바로가기

전체 글

(23)
PostgreSQL 파티션의 목적 및 프루닝 조건 글을 작성하기 전에 PostgreSQL은 버전에 따른 파티셔닝 구성의 발전이 이루어져 왔으며 11버전에 이르러서야 파티션 테이블의 장점이 도드라졌습니다. 파티셔닝에 대해서는 추후 포스팅에 상세하게 정리할 예정이지만, 파티션 구성의 목적 및 프루닝 조건에 특이점을 미리 포스팅에 정리하겠습니다. PostgreSQL 파티션의 목적 및 프루닝 조건 작성자가 운영하는 서버들에 대해서는 50GB 이상의 단일 테이블의 경우 파티션테이블로 전환을 검토하고 있다. 파티셔닝 구성의 제약조건은 분명히 있지만 장점이 많기 때문에 전환을 검토하는 것인데 이부분을 관리적 차원, 성능적 차원으로 정리하려고 한다. 관리적 차원의 파티셔닝의 장점 - 대용량 테이블을 파티션으로 전환함으로써 각각의 테이블에 대한 관리를 용이하게 함 - ..
데이터베이스 고가용성(High Availability) 글을 작성하기 전에 작성자는 PostgreSQL/EDB PAS를 주로 이용하고 있어 PostgreSQL/EPAS 관련 정보가 다른 DBMS 보다 많이 포함될 수 있습니다. PostgreSQL 고가용성 부분은 https://postgresql.kr/blog/postgresql_ha.html 페이지에서 추가적으로 확인이 가능하며 데이터베이스의 고가용성에 대해 정리해보겠습니다. 데이터베이스 고가용성(High Availability) 데이터베이스 고가용성이란 99.999%와 같이 수치 상으로 표현되기도 하지만, DB서버의 장애 상황에서 다운타임을 최소화 하기 위한 방안들을 가르키는 경우가 많다. 특히 데이터베이스의 경우 기업에서 필요한 데이터를 담고 있어 고가용성이 필수이기 때문에 다양한 방식, 다양한 솔루션이..
PostgreSQL Manual Vacuum Tuning 글을 작성하기 전에 Vacuum은 PostgreSQL의 MVCC 구현 방식으로 인해 필수적이며, 기본적으로 Manual Vacuum 외에 autovacuum process에 의해 수행됩니다.(off로 설정되어 있어도 autovacuum_freeze_max_age가 넘어서게 되면 자동 수행) 그러나 작성자가 운영하는 서비스에서는 autovacuum parameter 변경을 통해서 빈공간회수와 Transaction ID Wraparound(TXID 겹침)이 해결 되지 않아 manual Vacuum 을 수행하였는데 그로 인한 Vacuum의 부하와 그를 줄이는 방법에 대해 정리하겠습니다. 추후 Vacuum 장애 History 포스팅에 해당 포스팅을 링크로 달아 놓겠습니다. PostgreSQL Manual Vac..