Day7.MySQL
포스트
취소

Day7.MySQL

[DAY7] MySQL

1. MySQL


MySQL의 역사

  • 1995년, 스웨덴 회사였던 MySQL AB에 의해 개발된 관계형 데이터베이스
    • 시작은 오픈소스였다.
    • My는 개발자 중 한 사람의 딸 이름 이었다.
  • 2008년, 썬 마이크로시스템이 MySQL AB를 $1B을 주고 인수했다.
  • 2009년, 오라클이 썬을 인수하면서 MySQL의 유료화 여부가 쟁접이 되었다.
  • 2010년 MySQL의 처음 개발자였던 Monthy가 MySQL과 호환이 되는 MariaDB라는 오픈소스가 개발이 되었다.

MySQL의 종류와 버전

  • MariaDB
    • 오픈소스로 무료이다.
    • MySQL 5.5에 기반해서 개발되었다.
    • MySQL과 인터페이스는 동일하나 성능은 더 좋다.
  • MySQL
    • 두가지 종류가 존재한다.
      • MySQL Community Server : 오픈소스로 무료이다. 앞으로 사용해 공부할 예정이다.
      • MySQL Enterprise Server : 유료버전으로 다양한 플러그인이 제공된다.
    • 현재기준 8.0이 최신버전이다.

MySQL의 특징

  • 한동안은 웹개발 표준 기술 스택 중의 하니였다.
    • LAMP : Linux, Apache, MySQL, PHP
  • 지금도 Postgress와 함께 가장 널리 쓰이는 프로덕션용 관계형 데이터베이스이다.
  • 용량 증대 (Scaling) 방식
    • Scale-Up : 서버에 CPCU와 Memory 추가
    • Sacle-Out : Master-Slave 구성으로 클러스터 구성을 이야기하지만 MySQL은 이를 지원하지 못한다.

2. 클라우드


클라우드의 정의

컴퓨팅 자원 (하드웨어, 소프트웨어 등등)을 네트워크를 통해 서비스 형태로 제공하는 것이다.

  • 키워드 : “No Provisioning”, “Pay As you Go”
  • 자원(ex. 서버)을 필요한 만큼 실시간으로 할당하여 지불한다.
    (* 탄력적으로 필요한 만큼의 자원을 유지하는 것이 중요하다.)

클라우드 컴퓨팅이 없었다면?

  • 서버/네트워크/스토리지 구매와 설정 등을 직접 수행해야 한다.
  • 데이터셍터 공간을 직접 확보해야한다. (Co-location)
    • 확징이 필요한 경우 공간을 먼저 더 확보해야 한다.
  • 그 공간에 서버를 구매하여 설치하고 네트워크를 설정한다.
    • 보통 서버를 구매해서 설치하는데 적어도 두세달은 걸린다.
  • 또한 Peak time을 기준으로 Capacity planning을 해야한다.
    • 놀고 있는 자원들이 높게 되는 현상이 발생한다.
  • 직접 운영비용 vs 클라우드비용 : 기회비용!

클라우드 컴퓨팅의 장점

  • 초기 투자 비용이 크게 줄어든다.
    • CAPEX (Capital Expenditure) VS OPEX (Operating Expense)
  • 리소스 준비를 위한 대기시간이 감소한다.
    • Shorter Time to Market
  • 노는 리소스 제거로 비용이 감소한다.
  • 글로벌 확장이 용이하다.
  • 소프트웨어 개발시간이 단축된다.
    • Managed Servece (Saas) 이용

3. AWS


가장 큰 클라우드 컴퓨팅 서비스 업체

  • 2002년, 아마존의 상품데이터를 API로 제공하면서 시작되었다.
    • 현재 100여개의 서비스를 전세계 15개의 지역에서 제공하고 있다.
    • 대부분의 서비스들이 오픈소스 프로젝트들을 기반으로 한다.
    • 최근 들어 ML/AI 관련 서비스들도 내놓기 시작했다.
  • 사용대상
    • 다수의 상장업체들과 많은 국내 업체들도 사용을 시작하였다.
  • 다양한 종류의 소프트웨어/플랫폼 서비스를 제공한다.
    • AWS의 서비스만으로 쉽게 온라인서비스를 생성할 수 있다.

EC2 : Elastic Cloud Compute

AWS의 서버 호스팅 서비스로 다야한 종류의 서버 타입을 제공한다.

  • 리눅스나 윈도우 서버를 launch하고 로그인이 가능하다. (구글앱 엔진과의 가장 큰 차이)
  • 가상 서버들이라 전용서버에 비해 성능이 떨어진다.
  • Bare-metal 서버도 제공하기 시작했다.
  • http://aws.amazon.com/ec2/
  • 구매옵션
    1. On-Demand : 시간당 비용을 지불하는 것 (가장 흔하다.)
    2. Reserved : 1년, 3년간 사용을 보장하고 1/3 정도에서 40% 할인을 받는 옵션
    3. Spot Instance : 일종의 경매방식으로 놀고 있는 리소스들을 보다 싼 비용으로 사용할 수 있는 옵션
      (내가 사용하다가 더 높은 가격으로 누군가가 사용하면 사용할 수 없다. 임시방편으로 싸게 사용하는 용도)

S3 : Simple Storage Servicㄷ

아마존이 제공하는 대용량 클라우드 스토리지 서비스

  • http://aws.amazon.com/s3/
  • S3은 데이터 저장관리를 위해 계층적으로 구조를 제공한다.
  • 글로벌 네임스페이스를 제공하기 때문에 톱레벨 디렉토리 이름 선정에 주의해야한다.
  • S3에서는 디렉토리를 Bucket이라 부른다.
  • Bucket이나 파일별로 액세스 컨트롤이 가능하다.

AWS RDS

AWS가 제공해주는 다양한 관계형 데이터베이스 서비스

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Day6-2.SQL

Day8-1.MySQL 실습 (SELECT 편)

Comments powered by Disqus.