Hadoop을 이해하는데 그리고 Hadoop의 현재 인기를 이해 하는데 도움이 될만한 몇 가지 읽을거리를 소개하겠습니다. 소개에 앞서 본 포스팅은 어디까지나 Hadoop을 깊게 알고 싶은 사람들을 위한 것임을 밝힙니다. Hadoop을 사용하고 배우는데 아래 논문들을 모두 알아야 할 필요는 없습니다.
Hadoop은 단순하게 봤을 때 Hadoop Distributed File System (HDFS) + MapReduce 라고 할 수 있습니다. HDFS는 Google이 발표한 Google File System (GFS)의 구현물이고 MapReduce 역시 Google이 발표한 MapReduce 논문의 구현물입니다. 따라서 이 둘을 잘 이해하기 위해서는 해당 논문에 대한 이해가 필요합니다.
위의 논문들을 읽다보면 MapReduce가 shared-nothing (SN) 구조를 바탕으로 했다는 언급이 나옵니다. SN 구조의 특성과 장단점을 더 자세히 알고 싶다면 다음 논문을 보시면 됩니다.
- The Case for Shared Nothing Architecture [PDF]
또한 다양한 문헌에서 Hadoop은 Cloud Computing과 같이 자주 언급되는 걸 보실 수 있습니다. Cloud Computing 자체의 정의는 다양할 뿐만 아니라 다소 모호합니다. 그래서 Hadoop 또는 MapReduce와 Cloud Computing간의 관계에 대해 궁금하신 분들이 많을 것 같습니다. 그 궁금증은 다음 논문이 풀어 드립니다.
- Data Management in the Cloud: Limitations and Opportinuties [PDF]
Hadoop의 단점 또한 잘 파악하고 있어야 적재적소에 이용할 수 있습니다. 다음 논문은 제 개인적인 생각에 다소 편향되어 있지만 Hadoop의 단점을 잘 분석해 주는 논문입니다.
- A Comparison of Approaches to Large-Scale Data Analysis [PDF]
Hadoop의 인기와 사용사례는 아래 google trends 결과 처럼 매년 크게 증가하고 있습니다. 이에 따른 오픈소스 결과물이나 연구 성과물이 계속 쏟아져 나올 것입니다. 앞으로는 최신 reading list에 대한 posting을 종종 하도록 하겠습니다.