4월 18일 (목) 오후 5:10

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...
조회 수 1000
빅 데이터는 클라우드 컴퓨팅만큼이나 널리 확산되고 있는 개념이다. 그러나 빅 데이터의 역량과 한계에 관해서는 사람들이 잘못 알고 있는 부분들이 많다. 특히 빅 데이터와 관련해 사람들은 다음의 질문들에 대한 내용들을 제대로 이해하지 못하고 있다.
 
- 어떻게 기존의 데이터베이스들이 사실상 비관계형(non-relational)인 데이터 저장 엔진들과 함께 사용될 수 있는가?
 
- 관계형 DBMS(RDBMS)에서 분산시스템으로 데이터를 옮기려면 무엇이 필요한가?
 
- 조직 내에서 이런 빅 데이터 시스템들을 가장 잘 활용하기 위해 무엇을 알아야 하나?(IT 직원들이 관심을 보일만한 질문) 


현재로는 비관계형 DBMS(NRDBMS)의 가장 인기있는 아파치 하둡(Apache Hadoop)가 가장 대표적이다. 분산형 데이터 프레임워크인 하둡은 빅 데이터와 소위 NoSQL 데이터베이스의 전형으로 여겨진다. 그러나 앞서 설명한 것들이 하둡의 실제 모습이나 그것의 작동 원리를 설명해주지는 않는다.
 
- 하둡은 진정 무엇이며, 기업들과 IT 직원들은 어떻게 활용할 수 있나?
 
- 어떤 기업들이 하둡을 이용해야 하며, 그것을 도입할만한 자원들은 어디서 구할 수 있나?
 
이런 질문에 대한 대답을 이번 하둡 총정리 기사를 통해 자세히 다룰 예정이다. 이번 기사에서는 주로 하둡이 어떻게 만들어지는지를 살펴볼 것이다. 하둡이 대체로 어떻게 작동하는지를 이해해야 DB 관리자들과 데이터 분석가들이 하둡 프레임워크를 이용해 일하는데 구체적으로 어떤 능력들을 필요로 하는지를 더 정확하게 파악할 수 있을 것이다. 또한 하둡의 생태계에 속해 있는 사람들을 알게 됨으로써 하둡 교육에 필요한 훌륭한 자원들을 찾아낼 수 있을 것이다.
 
하둡에 대한 오해
하둡에 대한 다음의 두 요소들은 분명하게 알아둬야 한다. 첫째 하둡은 빅 데이터에만 배타적으로 사용되는 시스템이 아니며, 둘째 진정한 의미의 NoSQL 툴도 아니다.
 
하둡이 비관계형 DBMS에 속하는 것은 맞지만, 그렇다고 SQL 쿼리 언어를 사용하지 못하는 것은 아니다. 이는 심지어 NoSQL의 의미로도 적절치 않다. NoSQL이란 SQL뿐 아니라 다른 쿼리 시스템도 사용될 수 있는 데이터베이스들을 표현하는 용어다. 사실 하둡에서는 SQL과 유사한 쿼리언어들을 상당히 쉽게 이용할 수 있다.
 
그리고 빅 데이터에 관한 다음의 개념도 수정돼야 한다. 많은 사람들은 하둡이라고 하면 방대한 양의 데이터부터 연상한다. 여기에는 물론 나름대로 합당한 이유가 있다. 하둡 저장공간은 누구나 막대한 양의 데이터를 떠올릴만한 페이스북과 야후가 사용하고 있기 때문이다.
 
그러나 하둡의 활용은 빅 데이터를 훨씬 넘어선다. 하둡의 가장 강력한 능력 가운데 하나는 바로 확장성이다. 이를 바탕으로 야후와 페이스북과의 관계를 유지하고 있을 뿐 아니라 얼마든지 규모를 축소시켜 저렴한 저장소와 데이터 관리를 원하는 기업들에게도 맞출 수 있다.
 
하둡의 이러한 광범위한 확장성 기능과 그 의미를 파악하기 위해서는 우선 하둡이 어떻게 작동하는지부터 이해해야 한다.


하둡이란 무엇인가

