본문 바로가기

반응형

개인공부

(206)
MySQL 쿼리 성능 진단 SQL 작성 해서 DB에 명령을 내리면 DB는 내부적으로 SQL 파싱(SQL 문법체크 미 DB를 실행 할 수 있는 형태로 변경) 그리고 옵티마이징을 거친후 데이터를 찾는다. 실제로는 SQL로 모든 조작이 일어나는게 아니라 DB 내부적으로도 빠르게 찾기위해 여러 방법을 사용한다. 쿼리 실행 계획 DB가 데이터를 찾아가는 일련의 과정을 사람이 알아보기 쉽게 DB 결과셋으로 보여주는 것이다. (기존의 쿼리를 튜닝할 수 있을 뿐만 아니라 성능 분석, 인덱스 전략 수립 등과 같이 성능 최적화에 대한 전박적인 업무를 처리) EXPLAIN [EXTENDED] SELECT .. FROM .. WHERE .. 이는 실제 DB에서 처리되는 최종 SQL 형태를 보여주기 위한 명령어 인데. warning이 하나 떠있다. 이때..
MySQL의 특징 서버 엔진 - Table Join, Group By, Order By와 같은 일반적인 SQL 처리부터 Function/Procedure, Trigger, Constraint 기능 - 사용자가 쿼리를 날렸을 때, DB가 SQL을 이해할 수 있도록 쿼리를 재구성함 스토리지 엔진 - 물리적인 저장장치에 데이터를 읽어오는 역할을 한다. - 플러그인 방식으로 동작한다. (여러개의 스토리지 엔진을 설치하여 사용할 수 있다) - 지금도 새로운 플러그인이 개발되고 있다. (그래서 다른 어떤 DBMS보다 강력하다고 할 수 있다.) MyISAM 스토리지 엔진 - MySQL에서 가장 오래된 스토리지 엔진 - 파일 기반 스토리지 엔진 (데이터에 대한 키, 즉 인덱스만 메모리에 올려서 처리한다.) - 트랜잭션을 지원하지 않고 ..
쿠버네티스 : 무작정 따라해보자. 초보자 / 듀토리얼 다음일 이용해서 로컬 환경에서의 쿠버네티스 실습을 위한 환경설정을 한다. aws있으면 그걸로한다. (하루에 천원정도 발생) https://redbinalgorithm.tistory.com/709 쿠버네티스 : minikube , kubelctl 로 시작해보기 실습 실제로 운영 환경에서 쿠버네티스를 적요하기 위해서는 최소 3대의 마스터 서버와 컨테이너 배포를 위한 N개의 노드서버 로드밸런서(프록시)가 필요합니다. 쿠버네티스 학습이 목표이기 redbinalgorithm.tistory.com 기본적인 명령어 minikube status minikube start minikube start --driver=hyperkit minikube ip minikube stop minikube delete 일단 아무거나 ..
쿠버네티스 : minikube , kubelctl 로 시작해보기 실습 실제로 운영 환경에서 쿠버네티스를 적요하기 위해서는 최소 3대의 마스터 서버와 컨테이너 배포를 위한 N개의 노드서버 로드밸런서(프록시)가 필요합니다. 쿠버네티스 학습이 목표이기 때문에 운영환경은 제외하고 개발환경에서의 쿠버네티스 위주로학습합니다. 이러한 환경을 구성하기 어려우므로 minkube를 이용해서 환경을 조성합니다. minikube 필요한 프로그램 설치 brew install minikube brew install hyperkit 실습을 위해서 하이퍼킷을 사용한다. start하면 쿠버네티스를 설치한다. (stop한거 있으면 이전 요청부터 시작한다.) minikube start --driver=hyperkit 실습 끝나면 중지합시다. minikube stop 접속하는 명령어 minikube s..
YAML 문법 들여쓰기 (indent) key : value key 다음 value는 한칸 띄어야한다. person: name: Jm.hong job: Developer skills: - docker - kubernetes 배열 person: name: jm.hong job: Dveloper skills: - docekr - kubernetes 참 거짓 (다양하게 지원한다.) stduy_hard: yes give_up: no hello: True world: TRUE manual: false 숫자 정수 또는 실수를 따옴표(")없이 사용하면 실수로 인지합니다. version: 1.2 version: "1.2" 줄바꿈 (newline) 여러 줄을 표현하는 방법입니다. "|" 지시어는 마지막 줄바꿈이 포함 newlines_..
Server 용어정리 아래는 신입이 서버쪽에서 회의를 하면서 용어정리가 명확히 되지않아서 정리하는 내용입니다. [ 리플리케이션 ] - 여러 개의 DB를 권한에 따라 수직적인 구조(Master-Slave)로 구축하는 방식이다. 리플리케이션에서 Master Node는 쓰기 작업 만을 처리하며 Slave Node는 읽기 작업만을 처리한다. 비동기 방식으로 노드를 간의 데이터를 동기화한다. 1. Master 노드에 쓰기 트랜잭션이 수행 2. Master 노드는 데이터를 저장하고 트랜잭션에 대한 로그를 파일에 기록(BIN LOG) 3. Slave 노드의 IO Thread는 Master 노드의 로그 파일(BIN LOG)를 파일(Replay LOG)에 복사한다. 4. Slave 노드의 SQL Thread는 파일(Replay Log)를 한..
Docker: 호스트 볼륨 호스트 볼륨 : 도커 컨테이너를 생성하고 휘발성이 아닌 비휠발성으로 DB를 다루는 법 .. 도커컨테이너를 생성하고 지우면 설정한 DB는 사라진다. 따라서 host 디렉토리와 연결해서 사용해야한다. docker run -d \ --name wordpressdb_hostvolume \ -e MYSQL_ROOT_PASSWORD=password \ -e MYSQL_DATABASE=wordpress \ -v /home/wordpress_db:/var/lib/mysql \ mysql:5.7 docker run -d \ -e WORDPRESS_DB_PASSWORD=password \ --name wordpress_hostvolume \ --link wordpressdb_hostvolume:mysql \ -p 80 \..
Docker: 기본 명령어 정리 도커 = 이미지 + 컨테이너 도커에서 사용되는 이미지의 이름은 기본적으로 [저장소 이름]/[이미지 이름]:[태그]의 형태로 구성됩니다. ex) alicek106/ubuntu:14.04 ex) ubuntu:latest 저장소 일므은 이미지가 저장된 장소를 의미합니다. (도커허브, 공식) 이미지 이름은 해당 이미지가 어떤 역할을 하는지 나타냅니다. 태그는 이미지의 관리, 혹은 리버전 관리에 사용합니다. (입력하지 않으면 latest라고 인지하기도함) 실행 docker run -i -t ubuntu:14.04 리얼 종료 exit Ctrl + D 중지하지 않고 뒤로가기 Ctrl + P, Q pull docker pull [이미지이름] images 확인 docker images 컨테이너 생성 sudo docker..

반응형