전체 글 85

JOIN에 대하여

JOIN은 여러 테이블을 결합하여 데이터를 조회할 때 사용하는 SQL 연산이다. 기본적으로 여러 테이블을 함께 사용해 데이터를 처리하겠다는 의미로, 데이터베이스에서 테이블 간의 관계를 정의하고 그 관계를 기반으로 데이터를 조회하는 방식이다. 이 과정에서 테이블 간의 연결 고리를 통해 필요한 정보를 하나의 결과로 묶어내기 때문에, 복잡한 쿼리를 처리할 수 있다. JOIN의 핵심은 여러 테이블을 결합하여 데이터를 처리하는 데 있다. 예를 들어, 고객 정보가 저장된 테이블과 주문 정보가 저장된 테이블을 결합하여, 각 고객이 주문한 상품을 함께 조회하고 싶을 때 JOIN을 사용한다. 이 과정에서 데이터베이스는 두 테이블을 결합하여, 각 고객의 주문 정보를 조회할 수 있는 쿼리를 실행하게 된다. JOIN에는 다양..

DBA의 길 2024.10.13

Postgres - PG Architecture and Process

한달전 회사에서 postgres의 구조에 대해서 살펴보고 간단하게 설명해보는 시간을 가졌다. 알아도 아는 게 아닌것같은 묘한 IT 세계 정답은 기록뿐 그동안의 공부한것들을 다시한번 가벼운 마음으로 회상해보도록 하자  아래의 사진은 기존에 인터넷에서 돌아다니는 사진을 가져와봤는데   흠 마음에 들지않아 내가 임의로 그려보았다.  postmaster 는 client의 요청을 받을때마다 자신을 pork하여 postgres daemon을 생성한다. 이 daemon의 백그라운드 프로세스들(BG writer , Wal Writer , Check pointer , Archiver , Vacuum launcher , Logger ... ETC)  1. BG Writer (Back Ground Writer) - 버퍼 캐..

DBA의 길 2024.10.13

[Ansible] Ansible playbook을 이용하여 rhel7에서 wordpress 서버 가동하기!

오늘은 남이 작성한 playbook을 다운로드하여서 내가 원하는 용도에 맞게 수정하여 사용하는 방법을 실습해볼 것이다. 엔지니어로써 playbook을 작성하는 방법은 어느 정도 알지만 처음부터 온전히 작성하기란 쉽지가 않은 법이다. 따라서 오픈소스나 다른 사람이 잘 작성해놓은 혹은 뼈대를 갖춰놓은 구조를 갖다가 쓰는 방법을 사용하여 wordpress서버를 띄워보자 사실 이와 같은 방법도 playbook 지식과 리눅스에서 wordpress서버를 띄워본 경험들이 있어야 가능한 것이다! 결코 쉬운 방법은 아니라는 것 기본 환경설정 control node와 managed node 설정을 모른다면 아래를 참고하자 https://griffithh.tistory.com/107?category=985975 [Ansib..

Python & Automation 2022.02.28

[Ansible] 본격! Playbook 개념의 이해 그리고 공유폴더

본 포스팅에서 사용하는 실습컴퓨터(control node)는 다음 게시물에서 설정한 control node입니다. https://griffithh.tistory.com/107 [Ansible] Control node & Managed node 설치 및 ssh 접속 Ansible 실습환경 구성 virtualBox 를 이용한 가상 환경 Virtual Machine CPU : dual core memory : 2GB 제어 노드 구성 필수요소 ★ sshd 활성화 python 3.x 버전 interpreter 설치 pip 패키지 설치 Control node.. griffithh.tistory.com Playbook 헌터x헌터 라는 만화의 매력적인 악당 클로로 루실후르 는 특이한 능력을 갖고 있다. 바로 상대의 능..

Python & Automation 2022.02.24

[Ansible] Ansible 과 Docker 의 생명주기 (feat.playbook)

