강의를 들으며 내가 알고 있는 내용을 점검하고,
새로 배운 내용을 정리하며,
궁금한 내용을 알아가며 학습해나가는 것을 목표로 합니다.
가장 대중적인 관계형 데이터베이스 중 하나인 MySQL에 대해 알아봅시다!
MySQL은 스웨덴 회사였던 MySQL AB에 의해 1995년 개발된 오픈소스 관계형 데이터베이스입니다.
2008년 썬 마이크로 시스템이 인수, 그 후 2009년 오라클이 썬을 인수하며 유료화 여부가 쟁점이 되었습니다.
2010년 MySQL의 처음 개발자였던 Monty가 MySQL과 호환이 되는 MariaDB라는 오픈 소스를 개발합니다.
한동안 웹 개발 표준 기술 스택 LAMP중 하나였고, 지금도 Postgres와 함께 가장 널리 쓰이는 관계형 데이터베이스입니다. 서버 한대로 데이터베이스를 구성하는 특징이 있습니다.
용량 증대 방식(Scaling) 방식
클라우드란? 컴퓨팅 자원(하드웨어와 소프트웨어 등등)을 네트워크를 통해 서비스 형태로 제공하는 것!
자원을 필요한만큼 실시간으로 할당하고 사용한 만큼 사용자가 지불하는 방식입니다.
그렇기 때문에 사용자는 탄력적으로 필요한만큼만 자원을 유지하는 것이 중요합니다.
서버, 네트워크, 스토리지 구매와 설정을 직접 수행해야하고 데이터센터 공간을 직접 확보해야합니다.
확장이 필요할 경우 공간을 추가로 확보해야할 수도 있습니다.
그 공간에 서버를 구매하여 설치하고 네트워크 설정을 진행해야하고 peak time을 기준으로 capacity planning을 해야합니다.
대표적인 클라우딩 컴퓨팅 서비스 업체로 AWS(Amazon Web Service)가 있습니다.
AWS는 2002년 아마존 상품데이터를 API로 제공하면서 시작되었습니다.
AWS의 서버 호스팅 서비스
AWS의 대용량 클라우드 스토리지 서비스
소프트웨어를 다른 OS에 설치하려면 다양한 변수가 존재합니다.
설치 과정이 운영체제의 버전이나 종류에 따라 달라지게 되는 것입니다.
또 설치 과정에서 다양한 다수의 다른 소프트웨어의 설치가 동반되는 것이 일반적입니다.
docker는 특정 프로그램과 그 프로그램을 실행하는데 필요한 소프트웨어들을
하나의 패키지로 만들어 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼입니다.
Containerization
도커 엔진위에 컨테이너들을 올려서 일종의 가상환경과 비슷하게 구현합니다.
[M1 MAC] M1 Mac에서 docker로 mysql 설치하기
CREATE TABLE channel (
id int not null auto_increment,
channel varchar(32) not null
primary key(id)
);
primary key를 마지막에 설정할 경우 composite primary key 형태로 사용 가능합니다.
CREATE TABLE session (
id int not null auto_increment primary key,
user_id int not null,
create timestamp not null default current_timestamp,
channel id int not null,
foreign key(channel_id) references channel(id)
)