[2023.01.23 / CNU SW 아카데미] 실리콘밸리에서 날아온 데이터베이스2
MySQL 소개 및 설치
- 2. MySQL 소개/설치와 예제 데이터 소개
2.1 MySQL 소개
- 가장 인기있는 관계형 데이터베이스 : MySQL
- 시작은 오픈소스인데 지금은 유료버전도 있다.
- MariaDB
- 오픈 소스로 무료, MySQL 5.5 기반
- MySQL 과 인터페이스는 동일하나 성능은 더 좋음
- MySQL
MySQL 특징(1)
- 한동안 웹개발 표준 기술 스택 중의 하나였음
- LAMP : Linux, Apache, MySQL, PHP
- 지금도 Postgres와 함께 가장 널리 쓰이는 프로덕션용 관계형 데이터베이스
- 한 대 서버 솔루션이다
- Scale-Up : 서버 CPU에 메모리 추가
- Scale-Out : Master-Slave 구성 => MySQL 은 이를 지원하지 못함
읽기의 용량만 늘려줄 수 있다
2.2 클라우드/ AWS 소개
클라우드 컴퓨팅 소개, 가장 큰 클라우드 업체인 AWS 소개
- 클라우드란?
: 컴퓨팅 자원(하드웨어, 소프트웨어 등등)을 네트워크를 통해 서비스 형태로 제공하는 것
- No Provisioning
- Pay As You Go
- 자원(서버)을 필요한만큼 실시간으로 할당하여 사용한 만큼 지불한다.
=> 탄력적으로 필요한 만큼의 자원을 유지하는 것이 중요하다.
- 클라우드 컴퓨팅의 장점
- 초기 투자 비용이 크게 감소
CAPEX(Captial Expanditure) vs. OPEX(Operating Expense) - 리소스 준비를 위한 대기시간 대폭 감소
- 노는 리소스 제거로 비용 감소
- 글로벌 확장 용이
- 소프트웨어 개발 시간 단축, Managed Service(SaaS) 이용
AWS 소개
- 가장 큰 클라우드 컴퓨팅 서비스 업체
- 아마존의 상품데이터를 API로 제공하면서 시작
- 다양한 종류의 소프트웨어 / 플랫폼 서비스를 제공
- Database Services
- RDS(Relational Database Service)
- MySQL/MariaDB, PostgreSQL, Aurora
- Oracle, MS SQL Server
- DynamoDB
- Redshift
- ElastiCache
- Neptune(Graph database)
- ElasticSearch
- MongoDB
2.3 MySQL 설치 - Docker
Docker 소개와 MySQL 설치방법 소개
- Docker
: MySQL을 다른 OS에서 설치하려면 다양한 변수가 존재한다.
Docker는 특정 프로그램과 필요한 기타 소프트웨어들을 하나의 패키지로 만들어서 해당 프로그램의 개발과 사용을 도와주는 오픈 소스플랫폼이다.
Docker 구조 : Virtualization vs. Containerization
- Docker는 가상화랑 비슷하지만 구현 방법이 다르다.
- Docker Engine을 설치해야 한다.
- 원하는 image를 다운받고 Docker Engine
2.4 MySQL 설치 - AWS RDS
AWS RDS 소개, AWS RDS로 MySQL 설치 데모
AWS RDS란?
: AWS 가 제공해주는 다양한 관계형 데이터베이스 서비스
계정을 생성하고, 데이터 베이스를 생성해보자.
사양을 좋은 걸로 하지 않았는데도 한달에 20만원정도 비용을 지불해야 한다...
2.5 MySQL DDL과 예제 테이블 소개