Media Log

새 해가 되면 항상 찾아보는 것이 있다.
지난 해 동안 괜찮은 오픈소스 프로젝트가 뭐가 있었는지, 프로그래밍 언어 동향은 어떻게 바뀌어가는지를 둘러보는 일이다.
TV에서 연예시상을 하듯이 이것들도 몇몇 단체들에서 시상식을 한다. 찾아보면 여러군데가 있는데 내가 좋아하는 곳은
InfoWorld의 Bossie Award(오픈소스 소프트웨어 어워드)와 Tiobe(프로그래밍 언어순위)이다.
나는 이것들이 여느 연예시상식이나 가요톱텐보다 훨씬 재밌다.

Bossie Award 페이지에서는 한 눈에 수상작들을 보기가 불편해서 여기에 링크와 함께 정리해보았다.
프로젝트에 대한 소개는 여기에 적지 않는다. 링크를 따라가서 잠시 읽어 보면 어떤 프로젝트들인지 쉽게 알 수 있다.

Application Development software 부문

Application Development software 부문

Platforms and Middleware 부문

Networking Software 부문

2007년부터 2009년까지의 수상작들은 이미 위키피디아에 잘 정리되어 있다.
http://en.wikipedia.org/wiki/Infoworld_Bossie_Awards

아참, 올해의 프로그래밍 언어는 또 한번 파이썬이 차지했다.

C# 한 번 시켜주지.
Hadoop 완벽 가이드 - 8점
톰 화이트 지음, 심탁길.김우현 옮김/한빛미디어
나는 하둡의 분산 파일 시스템에 많은 관심을 가지고 있었는데, 이 책이 한빛미디어에서 번역되어져서 너무 반가웠다.

HDFS는 구글의 분산 파일 시스템인 GFS의 기능들을 Java로 배낀 파일 시스템이다. 오픈소스이며, 아파치 메인 프로젝트로 올라가면서 많은 사람들이 관심을 가지고 지켜보고 있고 또 공헌하고 있다.

모든 코드는 Java를 통해 유저모드에서 구현되었으므로 여러 플랫폼에서 동작이 가능하다 -물론 윈도우에서는 잘 쓰이지 않는다. 누가 분산 서버로 윈도우를 쓰겠는가.

GFS나 HDFS는 현대의 분산 파일시스템에서 트렌드라고 말할 수 있을 정도로 획기적이며 재미있는 기능들을 많이 가지고 있는데 그 기능들은 다음과 같다.

  • 데이터베이스를 사용하지 않고 메모리에서 자료구조를 유지하며 메타데이터를 관리함으로써 속도가 빠르다.
  • 파일을 추상화해서 일정 크기의 블록으로 관리함으로 인해 파일 크기의 제한이 없어졌으며 다른 여러 이득이 있다.
  • 장비의 추가 및 제거가 자유롭다.
  • 파일(혹은 블록)들의 여러 사본들을 만들어 저장해 놓음으로써 특정 서버가 고장나더라도 사용자에게는 오류가 보이지 않으며 데이터의 분실 없이 지속적으로 서비스가 제공 가능하다. 또한 사용자에게 가까운 위치의 데이터를 내려줄 수 있다.
  • 파일에 대한 각 오퍼레이션들을 디스크에 영구적으로 기록함으로써 장애시에도 데이터를 분실시키지 않을 수 있다. 이런 메카니즘은 스냅샷이나 파일 히스토리를 구현하기에도 용이하다. 하지만 이런 파일 저널링 작업때문에 사용자에게 응답이 느려질 수 있다.(메모리에서는 훨씬 먼저 연산이 끝났음에도 불구하고 파일에 쓰여질 때까지 기다려야 한다)

내게는 아쉽게도, 하둡 파일 시스템의 내용보다 맵리듀스에 대한 내용이 이 책의 주를 이루는데 맵리듀스 부분은 시간이 좀 더 남을 때 천천히 읽어보려고 한다.
맵리듀스는 분산컴퓨팅에서 하둡 파일시스템만큼이나 획기적이고 실용적인 기술이므로, 꼭 제대로 이해하고 넘어갈 수 있었으면 좋겠다.

분산 시스템을 잘 아는 역자가 번역했으므로 큰 흐름에 대한 오역은 거의 없지만, 문체가 지나치게 딱딱해서 재밌게 술술 읽히지 않는 다는 것은 크나큰 단점이다. 사실 재미없는 내용은 아닌데 말이다.
게다가 오타도 지나치게 많다. 읽다보면 몇 장을 안넘기고서 꼭 오타가 보이고 잘못 인쇄된 부분들이 보이곤 하는데 이건 거의 베타도 아닌 알파 수준의 책이구나 하는 생각을 했다. 나는 이 책이 나오자마자 구입했었는데, 출판사의 무성의함에 참 화가 났었다. -어떻게 한빛미디어가!

다른 한빛리더스 회원들과 함께 이 책의 많은 오류들을 출판사에 보고 했고, 잘 등록이 된 것 같다.
아마 이 책의 2쇄에서는 많은 부분이 개선될 수 있을 것이다.

파일 시스템이나 맵리듀스에 관심이 있는 사람들은 꼭 읽어볼 것을 추천한다.