일반적인 Docker Application의 수명주기는 다음과 같다. 로컬 머신에 Docker image 생성 로컬 머신에서 Docker image를 registry(Docker hub)로 push registry에서 Docker image를 원격 호스트에서 get 시작시 container에 설정 정보를 전달하여 원격 호스트에서 Docker container를 시작한다. Ansible을 이용한 Docker Application 수명 주기는 다음과 같다. Docker image를 생성할 수 있는 Ansible playbook 작성 docker_image module 로컬 머신에서 Docker image를 생성하기 위해 playbook실행 로컬 머신에서 Docker image를 registry에 push d..

Python & Automation 2022.02.24

[Ansible] Ansible을 이용한 AWS instance 설정 관리 - 1

내가 AWS 관리 콘솔에 들어가지 않고 Ansible playbook을 이용하여 EC2 instance의 생성등을 관리할 수 있다. Ansible을 이용한 AWS EC2 제어 환경 세팅 1) AWS boto library 설치 Python 환경에 설치하여 AWS Service를 제어할 수 있다. https://boto3.amazonaws.com/v1/documentation/api/latest/index.html Boto3 documentation — Boto3 Docs 1.21.4 documentation You use the AWS SDK for Python (Boto3) to create, configure, and manage AWS services, such as Amazon Elastic Co..

Python & Automation 2022.02.24

[Ansible] Ansible의 환경설정 및 ad-hoc 명령

https://griffithh.tistory.com/107?category=985975 [Ansible] Control node & Managed node 설치 및 ssh 접속 Ansible 실습환경 구성 virtualBox 를 이용한 가상 환경 Virtual Machine CPU : dual core memory : 2GB 제어 노드 구성 필수요소 ★ sshd 활성화 python 3.x 버전 interpreter 설치 pip 패키지 설치 Control node.. griffithh.tistory.com 지난 포스팅에서는 컨트롤 노드에서 매니지드 노드로 ssh 접속까지만 진행하고 말았다. 오늘은 컨트롤 노드에서 매니지드 노드로 adhoc명령과 playbook을 이용하여 여러 가지 명령도 내려보고 설정도..

Python & Automation 2022.02.18

[Ansible] 오류 정리 , command-line: line 0: Bad configuration option:

오류메세지 : command-line: line 0: Bad configuration option: controlnaster Ansible을 다루다 위와같은 메세지를 접했다면 /etc/ansible/ansible.cfg 에서 설정값이 잘못되었다는 오류일 가능성이 높다. 예를 들어 오타라던지 값이 잘못입력되었다던지 같이 공부하시는 분께서 맞딱드린 오류인데 그분께서는 /etc/ansible.cfg에서 controlnaster 라고 오타를 내셔서 위와같은 오류메세지를 받았다.

Python & Automation 2022.02.15

[Ansible] Control node & Managed node 설치 및 ssh 접속

Ansible 실습환경 구성 virtualBox 를 이용한 가상 환경 Virtual Machine CPU : dual core memory : 2GB 제어 노드 구성 필수요소 ★ sshd 활성화 python 3.x 버전 interpreter 설치 pip 패키지 설치 Control node 를 구성하기 위한 ubuntu 배포판 설치 및 설정 ubuntu 설치에 대해서는 따로 다루지 않겠다 특별히 주의할것은 없고 네트워크 설정에서 네트워크 브리지로 설정해주자 우분투 설치가 완료되면 다음과 같이 명령어를 입력해준다. sudo apt-get install openssh-server curl vim tree # ssh daemon 설치 # curl : text browser # vim : 확장 vi # tree ..

Python & Automation 2022.02.15

[Ansible] 환경 구성 자동화를 위한 Ansible

Ansible 개요 기존에는 서버 환경을 구성하기 위하여 shell script를 사용하였다. script방식이란 CLI(Command Line Interface) 환경에서 사용하는 방식이다. 하지만 shell script를 이용하여 여러 개의 서버를 관리할 경우 일관성을 유지하는 게 쉽지 않고 , shell script를 이용할 때 배포관리에 대한 문제점이 존재한다.(테스트 환경과 실제 구동환경이 100% 일치할 수 없기 때문에) 이러한 문제점들을 해결하기 위하여 나온 해결법 중 하나가 바로 Infrastructure ad a Code (IaC)이다. Infrastructure as a Code https://www.redhat.com/ko/topics/automation/what-is-infrastr..

Python & Automation 2022.02.14