본문 바로가기

Data12

[PostgreSQL] 데이터베이스 백업 (pg_dump, pg_dumpall, Filesystem 백업) 데이터베이스를 사용할 때 장애 발생 시 대응을 위하여 여유분을 별도로 저장해 두거나, 다른 서버로 이관을 할 때 백업을 많이 이용한다.  이번 글은 PostgreSQL에서의 백업에 대하여 알아볼 것이다.  Psql(PostgreSQL)의 가장 손쉬운 백업 방식으로는 3가지가 있다.※ pg_backrest나 pg_basebackup 및 PITR과 같은 방식도 존재하고 설정이 복잡해서 이번 글에서는 생략  해당 3가지 방식으로는 pg_dump와 pg_dumpall 그리고 Filesystem 백업이 있다.  순서대로 해당 방식들이 가지는 특징과 장단점에 대하여 알아볼 것이다.1. pg_dumppg_dump는 단일 데이터베이스 위주의 백업을 위해 사용되는 툴이다. 데이터베이스가 실행 중인 상태에서도 백업 가능하.. 2024. 11. 18.
[Debezium] 쿠버네티스 내 PostgreSQL Source Connector 구현 이번 글은 Debezium의 Source Connector와 Postgresql의 Logical Replication을 활용하여, 데이터베이스의 2개 테이블을Kafka로 복제하는 내용을 다뤄볼 것이다.    Kafka Connector로 크게 Source Connector와 Sink Connector가 있는데, Source Connector는 원천 데이터 소스를 카프카로 보내는 역할을, Sink Connector는 카프카에 저장된 데이터를 이관할 플랫폼으로 전송하는 역할을 한다.     위 사진에서 카프카를 기준으로 Data Source -> Kafka까지의 역할이 Source Connector의 역할이다.    https://debezium.io/documentation/reference/3.0/con.. 2024. 11. 8.
[Kafka] Producer의 최초 메시지 발행 지연 현상 사내에서 Kafka 클러스터를 구축하여 사용하던 중 특수한 현상을 발견하였다.  일정 시간이 지난 후 프로듀서에서 메시지를 발행을 하는데 새롭게 발행하는 첫 번째 메시지만 발행 시간이 상대적으로 오래 걸린다는 점을 알게 되었다.  첫 메시지 발행 시간이 오래 걸릴 때는 초단위까지 나오고 후속 메시지는 10ms 미만의 메시지가 발행되는 것을 확인하였고, 이와 관련된 정보를 찾아보았다.   https://stackoverflow.com/questions/64228639/why-kafka-producer-is-very-slow-on-first-message Why kafka producer is very slow on first message?I am using kafka producer to send pri.. 2024. 10. 23.
[PostgreSQL] Publication, Replication_slot 조회 및 삭제 PostgreSQL에서 데이터베이스 복제를 할 때 사용되는 Publication과 Replication_slot의 조회와 삭제와 관련된 명령어이다. 1. Publication 조회 및 삭제 -- psql -- 모든 publication 조회 select * from pg_publication; -- publication과 관련된 모든 테이블 조회 select * from pg_publication_tables; -- publication 삭제 drop publication ; 2. Replication_slot 조회 및 삭제 -- psql -- 모든 replication_slot 조회 select * from pg_replication_slots; -- replication_slot 삭제 select p.. 2024. 4. 23.
[Kafka] Kafka가 빠른 이유 kafka 홈페이지 : https://kafka.apache.org/ Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org Apache Kafka는 최근 많은 회사에서 데이터 파이프라인의 중추적인 플랫폼으로 채택되어 이용되고 있다. 그 이유로는 많은 데이터를 신속하게 처리하는 성능, 폭넓은 확장성과 다양한 플러그인까지 지원하는것을 이유로 들 수 있다. 이번 글은 위 주제에서 카프카는 어떻게 신속하게 데이터를 처리할 수 있는지에 대하여 다뤄볼 것이다. 카프카는 공식 홈페이지에선 최저 2ms의 낮은 지연 대기 시간을 가진다고 소개하며, Confluent사의 자료를 토대로 하드웨어의 성능이 적절하게 충족할 때, 초당 처리량이.. 2024. 4. 19.
[PostgreSQL] Replication Slot 과거에는 복제 슬롯(Replication Slot)이 없을 때, 스트리밍 복제에서 원본(Master)은 복제(Slave)의 상태를 알지 못하였고, 이에 따라 WAL 세그먼트를 관리하는 것은 어려운 일이었다. 그로 인하여 아래와 같은 문제점이 발생하게 되었다. [예시] 마스터 서버에서 큰 트랜잭션이 일어나고 있고, 복제 서버가 정지 상태(시스템 패키지 업그레이드, 하드웨어 업그레이드 등의 이유) 일 때, 해당 복제 서버의 상태와 관계없이 마스터 서버에서는 트랜잭션을 마치고 체크포인트를 통과하면 트랜잭션 로그(WAL 세그먼트)를 제거를 하게 되는데, 정지된 복제 서버에서는, 복제본의 유지 관리가 중단되었기 때문에, 복제 지연이 크게 발생하여 재기동을 할 때, 아래 에러가 발생된다. LOG: started s.. 2024. 2. 16.