본문 바로가기

컴퓨터 이론/데이터베이스

[데이터 엔지니어링] 빅데이터 (Big Data) 란? _ 빅데이터3요소, 하둡, NoSQL

빅데이터란? 

  • 데이터 규모: 기존 데이터베이스 관리도구의 데이터 수집, 저장, 관리, 분석 역량을 넘어서는 데이터
  • 업무수행 방식: 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고, 빠른 수집과 분석을 지원하도록 고안된 차세대 기술 및 아키텍처

 

빅데이터의 3대요소 (3V)

  • 크기 Volume
    - 일반적으로 수십 테라바이트, 페타바이트 이상
    - 기존 저장 방식 및 분석 방식으로는 처리가 힘듦
    - 확장 가능한 방식으로 데이터를 저장하고 분석하는 분산 컴퓨팅 방식으로 접근 해야함 (GFS, 하둡)

 

  • 속도 Velocity
    - 실시간 처리 : 데이터의 수집, 저장, 분석이 실시간으로 처리
    - 장기적인 접근 : 데이터마이닝, 기계학습, 자연어처리, 패턴 인식 등

 

  • 다양성 Variety
    - 정형 : 고정된 필드에 저장되는 데이터, 일정한 형식
    - 반정형 : 고정된 필드로 저장되지는 않지만, XML이나 HTML 같이 데타데이터나 스키마 등
    - 비정형 : 고정된 필드에 저장되지 않는 데이터. 사진, 동영상, 메신저내용, 위치정보, 통화내용 등. 빅데이터는 비정형 데이터도 처리할 수 있어야 함. 

 

하둡이란? 

  • 하둡은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스 프레임워크

하둡의 역사

  • 2005년에 더그 커팅(Doug Cutting)이 구글이 논문으로 발표한 GFS(Google File System)와 맵리듀스(MapReduce)를 구현한 결과물
  • 처음에는 오픈소스 검색 엔진인 너치(Nutch)에 적용하기 위해 시작됐다가 이후 독립적인 프로젝트로 만들어졌고, 2008년에는 아파치 최상위 프로젝트로 승격되었음 
  • 하둡은 초기에 야후에서만 주도적으로 사용됐지만, 현재는 아마존, 이베이, 페이스북, 마이스페이스 등 글로벌 서비스 업체에서 주로 이용하며, 국내에서는 NHN, DAUM과 같은 포털 기업과 KT, SKT 같은 통신업체에서 사용함

특징

  • 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장하고, 분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리
  • 정형 데이터의 경우 기존 RDBMS에 저장할 수 있지만 웹 로그 같은 비정형 데이터를 RDBMS에 저장하기에는 데이터 크기가 너무 큼
  • 기존 RDBMS는 데이터가 저장된 서버에서 데이터를 처리하는 방식이지만, 하둡은 여러 대의 서버에 데이터를 저장하고, 데이터가 저장된 각 서버에서 동시에 데이터를 처리하는 방식임

장점

  • 저렴한 구축 비용비용 대비 빠른 데이터 처리, 장애를 대비한 특성
    - 오픈소스 프로젝트이기에 소프트웨어 라이선스 비용에 대한 부담이 없음
    -
    값비싼 유닉스 장비를 사용하지 않고, x86 CPU에 리눅스 서버면 얼마든지 설치하고 운영할 수 있음. 데이터 저장 용량이 부족할 경우, 필요한 만큼 리눅스 서버만 추가하면 됨
    - 데이터의 복제본을 저장하기 때문에 데이터의 유실이나 장애가 발생했을 때도 데이터의 복구가 가능


NoSQL이란?

  • NoSQL이란 관계형 데이터 모델과 SQL문을 사용하지 않는 데이터베이스 시스템 혹은 데이터 저장소

 

  • 기존 RDBMS가 분산 환경에 적합하지 않기 때문에 이를 극복하기 위해 NoSQL이 고안됨
  • NoSQL의 데이터베이스는 단순히 키와 값의 쌍으로만 이뤄져 있고, 인덱스와 데이터가 분리되어 별도로 운영됨.
    조인이 없으며, 샤딩(Sharding)이라는 기능을 이용해 데이터를 분할해서 다른 서버에 나눠 저장함
  • MongoDB, HBase, CouchDB, Casandra, Redis 등 다양한 NoSQL 솔루션이 출시되고 있음