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

db 3

Clustering 란?

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

Database 2022.09.26

[PostgreSQL] connection to server on socket /tmp/.s.pgsql.5432 failed connection refused 에러 해결법

PostgreSQL 을 사용하려 DB에 접속을 시도하던 도중 위와 같은 에러가 발생하였다. psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed 와 같은 문구처럼 PostgreSQL 의 local server가 실행되지 않았다 다양한 이유가 있지만 대부분 내부 프로세스 충돌(강제 종료,시스템 오류 등)로 인해 서버 오류발생으로 인한 에러로 파악되고 있다. 그래서 DB 서버 상태를 확인후 재접속을 시도하였다. 위와 같이 DB 서버가 작동되지 않았다 다음과같이 서버를 재작동 하였다. 결과는 성공적으로 서버가 재실행되었고 DB에 접속되었다 !!

PostgreSQL 2022.09.23

트랜젝션 ACID 란?

트랜젝션 ( Transaction ) DB 내에서 하나의 논리적 기능을 수행하기 위해 행해지는 작업의 단위 또는 한번에 사용되는 하나이상의 쿼리를 모아 놓은 쪼갤 수 없는 논리적인 작업 단위이다. ACID 란? A(Atomicity) 원자성 C(Consistency) 일관성 I(Isolatioin) 고립성 D(Durablility) 지속성 # 원자성 ○ 트랜젝션 내 모든 연산들은 반드시 완전하게 수행이 완료되거나 아니면 수행되지 않아야 한다. ( DB에 성공적으로 저장되거나 , 아예 실패하거나 ) # 일관성 ○ 트랜젝션 이전과 이후, DB 상태는 이전과 같이 유효해야한다. ( 트랜젝션이 일어난 이후의 DB는 DB의 제약이나 규칙을 일관성있게 만족해야 한다 ) # 격리성,고립성 ○ 트랜젝션 작업 수행 중에..

Database 2022.09.22