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

전체 글 179

1) Docker(도커)란?

1) Docker(도커)란? Docker(도커)는 어플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아두고, 그 이미지를 사용하여 다양한 환경에서 어플리케이션 실행환경을 구축 및 운용하기 위한 컨테이너 기반의 오픈소스 플랫폼입니다. 컨테이너라 하면 배에 싣는 네모난 화물 수송용 박스를 생각할 수 있는데 각각의 컨테이너 안에는 옷, 신발, 전자제품, 술 과일등 다양한 화물을 넣을 수 있고 규격화되어 컨테이너선이나 틀레이러등 다양한 운송수단으로 쉽게 옮길 수 있습니다. 서버에서 이야기하는 컨테이너도 이와 비슷한데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨..

Database 2022.11.09

2) Docker 설치 및 컨테이너 실행

도커 설치하기 도커는 리눅스 컨테이너 기술이므로 macOS나 windows에 설치할 경우 가상머신에 설치가 됩니다. 리눅스 컨테이너 말고 윈도우즈 컨테이너라는 것도 존재하지만 여기서는 다루지 않습니다. Linux 리눅스에 도커를 설치하는 방법은 자동 설치 스크립트를 이용하는 것이 가장 쉽습니다. 다음 명령어를 입력하면 root 권한을 요구하고 잠시 기다리면 설치가 완료됩니다. 음.. 참 쉽죠? curl -fsSL https://get.docker.com/ | sudo sh sudo 없이 사용하기 docker는 기본적으로 root권한이 필요합니다. root가 아닌 사용자가 sudo없이 사용하려면 해당 사용자를 docker그룹에 추가합니다. sudo usermod -aG docker $USER # 현재 접속..

Database 2022.11.09

CentOS에서 로그인 시 bash-4-2$ 가 나올때 해결법

CentOS에서 로그인 시 bash-4-2$ 가 나올때 해결법 리눅스에서 사용자 계정 변경중 bash-4.2$ 가 열렸다. 홈디렉토리에 설정파일이 잘못되어서 나오는 현상 홈디렉토리를 새로 만들거나 이미 있다면 홈 디렉토리에 가서 /etc/skel/ 안에 있는 설정파일들을 가져와서 홈디렉토리로 옮겨주자 ! /home/experdb 로 옮겨주자 cp /etc/skel/.b* /home/experdb 이후 정상적으로 변경되었다 !!

Database 2022.09.29

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

[2022년 09월 22일] 취업 및 입사 1주일 기념

그동안 취업준비로 인해 소홀히 했던 블로그 취업준비 및 면접을 위해 노력해온 결과 개발분야는 아니지만 DBA로써 성장할 수 있는 좋은 기회가 찾아와서 서울 여의도에 입사하여 근무하게 되었다. 대다수가 사용하는 Oracle 이 아닌 PostgreSQL을 배우고 있다. 무료 상용에다가 대량의 데이터를 유지 보수하는것에 있어서 대중화 및 상용성이 있다. 아직까지 국내에서는 인기가 없지만 점차 늘어나가고 있는 추세인것 같다. 앞으로 Database 및 PostgreSQL 에 대한 기술 블로그를 작성해나가겠습니다. 또한 Linux 및 OS 에 대해서도 꾸준히 공부하여 한층 더 성장해 나가겠습니다

일기장 2022.09.22

트랜젝션 ACID 란?

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

Database 2022.09.22