긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

전체 글 179

[PostgreSQL] Clustering 란 ?

Clustering 일반적으로 DB 구조를 보면, DB 서버와 스토리지가 하나씩 구성되어 있다. ​ 만약 서버가 제대로 동작하지 않으면 먹통이 된다. ​ 실시간으로 돌아가면서 데이터 손실을 방지하기 위해서 서버를 여러개로 구성 하는 것이다. 이때, DB서버는 서로 다른 인스턴스에서 동작한다. 이 경우 서버 두 대를 하나로 묶어 운영한다. ​ 두 서버 모두 Active 상태이다. 따라서 서버 한 대가 죽더라도 하나가 동작하고 있고 그동안 복구를 하여 서비스 중단이 없도록 할 수 있다. 또한, 하나의 DB 서버에 가해지던 부하도 나눠짐으로써 CPU와 Memory 부하도 줄어들게 되어 성능 및 유지보수가 향상된다. ​ 다만, 여러 개의 서버가 하나의 스토리지를 공유함으로써 병목현상이 발생한다. 이를 해결하기 ..

PostgreSQL 2023.04.19

[PostgreSQL] Unlogged Table 이란 ?

Unlogged Table A. UNLOGGED Table 이란? ​ 서버 충돌 후 데이터 일관성 또는 정합성이 문제가 되지 않거나 대용량 데이터 쓰기를 위해 당분간 데이터를 복구할 가능성이 없는 경우에 한해 성능 향상이 필요한 일회용 테이블을 처리하려는 경우, Unlogged Table 이 적합합니다. Unlogged Table은 2011 년 PostgreSQL 9.1에 도입되었으며 v9.5부터 alter 구문을 통하여 Unlogged Table, Logged Table 로 전환 사용이 가능합니다. WAL (Write-Ahead Logging ) 시스템은 Postgres를 안정적으로 만드는 주요 구성 요소입니다. WAL 은 이중화 상태일 경우 데이터 동기화에 필요하며 또한, 장애 조치를 위해 복제에 사..

PostgreSQL 2023.04.19

[PostgreSQL] 단일 사용자 모드 (single mode) 란 ?

단일 사용자 모드 ( Single Mode ) 1] 디버그 작업이나, 장애 복구 때 사용한다 2] 세션 사용자 ID를 1로 처리하며, 명령을 실행한 사용자가 슈퍼유저(관리자) 권한을 가진다. 3] 이 사용자는 다중 사용자 환경에서는 없는 사용자이며, 손상된 시스템 카탈로그를 수동으로 복구할 때 단일 사용자 모드로 실행할 수 있다. 4] 단일 사용자 모드에서는 자동 체크포인트나, 복제 같은 백그라운드 프로세스가 실행되지 않는다. [postgres@localhost data]$ postgres --help postgres is the PostgreSQL server. Usage: postgres [OPTION]... Options for single-user mode: --single selects sing..

PostgreSQL 2023.04.19

[PostgreSQL] postgres_fdw 설치 & 가이드

postgres_fdw Oracle DB-Link 처럼 물리적으로 떨어져 있는 데이터베이스를 사용하기 위한 Extension Postgresql은 DB Link 보안 취약점 타파를 위해 Oracle DB Link와 다르게 Link를 사용할 연동 테이블 별로 각각 Link 생성 전체 데이터베이스에 링크 생성 불가 extension 설치 create extension postgres_fdw; extension 조회 experdb=# \dx+ postgres_fdw Objects in extension "postgres_fdw" -[ RECORD 1 ]------+-------------------------------------------- Object description | foreign-data wra..

PostgreSQL 2023.04.12

[PostgreSQL] WAL (Write Ahead Log ) 개념과 특징

