목록2025/02/13 (4)
내 잡다한 노트
pg_rewind는 PostgreSQL에 내장된 유틸리티로,실패한 이전 primary 서버의 데이터 디렉터리와 현재 새로운 primary 서버의 데이터 디렉터리 간의 차이를 계산하여,이전 primary 서버를 신속하게 동기화(리와인드)할 수 있도록 도와줍니다.주요 기능 및 사용 목적빠른 재동기화:기존 primary가 장애로 인해 다운된 후, 새로운 primary로 선출된 서버와 데이터가 약간씩 달라진 상태일 때,pg_rewind를 사용하면 전체 데이터베이스의 베이스백업을 다시 만드는 대신,변경된 부분만 빠르게 동기화할 수 있습니다.복구 효율성:데이터 복제 지연이나 장애 복구 시, 전체 클러스터를 재구성하는 시간과 리소스를 절약할 수 있습니다.클러스터 페일오버 후 복원:예를 들어, Patroni와 같은 H..
정의 : 통상적으로 시스템이 느려지거나 멈추는 현상을 Hang up 이라고 한다.Server Instance는 실행되고 있으나, 아무런 응답이 없는 상황을 말한다.비슷한 의미로 slowdown이 있다. server instance의 응답이 매우 느려지는 상태이다. 이런 현상들은 대부분이 network, user application, jvm, rdbms, web/was 중 하나 이상의 병목으로 인해서 발생한다. Hang up의 다양한 유형 1. Deadlockmulti thread 사용 시 공유 영역을 보호하기 위해 locking을 사용한다. 두 개 이상의 thread가 서로 lock을 잡고 기다리는 상태. 서로 lock이 풀리지 않고 무한정 대기하는 상태를 말한다. 2. JDBC로 인한 Server ..
patroni에서 YAML 파일은 클러스터의 동작과 각 노드의 역할, postgreSQL 서버의 설정 등을 정의하는 설정파일이다.YAML 파일에는 다음과 같은 항목들을 추가할 수 있다.클러스터 스코프 및 노드 식별scope: 클러스터의 이름이나 식별자를 지정합니다. 같은 스코프를 가진 노드들끼리 하나의 클러스터로 인식됩니다.name: 해당 노드의 고유 이름을 지정합니다.DCS (Distributed Configuration Store) 설정Patroni는 etcd, Consul, ZooKeeper 등 분산 구성 저장소를 이용해 리더 선출과 상태 공유를 수행합니다.해당 항목에서는 사용하는 DCS의 종류와 접속 정보(예: 호스트, 포트 등)를 설정합니다.REST API 설정Patroni는 상태 조회나 제어를..
1. 데이터베이스 관리자 (DBA, Database Administrator)주요 역할:설치 및 구성: 데이터베이스 서버 설치, 클러스터 구성, 초기 설정 등.운영 및 유지보수: 백업, 복구, 업그레이드, 모니터링 및 성능 튜닝.보안 관리: 접근 제어, 암호화, 취약점 점검 및 보안 정책 수립.문제 해결: 장애 발생 시 원인 분석 및 신속한 복구 작업. 2. 데이터베이스 개발자주요 역할:스키마 설계 및 모델링: ER 다이어그램 작성, 데이터 모델링, 정규화 작업.SQL 프로그래밍: 복잡한 쿼리 작성, 저장 프로시저, 트리거 개발.애플리케이션 연동: 데이터베이스와 애플리케이션 간의 인터페이스 구현 및 최적화.3. 데이터 엔지니어주요 역할:데이터 파이프라인 구축: ETL(Extract, Transform, ..