CLAUD COMPUTERING

[클라우드 컴퓨터링] 빅데이터와 클라우드란?

ch010104 2025. 9. 7. 16:30

빅데이터(Big Data)란 무엇일까?

1. 빅데이터의 정의

  • 기존의 데이터베이스(DB)와 같은 전통적인 데이터 처리 소프트웨어로는 다루기 어려울 정도로 방대하고 복잡한 데이터 집합을 의미
  • 단순히 크기만 큰 것이 아니라, 정형화되지 않은 다양한 형태의 데이터를 포함하는 개념

2. 데이터는 어디서 오는가?

  • 2025년에는 전 세계적으로 매일 329만 테라바이트의 데이터가 생성될 것으로 추정
  • 이 엄청난 양의 데이터는 크게 세 가지 소스에서 비롯됨
  • 디지털 발자국:
    - SNS, 미디어, 전자상거래, 콘텐츠 플랫폼 등 우리가 온라인에서 활동하며 남기는 데이터
  • 기계 생성 데이터:
    - 스마트워치, 자동차 센서, 스마트 팩토리, 서버 로그 등 인간의 개입 없이 기기들이 자율적으로 생성하는 데이터
  • 비즈니스 및 사회 데이터:
    - 금융 거래, 기업 내부 시스템(ERP, CRM), 날씨나 교통 같은 공공 데이터

3. 빅데이터의 3대 요소: 3V

  • 규모 (Volume):
    - 데이터의 양이 과거의 기가바이트(GB)를 넘어 테라바이트(TB), 페타바이트(PB) 수준에 이름
    - 기존 파일 시스템이나 데이터 웨어하우스로는 감당하기 어려워 확장 가능한 분산 컴퓨팅 기술(예: Hadoop, Spark)이 필요

  • 속도 (Velocity):
    - 데이터가 주기적으로 쌓이는 것을 넘어, 실시간으로 끊임없이 생성되고 처리되어야 함
    - 실시간 처리(Real-time Processing)뿐만 아니라, 수집된 데이터를 분석하는 배치 처리(Batch Processing) 방식도 중요
  • 다양성 (Variety): 정형, 반정형, 비정형 데이터를 모두 포함
    • 정형 데이터: 고정된 필드에 저장된 데이터로, 기존 데이터베이스로 쉽게 처리할 수 있음
    •  
    • 반정형 데이터: JSON, XML처럼 메타데이터나 스키마를 포함하며, 폭발적으로 증가할 수 있어 기존 DB로 처리가 어려울 수 있음
    • 비정형 데이터: 사진, 영상, 음성, 메신저 대화 등 고정된 형태가 없는 데이터를 의미

  • 다양한 형태의 데이터를 다루기 위해, 최근에는 Polyglot Persistence라는 아키텍처가 주목받고 있음
  • 이는 하나의 시스템에서 여러 종류의 데이터베이스를 목적에 맞게 함께 사용하는 방식

클라우드 컴퓨팅(Cloud Computing)이란 무엇일까?

1. 클라우드 컴퓨팅의 정의

  • 각종 IT 자원(서버, 스토리지, 소프트웨어 등)을 직접 소유하는 대신, 인터넷을 통해 원격 플랫폼에 접속하여 필요할 때마다 빌려 쓰고 사용한 만큼만 비용을 지불하는 서비스 모델
  • 미국 국립표준기술연구소(NIST)는 클라우드 컴퓨팅을 다음과 같은 5가지 핵심 특징으로 정의
    • 주문형 셀프 서비스 (On-demand Self-service):
      - 사용자가 서비스 제공자의 개입 없이 직접 IT 자원을 할당하고 설정할 수 있음
    • 광범위한 네트워크 접속 (Broad Network Access):
      - 인터넷을 통해 노트북, 스마트폰 등 다양한 기기로 자원에 접근할 수 있음
    • 리소스 풀링 (Resource Pooling):
      - 제공자의 컴퓨팅 자원을 거대한 풀(Pool)로 만들어 여러 사용자에게 공동으로 할당
    • 신속한 탄력성 (Rapid Elasticity):
      - 사용자의 요구에 따라 자원의 양을 유연하고 신속하게 늘리거나 줄일 수 있음
    • 측정된 서비스 (Measured Service):
      - 자원 사용량을 모니터링하여 사용자가 쓴 만큼만 정확히 비용을 청구


2. 클라우드 서비스 모델: IaaS, PaaS, SaaS

  • 클라우드 서비스는 제공되는 자원의 수준에 따라 크게 세 가지로 나뉨
    • IaaS (Infrastructure-as-a-Service):
      - 서버, 스토리지, 네트워크 같은
      인프라(하드웨어) 자원을 빌려주는 서비스
      - Amazon의 EC2(서버 임대), S3(스토리지)가 대표적
      - is what IT departments use

    • PaaS (Platform-as-a-Service):
      - 애플리케이션을 개발하고 실행할 수 있는
      플랫폼과 환경을 제공하는 서비스
      - Google App Engine 등이 여기에 해당
      - is what Developers use

    • SaaS (Software-as-a-Service):
      - 클라우드 환경에서 동작하는
      완성된 소프트웨어를 서비스 형태로 제공하는 것
      - Google Workspace, Microsoft Office 365, Salesforce 등이 대표적인 예
      - is what You use

3. 클라우드 배포 모델: Public Cloud, Private Cloud, Hybrid Cloud

  • 클라우드는 운영 방식에 따라 다음과 같이 구분할 수 있음.
    • 퍼블릭 클라우드 (Public Cloud):
      - AWS, Google Cloud, Microsoft Azure와 같은 제3자 제공업체가 운영하는 클라우드
    • 프라이빗 클라우드 (Private Cloud):
      - 특정 조직이나 기업 내부 전용으로 구축하고 운영하는 클라우드 환경
    • 하이브리드 클라우드 (Hybrid Cloud):
      - 퍼블릭 클라우드와 프라이빗 클라우드를 연결하여 함께 사용하는 방식으로, 현재 많은 기업들이 채택하고 있음

4. 클라우드를 가능하게 하는 기술: 가상화(Virtualization)

  • 단일 물리 하드웨어에서 여러 개의 운영체제(OS)와 애플리케이션을 독립적으로 실행할 수 있게 하는 핵심 기술
    • 하이퍼바이저 기반 가상화:
      - 하이퍼바이저라는 소프트웨어가 하드웨어 위에서 각 가상 머신(VM)에 독립적인 Guest OS를 설치 및 구동하는 방식
      -
      예를 들어, 리눅스 OS가 설치된 컴퓨터에서 윈도우 OS를 가상 머신으로 실행 가능

  • 컨테이너 기반 가상화:
    - Guest OS 없이, 호스트 OS의 커널을 공유하며 애플리케이션을 격리된 공간(컨테이너)에서 실행
    - 하이퍼바이저 방식보다 가볍고 빠르지만, 호스트 OS와 동일한 종류의 OS 환경만 만들 수 있음예: 리눅스 위에서는 리눅스 컨테이너만 가능).