Write-Ahead Log Shipping Primary 서버의 WAL 내용을 Standby 서버로 옮겨 같은 상태를 유지하도록 하는 방식 Primary 서버의 장애가 발생하여 DBMS 가 중지되면 즉시 Standby 서버가 Primary 로 운영될 수 있다. Standby 와 같은 대기 서버를 구축하려면, WAL 내용을 대기 서버로 전달하는 방식이 2가지가 있다. - 파일 기반 로그 복사 ( 비동기 ) - Streaming Replication 방식 ( 동기,비동기 ) * 동기 - 데이터를 받는 방식에서 요청과 그 결과가 동시에 일어남, 결과가 주어질 때까지 다른 작업이 안되고 대기 상태 ( Sync ) 비동기 - 동시에 일어나지 않아서, 바로 결과가 나타나지 않음, 하지만 복잡함 ( Async ) ..

카테고리 없음 2023.04.03

[PostgreSQL] pg_dump 사용법 & 복구 절차

pg_dump 여러 데이터 센터에 걸쳐 복제 클러스터를 구축할 수 있지만, 우발적인 DELETE DROP 후에는 백업만이 해결책 이중화 구성이 백업을 대체할 수 없음. # 논리적(Logical) 백업 [1] pg_dump 사용 [2] 기본적으로 일반 텍스트 파일에 저장하지만, 압축된 tar파일로도 생성 할 수 있음 [3] 이 백업은 psql과 pg_restore를 사용하여 복원 ( SQL 내용을 쉽게 추출할 수 있음 ) [4] pg_dump --help pg_dump [OPTION] ... [DBNAME] g_dump dumps a database as a text file or to other formats. Usage: pg_dump [OPTION]... [DBNAME] General options:..

PostgreSQL 2023.04.03

[Postgresql] postgres 15 version 설치

PostgreSQL 15 Version 설치 가이드 공식 사이트 다운로드 : https://www.postgresql.org/download/linux/redhat/ [1] # Install the repository RPM: sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm [2] # Install PostgreSQL: sudo yum install -y postgresql15-server [rpm 종속성 에러 발생 시 ] yum install libicu-50.2-4.el7_7.x86_64 yum install postgresql15-..

PostgreSQL 2023.04.03

[PostgreSQL] Primary Key 설정 추가 생성

Primary Key 의 약어로 데이터베이스의 기본키를 의미한다. - 기본키는 후보키 중에서 특별히 선정된 키로 중복된 값을 가질 수 없다. - 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이다. - NULL 값이 있어서도 안된다. 1. PK 생성 [ 제약조건 이름 미생성 시 ] ALTER TABLE ADD PRIMARY KEY ; [ 제약조건 이름 생성 시 ] ALTER TABLE 테이블이름 ADD CONSTRAINT PRIMARY KEY () 2. PK 삭제 ALTER TABLE 테이블이름 DROP PRIMARY KEY;

PostgreSQL 2023.03.30

[Database] DR 이란? 재해복구(Disaster Recovery) 의 개념

재해복구(Disaster Recovery, 이하 DR) 최근 판교 데이터센터 화재로 인해 카카오 서비스 장애가 10시간 이상 이어지면서 데이터 재해 복구의 중요성이 크게 대두되었다. 재해복구(DR)는 예상치 못한 재해로부터 서비스 연속성을 유지하기 위한 보호 전략이다. 재해에는 지진, 태풍, 홍수, 화재 등의 자연재해를 비롯해 전쟁, 해킹, 통신장애, 전력공급차단 등 외부요인과 시스템 결함, 기계적 오류, 관리정책 오류 등 내부적 요인에 의한 장애를 모두 포함한다. DR센터는 운영방침에 따라 ▲미러사이트(1등급) ▲핫사이트(2등급) ▲웜사이트(3등급) ▲콜드사이트(4등급) 등으로 나뉘며, 클라우드 또는 온프레미스로 구축할 수 있다. 운영서버에서의 장애로 인해 복구가 불가능 또는 지연될 경우 실시간 Rep..

Database 2023.03.27