[TIL] W2D2

stella·2021년 8월 10일
0

[Day7]

mysql

mysql은 서버를 늘리는 방식으로 용량이슈를 해결할 수 없다!!(여러 컴퓨터에 분산될 수 없어서..)

따라서 2가지 방법으로 스케일링 한다!

(1) 스케일 아웃

Slave를 만들어 마스터 서버의 읽기 전용 복사본을 만들어내어 읽기의 용량을 늘려준다

장점:처리할 수 있는 데이터가 늘어나진 않지만 selct같은 읽기를 더많이 할 수 있다.
단점:레코드 추가나 값 변경등 쓰기 작업은 할 수 없다.

(2)

바로 필요하지 않은 데이터들을 다른 곳에 옮기는 방식으로 서버 이용량을 늘린다.

클라우드

기존에 서버컴퓨터 수가 많아지는 것을 보완하고, 투자비용을 줄이고 개발시간 단축을 할 수 있으며
놀고있는 자원들을 최소화 할 수 있다!(이전에는 피크타임을 기준으로 capcityplanning했기때문에 남는 자원이 많아진다)

mysql 설치 방법

(1) 도커

내가 설치하고 싶은 프로그램과 그에 필요한 다양한 것들로 이뤄진 패키지를 실행시켜주어 쉽게 설치하도록 해준다.

패키지-> 도커 이미지
도커 이미지 공유소-> 도커 허브
도커 이미지를 실행시킨것-> 도커 컨테이너(응용프로그램)

나의 운영체제 위에 도커엔진이라는 가상 시스템이 생기고
도커엔진 위에 소프트웨어를 패키지(도커이미지)로 만들어서 실행 시킨다.

ex) 도커 허브에서 mysql 도커 이미지를 받아 컨테이너에서 실행 시켜줌

<명령어>
도커 이미지 받기
docker pull mysql/mysql-server:8.0

컨테이너 생성
docker run --name=mysql_container --restart on-failure -d mysql/mysql-server:8.0

컨테이너 확인해보기
docker ps

패스워드 찾기
docker logs mysql_container 2>&1 | grep GENERATED

도커 컨테이너 안에서(docker exec) 명령어 실행
docker exec -it mysql_container mysql -uroot -p

(2) rds

테이블 필드의 중요 속성

다른 것들은 많이 사용해 봐서 익숙했는데 default value은 익숙하지 않았다..

default value

값이 지정이 되어있지 않으면 보통 null로 들어간다.

하지만 default value로 설정하면 지정되있지 않은 경우에 기본값으로 설정된다.
ex) timestamp 타입에서 속성을 current_timestamp으로 지정할 경우 현재 시간으로 설정된다.

DEFAULT CURRENT_TIMESTAMP
profile
뚠뚠뚠..

0개의 댓글