Apache Hadoop Goes Realtime at Facebook, SIGMOD’11

2011년 6월 그리스 아테나에서 열린 SIGMOD 학회에 페이스북에서 HBase를 실제 서비스에 적용한 후 그에 관한 논문을 냈다. http://borthakur.com/ftp/RealtimeHadoopSigmod2011.pdf

올해 6월에 처음으로 열린 SDEC 2011 (Seoul Data Engineering Camp)에서 페이스북의 Jonathan Gray가 이와 관련된 발표를 했었다. http://www.sdec.kr/schedule#hbase

ACM에는 구체적인 연구 분야마다 특화분야그룹 (Special Interest Groups, SIGs)가 있는데 현재 30여개로 각 분야별로 SIGCOMM, SIGGRAPH, SIGMOD, SIGOPS. SIGCHI  등이 있다. SIG그룹은 CS 각 분야별로 최고 수준의 학회들이라고 볼 수 있다.  CS 박사과정 중에 있는 학생이라면 SIG 그룹에 논문을 내는 것이 꿈(?)이라고 할 수 있겠다. (졸업과 취직에 지름길? ㅎㅎ )
SIGMOD(Special Interest Group on Management of Data)는 데이터베이스 관련 역사와 전통이 있는 최고 수준의 학회 중 하나다.
그 밖에 데이타베이스 관련 최고 수준 학회로는 VLDB,  IEEE의 ICDE가 있다.

7월 회사에서 이 논문을 읽고 발표를 했었는데, Hadoop과 Hbase에 대한 깊은 기술적 이해가 필요해서 애를 먹었던 기억이 난다.
발표자료는 거의 논문 직역 수준으로 되어서 이제까지 회사에서 발표한 자료 중에는 최악이었던 것으로 기억된다. :-(
그래도 몇일 고생하면서 Hbase에 대한 기술적인 이해가 높아졌다는 것으로 만족한다. 당시 그루터에 김형준 수석님의 도움을 많이 받았다.
시간이 나면 내용을 좀 다듬으려고 했으나, 역시나 시간이 없다;

요약하면,

페이스북에서 기존 RDB 클러스터로 운영하던 시스템 Hadoop/HBase 기반으로 마이그레이션을 했고 적용한 워크로드는 다음 세가지이다.

  • Facebook Messages
  • Facebook Insights
  • Facebook Metric System (ODS)

위의 3가지 워크로드는 다음과 같은 공통점이 있다.

  • 대량의 쓰기 부하 (High Write Throughput)
  • 명시적으로 수행하지 않는 한 지워지지 않는다.
  • 최근에 쓰여진 것만 몇 번 읽고 아주 가끔 다시 본다.
  • 대부분 데이터는 읽혀지지 않지만 최소 지연시간으로 언제든지 사용 가능 해야 된다

위의 3가지 워크로드로 부터 시스템의 요구사항은 다음과 같다

  • 탄력성 (Elasticity)
  • 높은 쓰기 처리량 (High Write Throughput)
  • 한 데이터 센터 안에서 효율적인 Low-latency 강한 일관성 시멘틱
  • 효율적인 랜덤 디스크 읽기
  • 고가용성과 재난 극복 (High Availability and Disaster Recovery)
  • 내고장성 (Fault Isolation)
  • 원자적 읽기-수정-쓰기원시적인 지원
  • 범위 스캔 (Range Scan)

페이스북에서는 오프라인 배치 분석작업을 Hadoop과 Hive를 통해서 이미 수행하고 있기 때문에 Hadoop기반 오픈소스를 사용하는 것에 대한 거부감이 없으며 하둡에 대한 신뢰도 높은 편이다.
물론 프로덕션 환경에서 사용하기에 Hadoop과 HBase는 부족한 부분이 있지만 In-house 엔지니어링을 통해서 충분히 해결할 수 있는 자신감 또한 Hadoop/HBase를 선택하는 데 반영되었다.

이후 내용은 Hadoop과 HBase을 프로덕션 수준으로 높이기 위해서 그동안 페이스북에서 오픈소스에 기여한 내용에 대한 내용들이다.
Hadoop과 HBase에 대한 기술적인 이해가 필요해서 애를 먹었던 부분이다. 마지막 챕터는 개발 및 운영 경험에 대한 내용도 나온다.
자세한 내용은 논문과 발표자료를 참고하길 바란다.

HBase는 아직 엔터프라이즈에서 사용하기에 부족한 부분이 많다는 것이 세간의 평가지만, 페이스북에서 그 부분을 향상시키고 성공적으로 도입하므로서 다시 관심의 중심이 되었다.
페이스북은 서비스 론칭 후 6억명의 사용자가 사용해야한다. 페이스북에서 검증 되었다는 것은 큰 의미가 있다고 볼 수 있겠다.
혹시나 필요한 사람을 위해서 발표자료를 공개한다.