2009년 11월 28일 토요일

구글의 비밀을 엿보는 재미

Google(구글)의 화면은 아주 단순하지만, 그 커튼 뒤의 세상은 단순하지 않다.
방대하고 복잡하며 치열하다. 백만대가 넘는 서버(Server)가 빠르게 움직이고 있다.
한쪽 끝에서는 부지런히 웹(Web)을 돌아다니며 데이터를 수집하고 있다.
반대쪽 끝에서는 세계 각지에서 쏟아져 들어오는 사용자들의 요청을 처리하기에 바쁘다.
모든게 치밀하게 연결되어 마치 거대한 하나의 생명체처럼 꿈틀거리면서
단순한 검색 결과의 화면을 쉴 새 없이 뿜어준다.
 
정확하게 말하면 Google은 검색 엔지 회사가 아니라 일종의 데이터 관리 회사다.
구글은 검색할 수 있는 URL의 수가 1조를 넘는다고 하며, 하나의 URL이 다 수의 다른 URL을
가질 수 있는 것을 생각하면 구글이 관리하는 데이터의 양은 상상을 초월한다.
여기에 Gmail 같은 다른 서비스의 데이터도 더해지면서 엄청난 양의 데이터를 수집, 정리하고 관리한다.
구글의 검색 성능이 탁월한 것은 데이터를 탁월하게 관리하는 것에서 출발한다.
 
숱한 자료의 탄생과 성장과 분화와 죽음이 끝없이 이어지는 웹은 살아있는 정글이다.
웹 검색 엔진은 이런 정보 생태계의 상황을 그대로 소화할 수 있어야 한다.
특히 구글처럼 웹 페이지 사이의 링크 분석을 검색 순위에 깊이 반영하는 경우는
전체 자료들 사이의 복잡한 관계를 분석하는 일도 필수적이며,
이 모든 작업의 결과를 모아 단순하고 빠르게 표시해야 한다.
 
구글의 시스템은 웹을 닮았다. 무엇보다도 자신들의 모태가 되는 웹의 구조를 그대로 가져왔다.
데이터 처리는 한 곳에 집중시키지 않고 자원을 분산시켜 처리한다.
이런 엄청난 규모의 서버와 데이터를 구글처럼 저렴하면서도 안정적으로 운영하는 회사는 없다.
완벽한 시스템보다는 효과적인 시스템을 추구하며, 하드웨어가 아니라 소프트웨어를 통하여 안정성을 유지한다.
문제를 피하기보다는 끊임없이 문제가 생긴다는 것을 전제로, 문제가 발생하면 즉각 다른 대안으로 연결된다.
누군가 더 큰 돈을 쏟아 부으면 규모는 흉내낼 수 있을 지 모르겠지만 안정성과 확장성까지 따라잡을지는 의문이다. '클라우드 컴퓨팅', '스케일러블 컴퓨팅' 같은 딱딱한 용어를 사용하지 않아도 구글속에 컴퓨팅의 미래가 있다.
 
<출처: 구글을 지탱하는 기술>

댓글 없음:

댓글 쓰기