2014년 4월 4일 금요일

NoSQL 제 2 강

NoSQL 제 2 강

- 빅 데이터 란?

   빅데이터에 대한 정의가 명확하지는 않으나. 정리를 해보겠습니다.

   빅데이터는 기존의 데이터베이스 로 수집, 분석 , 관리 할 수 있는 역량을 넘어서는

   대량의 정형 또는 비정형 데이터를 분석하여 가치를 창출해 내는 기술이라고 보여집니다.

   즉, 쉽게 설명하여 "어질러져 있는 Data 더미 속에서 보석을 찾아낸다" 라는 의미로

   이해를 하면 좀 더 쉬울까요?

   그럼 BigData 의 3요소를 보도록 하겠습니다.

   빅데이터의 3요소는 Volume , Velocity , Variety 이렇게 3가지가 있는데요

   이 3가지 요소는 각각의 특징을 가지고 있습니다.



















1. Volume(크기)

   - 수십 테라바이트(terabyte) , 수십 페타바이트(petabyte) 이상이 해당함.
   - 기존 파일 시스템에 이러한 Data를 저장하기는 어려움
   - 기존 분석 솔루션에서 소화하기 어려울 정도로 데이터 양이 급증
   - 이러한 문제 해결을 위해서는 분산 컴퓨팅 기법으로 접근해야 함
   - 현재 존재하는 분산 컴퓨팅 솔루션은 GFS(Google File System) , 하둡 등이 있음

2. Velocity(속도)

   - 빅 데이터 속도의 특징은 실시간 처리와 장기적 접근 2가지로 존재
   - 오늘날 빠른 속도로 생성되는 SNS와 같은 Data들은 실시간 처리가 필요
   - 스마트폰 기기의 보급으로 Data에 대한 저장,분석 등이 실시간으로 처리되야함.
   - 수집된 대량의 Data를 분석하는 기술들도 필요함.
   - 데이터마이닝, 기계학습, 자연어처리 , 패턴인식 등이 분석 기법에 해당함

3. Variety(다양성)

   - 빅 데이터를 이루는 Data의 종류는 다양함
   - 빅 데이터는 비정형 데이터도 처리할 수 있는 능력을 갖춰야 함.

이 3대 요소를 모두 갖추었을 때 BigData 기술이라 할 수 있음

하둡이란?


그럼 빅 데이터를 소개 할 때 함께 소개되는 하둡에 대해서 한 번 살펴보자.

하둡의 시작..

- 하둡은 2005년에 더그 커팅과 마이크 케퍼렐라가 개발함
- 하둡은 오픈소스 웹 검색 엔진인 너치(Apache Nutch)에 적용하기 위해 시작
- 이후 독립적인 프로젝트로 만들어 짐
- 2008년에 아파치 최상위 프로젝트로 승격 됨
- 하둡은 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장
- 분산 처리 시스템인 맵리듀스를 이용해 Data를 처리

하둡..하둡?

- 하둡의 공식 사이트 : http://hadoop.apache.org/
- 하둡의 로고 : 노란 코끼리(별 의미 없다.. 지 아들이 갖고놀던 장난감 코끼리 이름이여..)
- 코끼리가 빅데이터를 상징하는 동물이 됨
- 2011년 야후에서 하둡을 지원하기 위해 기업의 이름을 지을 때도 동화에 나오는
   코끼리 이름을 따서 회사 이름을 지음.. 그것이 바로 호튼웍스(Hortonworks)!!!!

그럼 왜 하둡을 쓸까?

1. 오픈소스라 부담이 없다..(오픈소스 만세)

2. 분산 컴퓨팅 방식을 통해서 효율성을 높일 수 있다.


하둡의 발전 과정..

- 이 얘기를 하려면 구글 얘기를 안할 수가 없다..
- 구글은 2003년에 인터넷 서비스 기술을 강화하기 위해 개발한 GFS(Google File System)을
   발표
- 2004년에 맵리듀스를 발표한다.
- 오픈소스 검색 엔진 너치(Nutch)를 개발 중이던 더그 커팅과 마이크 캐퍼렐라는 
   구글 논문을 접한 이후 2005년에 이를 자바로 구현하기 시작.
- 이렇게 개발된 것이 하둡이며 , 너치의 하위 프로젝트 였다가 최상위로 올라간 것임

- 하둡은 보안 기능 강화와 서비스의 안정성 확보를 주요 발전 방향으로 삼아 왔음

하둡 정식 1.0 버전의 기능


1. 보안 기능 제공 
    - 하둡은 커베로스(Kerberos) 인증을 통해 네트워크 전체에 걸쳐 보안 확보가 가능

    ※ 커베로스 란?
        커베로스(Kerberos)는 "티켓"(ticket)을 기반으로 동작하는 컴퓨터 네트워크 인증 암호화 프로토콜로서  
             비보안 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용한다. 
            클라이언트 서버 모델을 목적으로 개발되었으며 사용자와 서버가 서로 식별할 수 있는 양방향 인증을
            제공한다. 
커베로스의 데이터 전송 방법
2. WebHDFS REST API 제공
   - 웹 기술을 이용해 하둡을 잘 모르는 관리자와 개발자들이 하둡을 더 쉽게 사용하도록 함

   ※ REST API 참조 : http://bcho.tistory.com/321 (조대협의 블로그)


하둡은 2.0 올해 초 2014년 2월 27일에 공식 출시했다고 밝혔으며

현재 2.3 버전까지 릴리즈 버전이 나와 있다.

2.0에 대해서는 나중에 자세히 언급하도록 하자

하둡 배포판 살펴보기


1. 클라우데라 - CDH
   - 거의 모든 하둡 에코시스템이 포함되어 있음
   - 아파치 하둡 배포판을 사용하지 않을 경우 , 대부분의 업체가 CDH를 고려할 정도로 신뢰도가 높음

2. 호튼웍스(Hortonworks) - HDP
   - 다양한 에코시스템이 포함됨 (전부는 아님)
   - 다양한 개발형 REST API가 제공
   - 설치, 관리 작업 시스템도 함께 제공됨

3. MapR 테크놀로지스 - MapR EDITIONS
   - MapR 은 성능 개선을 위해 자바에 C를 더한 것이 특징

4. 아마존 - EMR
    - 아마존의 클라우드 컴퓨팅 서비스

5. HStreaming - HStreaming
    - 하둡 기반의 실시간 데이터 분석 플랫폼 

댓글 없음:

댓글 쓰기