2011/07/22

페이스북의 클라우드 아키텍쳐

최근 일어나고 있는 최신의 유행은 Hadoop이라고 할 수 있겠습니다. Hadoop은 대규모 병렬 화일 시스템 처럼 사용이 될 뿐 아니라, MAP & Reduce의 기능을 활용하여 저장되는 텍스트 화일들의 실시간 분석 기능을 제공하기 때문에, 일석이조의 관점에서 많이 회자되고 있습니다.
그런데, 이런 Hadoop 기반의 분석(Analytics) 기능이 다수의 장애 포인트와 아울러 실제 실시간 분석으로 제공하지 못하는 점 때문에 대형의 서비스 업체 : 구굴, 페이스북, 야후가 분석 기능을 쓰지 않는 다는 얘기입니다.
실시간 분석을 하려면 아무래도 메모리에 모든 것을 두어야 하는데, 특히 카운터를 메모리에 두면 유리할 수 있겠죠. 이 기능을 위해서 Facebook은 memcached를 이용해서 구축했다고 되어 있네요. 그러나, 이런 memcache 기반의 환경은 1%장애만 나도 분석 결과에 영향을 끼치기 때문에 고가용이 중요한데 facebook의 구성은 고가용은 아니라고 되어있네요.
아울러 컴퓨팅에서는 '쓰기IO'가 매우 중요한데, 병렬 쓰기를 통해서 성능을 높이기 위해서 카산드라를 Hbase의 플랫폼으로 쓰고 있다는 점을 언급하고 있네요.
Nati Shalom's Blog: Architecture

링크: http://natishalom.typepad.com/nati_shaloms_blog/architecture/