아룬 머시는 하둡을 아주 잘 아는 사람이다. 아파치소프트웨어재단(Apache Software Foundation, ASF)의 아파치 하둡 부사장인 아룬 머시는 현재 하둡 프로젝트를 이끌고 있다. 뿐만 아니라 머시는 더그 커팅이 구글의 맵리듀스(MapReduce) 데이터 프로그래밍 프레임워크를 활용해 하둡을 창안한 이후, 야후가 구글의 오픈소스 데이터 프레임워크를 자신들의 용도에 맞게 사용했던 초창기부터 하둡에 관여해왔다.
 
야후는 하둡의 생태계에 커다란 공헌 이상의 역할을 해왔다. 커팅과 머시, 그리고 초창기 하둡에 기여했던 많은 사람들이 지난 십 년간 야후에서 근무했다. 커팅은 현재 2009년에 시작한 상업용 하둡 업체인 클라우데라(Cloudera)에서 일하고 있으며, 머시는 2011년 6월 호튼웍스의 CEO가 된 에릭 발데슈빌러를 비롯해 야후의 하둡 팀에서 함께 근무하던 몇 명과 힘을 합쳐 호튼웍스(Hortonworks)를 공동 창업했다. 또한 야후는 현재까지 하둡의 최대 이용자며, 무려 5만 개의 노드로 구성된 하둡 네트워크를 배치하고 있다.
 
이런 경력으로 비춰볼 때 머시는 하둡이 무엇이고, 어떻게 만들어지는 지에 대해 답해 줄 적임자임이 분명하다.
 
머시는 필자에게 다음과 같이 설명했다.
"하둡이라고 알려져 있는 프레임워크는 몇 가지 구성요소들로 이뤄져 있는데, 그 가운데 특히 중요한 두 요소는 맵리듀스 데이터처리 프레임워크와 하둡 분산형 파일시스템(Hadoop Distributed Filesystem, HDFS)과 유사한 분산형 파일시스템이다.”
 
HDFS는 비록 관리가 항상 쉽진 않지만, 여러모로 하둡의 구성요소들 가운데 개념화하기가 가장 쉽다. 이름이 뜻하는 바대로 이해하면 된다. HDFS란 하둡 네트워크에 연결된 아무 기기에나 데이터를 밀어 넣는 분산형 파일시스템이다. 물론 여기에도 체계가 있어서 그냥 닥치는 대로 배치하는 것은 아니지만, RDBMS의 고도로 엄격한 저장 인프라에 견줘보면 돼지우리나 다름없다.
 
그렇지만 이런 유연성이야말로 하둡에 엄청난 가치를 가져다 준다. RDBMS가 종종 정교하게 제어하는 전용 기기들을 필요로 하는 것과는 달리 하둡 시스템은 보드에 좋은 하드드라이브가 거의 없는 상용화 서버들이라도 얼마든지 활용할 수 있다.
 
또한 하둡은 관계형 데이터베이스 테이블에 데이터를 저장하는 데에 따른 막대한 관리 비용을 들이지 않고, 그대신 HDFS를 이용해 데이터를 다수의 기기들과 드라이브들에 저장하며 다수의 노드로 이뤄진 하둡 시스템에 데이터가 자동적으로 중복되게 만든다. 따라서 만약 하나의 노드에서 고장이 발생하거나 느려지더라도 여전히 그 데이터에 접근할 수 있다.
 
이런 특성은 하드웨어나 관리 단계에서 엄청난 비용을 절약해준다. 한편 HDFS가 하둡과 함께 사용되는 일반적인 파일시스템이긴 하지만, HDFS가 결코 유일한 파일시스템은 아니라는 점에도 주목할 필요가 있다.
 
아마존의 엘라스틱 컴퓨트 클라우드(Elastic Compute Cloud, EC2)의 경우에는 하둡에 자사의 S3 파일시스템을 채용했다. 데이터스택스(DataStax)의 브리스크(Brisk)는 자칭 하둡 배포판으로, HDFS를 아파치 카산드라(Apache Cassandra)의 카산드라FS(Cassandra FS)로 대체하고, 실시간 저장 및 분석 기능들을 통합하기 위한 하이브(Hive)의 데이터 쿼리 및 분석 기능까지 추가로 포함하고 있다. 바로 이런 맞춤화와 변형은 전부 하둡의 오픈소스라는 특성 덕분에 쉽게 이뤄질 수 있었다.


