August 10, 2021
MariaDB
MySQL
한동안 웹개발 표준 기술 스택 중의 하나였다.
용량 이슈 -> 용량 증대(Scaling) 방식
자원을 필요한만큼 (거의) 실시간으로 할당하여 사용한만큼 지불한다.
초기 투자 비용이 크게 줄어든다.
소프트웨어 개발 시간이 단축된다.
가장 큰 클라우드 컴퓨팅 서비스 업체
AWS의 서버 호스팅 서비스
특정 프로그램과 (그 프로그램을 실행하는데) 필요한 기타 소프트웨어들을 하나의 패키지로 만듦으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼이다.
패키지를 먼저 파일 시스템 형태로 만드는데 이를 Docker Image라고 한다.
MySQL docker image 다운로드
다운로드 받은 이미지로 Docker container 실행
MySQL root 계정의 패스워드 찾기
MySQL shell 실행하기
세션 ID : 세션마다 부여되는 ID
이 정보를 기반으로 다양한 데이터 분석과 지표 설정이 가능하다.
prod 데이터베이스 (스타 스키마 형식의 데이터 모델링)
컬럼 | 타입 |
---|---|
id (primary key) | int |
user_id | int |
created | timestamp |
channel_id (foreign key) | int |
컬럼 | 타입 |
---|---|
id (primary key) | int |
channel | varcher(32) |
Primary key
Foreign key
NOT NULL
DEFAULT value
session 테이블
컬럼 | 타입 | 속성 |
---|---|---|
id | int | NOT NULL AUTO_INCREMENT PRIMARY KEY |
user_id | int | NOT NULL |
created | timestamp | NOT NULL DEFAULT CURRENT_TIMESTAMP |
channel_id | int | NOT NULL FOREIGN KEY |
channel 테이블
컬럼 | 타입 | 속성 |
---|---|---|
id | int | NOT NULL AUTO_INCREMENT PRIMARY KEY |
channel | varcher(32) | NOT NULL |
CREATE TABLE channel (
id int not null auto_increment primary key,
channel varchar(32) not null
);
-- composite primary key 지정이 가능하다.(범용적이다.)
CREATE TABLE channel (
id int not null auto_increment,
channel varchar(32) not null,
primary key(id)
);
CREATE TABLE session (
id int not null auto_increment primary key,
user_id int not null,
created timestamp not null default current_timestamp,
channel_id int not null,
foreign key(channel_id) references channel(id)
);