'맵리듀스'에 해당되는 글 1

  1. 2011/12/12 페이스북은 왜 글 수정이 안 될까? (3)
페이스북을 이용하시는 분들 중에는 상태 업데이트에 글을 올린 후 수정이 안 돼서 어려움이 겪은 분들이 있을 겁니다. 페이스북은 오탈자가 있어도 수정할 수 없도록 돼 있습니다. 오직 글을 삭제할 수 있을 뿐입니다.

왜 그럴까요?

이는 ‘빅 데이터’ 기술의 특징이라고 볼 수 있습니다. . ‘빅 데이터’는 정보기술 산업(IT)이 다루는 대상인 ‘정보’의 종류가 많아지고, 그 규모도 엄청나게 커지는 것을 의미합니다. 기존의 관계형 데이터베이스로는 감당할 수 없는 데이터가 등장한 것입니다.

페이스북의 경우 하루에 생성되는 데이터가 일반 기업들의 1년치 데이터보다 많다고 합니다. 페이스북은 지난 8월 기준으로 30페타 바이트의 데이터를 보유하고 있었습니다. 이는 미국 의회 도서관이 보유한 책의 3000배가 넘는 규모입니다.
사용자 삽입 이미지

기존 데이터 처리 기술로는 이 많은 양의 데이터를 감당할 수 없습니다. 때문에 빅 데이터를 처리할 때는 관계형 DB가 아닌 하둡과 맵리듀스, NoSQL이라는 새로운 기술을 주로 활용하게 됩니다.

페이스북 역시 하둡과 맵리듀스, 카산드라(NoSQL의 한 종류)를 이용해 데이터를 처리합니다.

이 기술들의 특징은 데이터 정합성 보다 대용량 데이터를 처리하는 데 중점을 두고 있다는 점입니다. 페이스북에서는 글을 입력했는데, 제 때 바로 반영되지 않거나 여러 개가 동시에 올라가기도 하고, 댓글 10개라고 표시돼 있는데 들어가보면 세 개밖에 없는 일들이 벌어지곤 합니다.

이는 위에 언급한 기술들의 특징입니다. 관계형DB는 단 하나의 데이터라도 잃어버리면 안 된다는 사상 위에 설계된 기술이지만, 하둡이나 NoSQL은 데이터에 조금쯤은 오류가 있어도 좋다는 생각입니다.
사용자 삽입 이미지

하지만 페이스북이 빅 데이터 기술만 이용하는 것은 아닙니다. 페이스북도 마이SQL이나 오라클 같은 관계형 DB를 사용합니다. 대표적인 것이 프로필입니다. 상태 업데이트와는 달리 사용자 프로필은 언제라도 수정할 수 있습니다. 또 사용자 프로필 데이터에는 오류가 발생하지도 않습니다.

최근 국내 기업들도 하둡과 맵리듀스, NoSQL을 이용하는 사례가 늘고 있습니다. 하지만 앞에서 살펴본 것처럼 이 기술들은 장.단점이 분명합니다. 데이터의 정합성이 중요한 업무에 이 기술들을 사용하면 안 됩니다.

페이스북처럼 데이터 정합성이 중요한 서비스에는 관계형 DB를 이용하고, 상대적으로 데이터 정합성은 중요하지 않지만, 많은 데이터를 빠르게 처리하고자 할 때만 빅 데이터 기술을 이용해야 합니다.
2011/12/12 08:51 2011/12/12 08:51