“하둡”이란무엇을의미할까?더중한것은,“하둡”은무엇의약자일까?사실,고가용성분산형객체지향적플랫폼(高可用性分布式面向对象平台)을뜻합니다。bob体育客户端下载하둡기술은바로이런장점을개발자에게제공합니다。즉,객체지향적작업을병렬분산하여고가용성을확보할수있습니다。
Apache Hadoop은오픈소스,Java기반소프트웨어플랫폼으로빅데이터애플리케이션용데이터처리와스토리지를관리하는역할을합니다。하둡플랫폼은컴퓨터클러스터내여러노드에걸쳐하둡빅데이터와분석작업을분배하며,그과정에서작업을병렬식으로실행가능한작은크기의워크로드로분해합니다。
하둡은구조적,비구조적데이터를처리할수있으며단한대의서버에서시스템수천대규모로안정적으로확장합니다。
하둡프레임워크에서코드는대부분Java로작성되지만,일부네이티브코드C를는기반으로합니다。또한,명령줄유틸리티는셸스크립트로작성되는것이일반적입니다。하둡MapReduce의경우,Java를가장흔히사용하지만사용자는하둡스트리밍과같은모듈을통해원하는프로그래밍언어로맵을구현하고함수를줄일수있습니다。
하둡은데이터스토리지나관계형데이터베이스를위한솔루션이아닙니다。대신오픈소스프레임워크로써,실시간으로엄청난양의데이터를동시에처리하는것을목적으로합니다。
데이터는hdfs에저장됩니다。그러나비구조적이어서관계형데이터베이스로간주하기어렵습니다。사실하,둡을사용하면데이터를비구조적,반구조적,구조적형식으로저장할수있습니다。기업에서는비즈니스요구사항을충족하고그이상까지기대할수있는방식으로더욱유연하게빅데이터를처리할수있습니다。
기술적으로하둡은sql이나RDBMS등의데이터베이스와는다릅니다。대신하,둡프레임워크는사용자에게다양한데이터베이스유형에대한처리솔루션을제공합니다。
하둡은기업이단시간에방대한데이터를처리하도록도와주는소프트웨어에코시스템입니다。이런작업은대규모로병렬컴퓨터처리를활용하기때문에가능합니다。Apache HBase와같은여러데이터베이스는수백,수천개의상용서버에저장된데이터노드클러스터에흩어져있습니다。
Apache Hadoop은나雅虎谷歌과같은검색엔진이막출발한시점에서끊임없이늘어나는빅데이터를처리하고웹결과를더빨리제공해야한다는필요성이절실해지면서탄생했습니다。
당시谷歌의MapReduce라는프로그래밍모델이있었는데,이모델은하나의애플리케이션을여러부분으로나누어서로다른여러노드에서실행되도록하는방식을취했습니다。여기에서아이디어를얻은Doug Cutting Mike Cafarella과가2002년에Apache Nutch프로젝트를진행하던중하둡을시작하게됐습니다。뉴욕타임스기사에따르면Hadoop이라는이름Doug이은아들의장난감코끼리이름에서따온것이라고합니다。
몇년이지난뒤하둡은Nutch에서분할되어나왔습니다。Nutch는웹크롤러요소에집중했지만,하둡은분산형컴퓨팅및처리부분을담당하게된것입니다。减少雅虎에이입사하고2년후인2008년,雅虎에서하둡을오픈소스프로젝트로릴리스하였습니다。2012년11월에Apache软件基金会(ASF)에서하둡을Apache Hadoop이라는이름으로일반대중에게제공하게되었습니다。
하둡은빅데이터분야에서중대한발전이었습니다。사실,하둡은현행클라우드데이터레이크의기초토대로marketing정받고있습니다。Hadoop은컴퓨팅파워를민주화하여기업에서무료,오픈소스소프트웨어와저렴한상용하드웨어를사용해확장할수있는방식으로빅데이터세트를분석,쿼리할수있게해준역할을했습니다。
이것이중대한의의가있는이유는하둡덕분에당시까지대세였던상용(专有)데이터웨어하우스(dw)솔루션과폐쇄형데이터형식에실질적대을제시해주었기때문입니다。
하둡이도입되면서기업에서엄청난양의데이터를저장,처리할능력을신속히확보할수있게되었고,컴퓨팅파워를증가하고내결함성,데이터관리유연성,DW에비해저렴한비용은물론뛰어난확장성까지얻게되었습니다。궁극적으로Hadoop은빅데이터분석분야의향후개발을위해길을개척했다고볼수있습니다。Apache Spark가가장대적예입니다。
하둡의경우,사용사례는무궁무진합니다。
규모가큰기업은그어느때보다도많은고객데이터를손에쥐고있습니다。하지만표면적으로는서로관계가없는듯한방대한데이터속에서상관관계를찾아내기어려운경우가많습니다。국리테일러m&s는하둡기반Cloudera企业를배포하고나서,결과에감탄했습니다。
Cloudera는데이터를관리하고처리하는데하둡기반지원과서비스를사용합니다。M&S는클라우드기반플랫폼을구현하고얼마지나지않아데이터를성공적으로활용하면서도예측분석성능이훨씬향상되었다는것을느꼈습니다。
웨어하우스사용효율이향상되었고수요가”갑자기”폭증했을때따라가지못하는현상을줄여시장경쟁에서엄청난우위를얻었습니다。
하둡은아마도그어떤시스템보다도금융부문에적합할것입니다。하둡소프트웨어프레임워크가나온지얼마되지않았던초기에위험모델링과관련된고급알고리즘을처리하는용도로주로사용되었습니다。바로이런위험관리만있었더라면2008년에경기침체로까지이어진신용스왑위기를피하는데도움이되었을것입니다。
은행도이같은원리가고객포트폴리오의위험관리에도적용된다는것을깨달았습니다。요즘에는금융기관이금융보안관리와고객자산성과를개선할목적으로하둡을구현하는사례를흔히볼수있습니다。摩根大通도하둡을사용하여전세계에서폭발적으로증가하는고객데이터를관리하는금융대기업중하나입니다。
국가에서운영하든,민간에서운영하든,규모와관계없이모든의료기관은방대한데이터와고객정보를처리해야합니다。하둡프레임워크를사용하면의사,간호사,간병인이필요할때정보에쉽게액세스할수있고,실천가능한인사이트를제공하는데이터를쉽게집계할수도있습니다。이는공공보건,진단및치료개선등에적용할수있습니다。
학계및연구기관에서도하둡프레임워크를사용해서연구활동을촉진합니다。암을비롯한유전질환분야를예로들어보겠습니다。간유전체의지도가밝혀졌는데,30。이론적으로는그어떤질병이든치료할수있는모든것이우리눈앞에펼쳐져있습니다。
하지만복잡한관계를파악하기위해서는하둡과같은시스템이있어야대량의정보를처리할수있습니다。
하둡은국가및지역보의효과를향상하는데도도움이됩니다。여러지역에서발생하는관련범죄를해결하려는경우,하둡프레임워크로두개의관계가없는듯한사건을연결하여법집행기관의절차를간소화할수있습니다。사건을연결하는데걸리는시간이줄어들었기때문에법집행기관에서는최대한빠른시일내에다른기관과국민에게경고를보낼수있습니다。
2013년에미국국가보국(NSA)에서는오픈소스하둡소프트웨어가그동안자신들이사용했던값비싼솔루션보다우수하다는결론을내렸습니다。지금은하둡프레임워크를사용해서테러,사이버범죄등의위협을탐지하는데도움을받습니다。
하둡은상용하드웨어의클러스터에방대한데이터세트를분산할수있는프레임워크입니다。하둡의처리는여러서버에서동시에병렬로수행됩니다。
고객은데이터와프로그램을하둡에제출합니다。간단히말해,HDFS(하둡의핵심구성요소)는메타데이터와분산형파일시스템을처리합니다。그런다음,하둡MapReduce가입력/출력데이터를처리하고변환합니다。마지막으로,纱线이클러스터에작업을분산합니다。
하둡을사용하는고객은높은가용성과장애시점탐지기능을기본으로제공받아,상용리소스를훨씬효율적으로사용할수있습니다。또한,고객은연결된비즈니스시스템에서쿼리를수행할때빠르게응답할수있습니다。
결론적으로하,둡은빅데이터활용을극대화하고싶어하는기업에비교적간편한솔루셔능ㄹ제공합니다。
하둡프레임워크자체는대부분Java를기반으로합니다。다른프로그래밍언어로로는C작성한네이티브코드와명령줄용셸스크립트를사용합니다。그러나하둡프로그램은Python, c++등의다양한프로그래밍언어로작성할수있습니다。따라서프로그래머는자신에게익숙한도구를사용해서유연하게일할수있습니다。
앞서말씀드렸듯이,하둡은빅데이터를관리해야하는조직에간편한솔루션을제공합니다。하지만그렇다고해서언제나간단히사용할수있다는것은아닙니다。위의사용사례에서알수있듯이,하둡프레임워크의구현방식은상당히유연하게선택할수있습니다。
비즈니스애널리스트,데이터사이언티스트,개발자가하둡을활용하는방식은조직과목표에따라달라집니다。
하둡이모든기업에적합한것은아니지만,대부분조직에서하둡과의관계를새롭게평가할필가있습니다。사업의핵심프로세스에서방대한데이터를처리해야하는경우,하둡은요구사항에맞는유연하고경제적이면서도확장가능한솔루션을제공합니다。그이후부터는사용자와그팀이무엇을상상하고,어떤기술적능력을갖추었느냐에따라활용도가달라집니다。
하둡을쿼리하는방법의예시는다음과같습니다。
Apache蜂巢는초기에하둡으로SQL을쿼리하는데일반적으로사용했던솔루션이었습니다。MySQL의이모듈은동작,구문,인터페이스를에뮬레이션하여프로그래밍을단순화합니다。Java API와JDBC드라이버가내장되어있기때문에Java애플리케이션을많이사용한다면좋은옵션이됩니다。蜂巢는개발자에게빠르고간단한솔루션을제공하지만다소느리고읽기전용기능만제공하기때문에상당히제한적입니다。
Ibm에서는하둡에고성능대량병렬처리(mpp) SQL엔진을제공합니다。안정적이고안전한환경에서쉽게사용할수있는솔루션을원하는기업을위한쿼리솔루션입니다。HDFS데이터에액세스하는것외에도,RDBMS, NoSQL데이터베이스,WebHDFS및기타데이터소스에서가져올수있습니다。
하둡이라는용어는일종의보편명사로다음과같은다양한의미가있습니다。
하둡에코시스템은여러가지핵심구성소로이루어집니다。
하둡분산형파일시스템에서모든데이터스토리지가시작되고끝납니다。이구성요소는다양한구조적및비구조적데이터노드에걸쳐대량의데이터세트를관리합니다。그와동시에메타데이터를로그파일의형태로보관합니다。HDFS의보조구성요소는NameNode, DataNode,이렇게두가지가있습니다。
Hadoop HDFS의마스터데몬은NameNode입니다。이구성요소는파일시스템네임스페이스를관리하고이파일들에대한클라이언트액세스를제어합니다。NameNode는마스터노드라고도하는데,블록번호와위치등과같은메타데이터를저장합니다。주로파일과디렉터리로구성되며파일이름지정,종료,열기등의파일시스템명령을실행합니다。
두번째구성소는DataNode라는슬레이브데몬입니다。이HDFS구성요소는클라이언트가요청한읽기및쓰기함수를실행하면서실제데이터또는블록을저장합니다。然后즉,DataNode도마스터의명령에따라복제본생성,삭제및복제를담당합니다。
DataNode는두개의시스템파일로구성됩니다。하나는데이터에사용하고,나머지하나는블록메타데이터를기록하는데사용합니다。애플리케이션이시작되면마스터와슬레이브데몬사이에핸드셰이크를하여네임스페이스와소프트웨어버전을확인합니다。불일치가발견되면자동으로DataNode가해제됩니다。
하둡MapReduce는Hadoop에코시스템의핵심처리구성소입니다。이소프트웨어는방대한용량의구조적,비구조적데이터를처리할때애플리케이션을쉽게작성할수있는프레임워크를제공합니다。주로상용하드웨어의다양한노드에서데이터를병렬처리하도록지원하는방식을사용합니다。
MapReduce는클라이언트의작업일정을처리합니다。사용자가청한작업은독립적작업과프로세스로나뉩니다。그다음에는MapReduce작업을상용서버에있는모든클러스터와노드에서하위작업으로잘게쪼갭니다。
이과정은映射단계와还原단계,이렇게두가지로구성됩니다。映射단계에서는데이터세트가키/값쌍으로나뉘는다른데이터세트로변환됩니다。두번째减少단계에서는InputFormat클래스를통해프로그래머에따라출력을변환합니다。
프로그래머는MapReduce에서두가지기본함수를지정합니다。地图함수는데이터처리의비즈니스로직입니다。减少함수는地图함수의중간데이터출력을요약,집계하여최종결과를산출합니다。
간단히말해서,하둡YARN은MapReduce의성능이개선된새로운버전입니다。하지만그것만으로는정확히설명할수없습니다。纱线은작업시퀀스예약과처리,실행에도사용하기때문입니다。하지만纱은하둡의리소스관리계층이며,이곳에서각작업이별도의Java애플리케이션으로데이터에대해실행됩니다。
하둡프레임워크의운영체제역할을하는纱은단일플랫폼에서일괄처리,f데이터처리등의작업을수행할수있습니다。纱은MapReduce보다훨씬성능이개선되었기때문에프로그래머들이실시간인터랙티브스트리밍애플리케이션을구축할수있습니다。
纱을사용하는프로그래머는동일한클러스터에서필요한만큼여러애플리케이션을실행할수있습니다。운영관리와시스테리소스공유에안전하고안정적인기반을제공함으로써,최대의효율과유연성을발휘하도록합니다。
이외에엄밀히말해코어하둡모듈에속한다고는볼수없지만이런모듈과함께쓰일때가많은대중적인패키지가몇가지있습니다。
흥미가생기셨나?하둡에코시스템에관해더자세히알아보세。
데이터소스와조직의요구사항에따라,하둡프레임워크를분석에활용하는방법은크게세가지가있습니다。
필수적인기존리소스가있는기업에서시간효율적이고재정적으로도안전한옵션으로선택하는경우가많습니다。그렇지않은경우,기술장비를설치하고필요한它인력을충원하다보면재정과팀리소스가과하게늘어날수있습니다。기업에서이옵션을사용하면데이터보과보호를더욱잘관리할수있게됩니다。
구현속도를높이고,선불로내는비용과유지관리요구사항을줄이고자하는기업은클라우드기반서비스를활용하려고할것입니다。클라우드공급업체에서는클라우드에존재하는상용하드웨어에서데이터와분석이실행됩니다。이들서비스는적절한금으로빅데이터처리를간소화하지만,약간의단점도존재합니다。
첫째,공개marketing터넷에있는모든것은해커등의먹잇감이되기쉽습니다。둘째,인터넷과네트워크공급업체에서서비스가중단되면업무시스템이마비될수있습니다。기존네트워크사용자의경우,하둡에서湖湖아키텍처로마이그레이션하는등의조치가필할수있습니다。
가동시간,개인정보보호,보안을강화하고싶다면온프레미스하둡공급업체에서이모든것을찾을수있을것입니다。이들공급업체는두가지의장점을모두제공합니다。모든장비,소프트웨어,서비스를제공하여프로세스를간소화할수있습니다。하지만인프라가온프레미스에있기때문에대기업에서데이터센터를운영하면서얻는모든장점을누릴수있습니다。
성공적다국적기업과대기업에서는하둡을채택하는것이준이되어가고있습니다。현재하둡을사용하는기업의예시는다음과같습니다。
하둡프레임워크자체는오픈소스Java기반애플리케이션입니다。즉,다른빅데이터애플리케이션과달리무료로사용할수있습니다。물론,필수적marketing상용소프트웨어비용은규모에따라달라집니다。
하둡프레임워크를구현하는서비스의경우,다양한금옵션이있습니다。
하둡에수반되는문제점과최신데이터플랫폼으로의이동에관한자세한정보는블로그게시물을차조하세。