맵리듀스는 개념화하기가 조금 더 어렵다. 머시는 그것을 데이터 처리 및 프로그래밍 패러다임이라고 표현했지만 이 말은 또 무슨 뜻일까? 젯(Jet)이 마이크로소프트 액세스(Microsoft Access)의 엔진인 것처럼 맵리듀스를 데이터베이스 엔진과 유사한 것으로 생각하는 편이 이해가 편하다(많은 사람들이 젯을 잘 생각해내지 못하겠지만 말이다).
 
정보 요청이 들어오면 맵리듀스는 두 요소들을 이용한다. 하둡 마스터 노드에 있는 잡트래커(JobTracker)와 하둡 네트워크 내의 각 노드에 위치한 테스크트래커(TaskTracker)들이다. 프로세스는 상당히 선형적이다. 맵리듀스는 데이터 요청을 별개의 작업 셋으로 나누고, 잡트래커를 이용해 맵리듀스의 일을 테스크트래커들에게 전달한다. 네트워크 지연시간을 줄이기 위해 작업은 해당 데이터가 위치한 노드와 동일한 노드에 할당되거나 최소한 같은 랙(rack)에 들어 있는 노드에 할당된다.
 
그림에서 볼 수 있듯 하둡에는 분산형 파일시스템과 맵리듀스 말고도 다른 것들이 포함되어 있다. 이 그림은 하둡 프레임워크에 대해 호튼웍스에서 제시한 설명으로 하둡과 함께 사용될 수 있는 여러 다른 구성요소들을 보여주고 있다. 여기에는 다음의 요소들이 포함된다.
 
- H카탈로그(HCatalog): 하둡 데이터용 테이블 및 스토리지 관리 서비스
 
- 피그(Pig): 맵리듀스용 프로그래밍 및 데이터 플로우 인터페이스
 
- 하이브(Hive): SQL과 유사한 언어인 하이브QL(HiveQL)을 이용해 하둡 데이터 쿼리를 생성하는 데이터 웨어하우징 솔루션
 
하둡 프레임워크 
hadoop-diagram.jpg


머시는 "하이브야말로 사람들이 소위 NoSQL 데이터베이스에서 기대하는 것보다 하둡을 훨씬 쉽게 이용할 수 있게 만들어 줄 것"이라고 말했다. 하이브QL을 이용해 데이터 분석가들은 RDBMS에서 이용하던 것과 거의 동일한 쿼리들을 가진 하둡 데이터베이스에서 정보를 빼낼 수 있다. 물론 SQL과 하이브 QL는 엄연히 다르므로 하둡으로의 이동은 일종의 이행기를 거치게 되겠지만 이 차이들은 그렇게 크지 않다.
 
하둡 전문가로 가는 길 
데이터 분석가들은 하둡을 받아들이는데 큰 문제를 겪지 않겠지만, DBA들은 훨씬 많은 학습 과제를 짊어진다. 분산형 파일시스템은 RDBMS의 데이터베이스 테이블 스토리지라는 기존의 영역에서 완전히 벗어난 것이기 때문이다.
 
모두가 각기 다른 하둡 구성요소들의 프레임워크 구성이라는 말은 곧 관리자들이 서로 다른 수많은 요소들을 동시에 관리해야 함을 의미하므로, 장래 관리자들에게 하둡의 복잡성은 분명히 엄청난 장애물이 될 것이다. 물론 관리를 편하게 해줄 멋진 GUI를 기대해서도 안 된다. 하둡, 하이브, 스쿱(Sqoop), 그리고 하둡 생태계에 있는 기타 툴들은 모두 명령 행에서 제어를 받는다. 하둡이 자바 기반으로 만들어졌고, 맵리듀스가 자바 클래스들을 사용하고 있으므로 상호작용의 많은 부분들은 개발자(특히 자바 개발자)의 입장에서 다루는 편이 훨씬 편리할 것이다.
 
하둡과 관련된 대부분의 직업들은 일반적으로 대규모의 분산형 시스템을 다뤄본 경험과 시스템 설계 및 스케일링(scaling), 성능, 스케줄링(scheduling)을 통한 시스템 개발에 대한 정확한 이해를 요구한다. 자바에서의 경험뿐 아니라 프로그래머들은 데이터 구조와 병렬 프로그래밍 기술도 직접 다뤄보고 좋은 배경 지식들을 갖추고 있어야 한다. 여기에 종류를 불문하고 클라우드 경험은 큰 플러스 요인이다.
 
이런 것들을 한번에 모두 겸비하기는 어렵다. 따라서 하둡으로 옮기고자 하는 시스템 엔지니어들과 관리자들을 위해 호튼웍스는 아파치 하둡 관리하기 클래스(Administering Apache Hadoop class) 3일 교육 과정을 제공할 예정이다. 클라우데라는 이미 클라우데라 대학 커리큘럼(Cloudera University curriculum)의 일환으로 활발한 관리 수업을 열고 있다. 뿐만 아니라 하이브, 피그, 개발자 훈련 코스들도 들을 수 있다. 아파치 사이트의 하둡 지원(Hadoop Support) 위키에서 그 외 추가적인 수업들을 찾을 수 있다.


출처 - http://www.itworld.co.kr/news/73626?page=0,2







  1. 모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

    Serdar Yegulalp | InfoWorld 파이썬 프로그래밍 언어의 대성공을 이끈 힘은 무엇일까? 물론 답은 네이티브와 서드파티 라이브러리를 가리지 않는 풍부한 파이썬용 라이브러리다. 문제는 파이썬 라이브...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  2. “떠오르는 와이파이 6, 우리 회사에 맞을까?” 적합성 기준과 준비 사항

    Zeus Kerravala | Network World 차세대 와이파이 표준인 802.11ax, 통칭 와이파이 6를 둘러싼 기대가 높다. 신기술은 업체에 의해 “차세대 대박 상품”으로 선전되다가 기대에 미치지 못하고 실패하는 ...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  3. "네트워크 보안의 필수" SIEM 툴 TOP 12 평가 비교

    Tim Ferrill | CSO 보안 정보 및 이벤트 관리(Security information and event management, SIEM)은 네트워크 보안 전문가들을 위한 실용적인 툴이다. 이벤트 로그를 관리하고, 리뷰 및 감사하는 작업은...
    Date2019.01.13 CategoryIT KNOWLEDGE
    Read More
  4. SSL/TLS의 이해와 TLS 1.3으로 업그레이드해야 하는 이유

    Josh Fruhlinger | 웹 초창기부터, SSL(Secure Sockets Layer) 프로토콜과 그 후예인 TLS(Transport Layer Security)는 암호화와 보안을 제공해 인터넷 상거래를 가능하게 만들었다. SSL, TLS와 같은 프...
    Date2018.12.16 CategoryIT KNOWLEDGE
    Read More
  5. 2019년 리눅스에 기대해도 좋을 것

    Sandra Henry-Stocker | Network World 2019년은 리눅스의 해가 될지도 모른다. 리눅스가 드디어 유력 집단으로써 인정 받는 해가 될 수도 있다. 사물 인터넷(IoT), 클라우드 기술, 슈퍼컴퓨터, 인공 지...
    Date2018.12.07 CategoryIT KNOWLEDGE
    Read More
  6. "JDK란 무엇인가" 자바 개발 키트 소개와 설치하기

    Matthew Tyson | JavaWorld 자바 개발 키트(Java Development Kit, JDK)는 자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소다. 이 중심에는 자바 컴파일러(Compiler)가 있다. Credit: Nic Mc...
    Date2018.09.25 CategoryIT KNOWLEDGE
    Read More
  7. 리눅스 디렉토리 구조와 의미

    리눅스는 최상위 /(root)를 기본으로 하며 모든 디렉토리들이 /를 거치게 되는게 가장 큰 특징입니다. 디렉토리 설명 / 최상위에 위치하는 디렉토리이며 루트 디렉토리라고 부름. 일반적인 데...
    Date2018.08.06 CategoryIT KNOWLEDGE
    Read More
  8. 단방향 전송, 반이중전송, 전이중 전송, 허브, 스위치, 라우터, 토폴로지

    * 랜카드  - 근거리 통신망에 접속하기 위한 장비  - 최근에 메인보드에 통합 1. 반이중 방식(Half-Duplex)  - 양방향으로 데이터가 전송  - 동시에 전송 불가능  - 충돌을 피하기 위해 상대방의 데이...
    Date2018.06.22 CategoryIT KNOWLEDGE
    Read More
  9. 프록시 서버(Proxy Server)에 대해

    * Server에서 Proxy란? 출처: wikipedia.org Proxy Server 는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 Server 와 Client 사이에서 중계기로...
    Date2018.05.06 CategoryIT KNOWLEDGE
    Read More
  10. DNS의 작동원리와 이를 공격하는 방법

    Keith Shaw | Network World 도메인 이름 시스템(Domain Name System, DNS)은 인터넷 기반 가운데 하나지만 네트워킹 종사자를 제외한 대부분의 사람은 매일 일을 하고 이메일을 확인하고 스마트폰으로 ...
    Date2018.04.15 CategoryIT KNOWLEDGE
    Read More
  11. MPLS의 이해 (Multi-Protocol Label Switch)

    Neal Weinberg, Johna Till Johnson | Network World MPLS(Multi-Protocol Label Switching)의 핵심은 서비스가 아니라 기술이며, IP VPN부터 메트로 이더넷에 이르기까지 온갖 기능을 제공할 수 있다. ...
    Date2018.03.21 CategoryIT KNOWLEDGE
    Read More
  12. SD 브랜치와 보안, 스토리지, IoT의 관계

    Ciaran Roche | Network World SD-WAN의 자연스러운 계승자로 SD 브랜치(SD-Branch)가 회자되기 시작했다. 중앙집중화된 오케스트레이션 모델은 많은 대기업들에게 매력적일 수밖에 없다. 하지만 SD-WAN...
    Date2018.03.04 CategoryIT KNOWLEDGE
    Read More
  13. 취약점 표준코드 CVE의 개념과 목적

    Taylor Armerding | CSO CVE는 '정보 보안 취약점 표준 코드(Common Vulnerabilities and Exposures)'의 약자이다. 1999년, 미국 연방 정부의 후원을 받는 비영리 연구 개발 기관인 MITRE가 소프트웨어...
    Date2018.02.03 CategoryIT KNOWLEDGE
    Read More
  14. SYN Flooding,Teardrop,세션 하이젝킹,패킷 필터링 등

    1. SYN Flooding 공격에 대한 조치 방법  - 클라이언트가 서버에게 요구한 SYN 개수보다 큰 Connect Queue Size를 증대시킨다.  - Backlog Queue 사이즈를 늘려준다.  - 중간 게이트웨이에서 SYN 패킷이 ...
    Date2018.01.20 CategoryIT KNOWLEDGE
    Read More
  15. SSL, HTTPS, 개인키, 공개키, 암호화에 대해

    *SSL, 인증서란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  16. 리플(XRP, Ripple)이란?

    [요약] 발행될 수 있는 코인 양이 1000억 개로 한정돼 있으며 채굴 방식을 사용하지 않는 가상화폐 외국어 표기 XRP, Ripple(영어) 본래 2004년 리플페이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  17. 이더리움에 대해(Ethereum)

    이더리움(Ethereum)은 비탈리크 부테린(Vitalik Buterin)이 2014년 개발했습니다. 거래 명세가 담긴 블록이 사슬처럼 이어지는 블록체인(blockchain)을 기반으로 하며 네트워크만 연결되어 있다면...
    Date2017.12.16 CategoryIT KNOWLEDGE
    Read More
  18. 사물 인터넷 정의 : 필수 IoT 용어 가이드

    Jon Gold | Network World 사물 인터넷과 관련해서는 온갖 프로토콜과 표준, 기술 약어가 난무한다. IoT 언어를 조금 더 이해하기 쉽도록 하기 위해 이러한 모호한 용어들의 의미를 정리했다. 6LoWPAN : 약...
    Date2017.11.06 CategoryIT KNOWLEDGE
    Read More
  19. “빅데이터란 무엇인가?” 구성요소와 기반 기술의 이해

    InfoWorld staff | InfoWorld 인간은 매일 먹고 일하고 놀고 데이터를 생산한다. IBM에 따르면 인류가 하루에 생산하는 데이터의 양은 무려 250경 바이트에 이른다. DVD를 쌓는다면 달까지 왕복할 만큼...
    Date2017.09.16 CategoryIT KNOWLEDGE
    Read More
  20. 비트코인의 이점은 무엇인가

    비트코인은 매우 낮은 비용으로 돈을 교환할 수 있는 가장 간단한 방법입니다. 보다 쉬운 모바일 결제모바일로 비트코인 결제를 하실 때에는 "스캔-앤-페이" 두 단계만 거치면 됩니다. 카드...
    Date2017.08.11 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7