대형 검색 엔진은 어떤 데이터베이스 기술을 사용합니까? [닫은]


32

Google 또는 Yahoo가 매우 많은 양의 데이터에 대한 키워드 검색을 수행하는 방법을 아는 사람이 있습니까? 어떤 종류의 데이터베이스 나 기술을 사용합니까?

몇 밀리 초가 걸리지 만 색인이 10 억 페이지가 넘습니다.


Stack Overflow에 대해서도 비슷한 질문이 있습니다 : stackoverflow.com/questions/362956/…
splattne

답변:


21

나는 것들의 조합이 있다고 확신합니다.

  • 심각한 하드웨어
  • 그것의 많은-데이터는 많은 노드와 다른 데이터 센터에 분산되고 복제됩니다

    • (실제로 Google의 경우 적어도 수천 대의 저급 서버가 있다고 생각합니다)
  • 많은 일반적인 쿼리 결과가 캐시되므로 이전에 검색 한 적이없는 항목에 대한 잠재적 인 검색을 미리 채 웁니다. 그들은 당신이 검색 할 수있는 것을 예측하고 이미 결과가 미리 계산되고 어딘가에 캐시되기를 바라고 있습니다. 많은 경우에, 그들은-당신이 전에 구글에 의해 당신이 전에 사람에 의해 요청되지 않은 검색 결과가 많지 않습니다. 새로운 검색어를 얻으면 자유 텍스트 검색과 같은 것을 사용합니다. 검색 한 후 문서에서 키워드를 찾으려고하지 않고 페이지를 처음 크롤링 할 때 키워드가 의미 적으로 추출 될 것으로 예상합니다. . 물론 그들은 정기적으로 캐시를 무효화하고 페이지 순위를 다시 계산해야합니다.

34

비둘기 .

Google 검색 기술의 핵심은 스탠포드 대학교의 Google 창립자 Larry Page와 Sergey Brin이 개발 한 웹 페이지 순위 시스템 인 PigeonRank ™입니다 .

여기에 이미지 설명을 입력하십시오

BF Skinner의 획기적인 작업을 바탕으로 Page와 Brin은 저렴한 비용의 비둘기 클러스터 (PC)를 사용하여 인간 편집자 나 기계 기반 알고리즘보다 웹 페이지의 상대적 가치를 더 빠르게 계산할 수 있다고 생각했습니다. Google에는 매일 수십 명의 엔지니어가 서비스의 모든 측면을 개선하기 위해 노력하고 있지만 PigeonRank는 모든 웹 검색 도구의 기초를 계속 제공합니다.

Google의 특허받은 PigeonRank ™가 잘 작동하는 이유

PigeonRank의 성공은 주로 국내 비둘기 (Columba livia)뛰어난 훈련 성과 공간 방향에 관계없이 물체를 인식 할 수 있는 고유 한 능력 에 달려 있습니다. 일반적인 회색 비둘기는 작은 차이 만 표시하는 항목, 즉 수천 개의 유사한 페이지 중에서 관련 웹 사이트를 선택할 수있는 기능을 쉽게 구별 할 수 있습니다.

밀집된 군집에서 비둘기 떼를 모아서 Google은 기존의 검색 엔진보다 빠른 속도로 검색 쿼리를 처리 할 수 ​​있습니다.이 검색 엔진은 일반적으로 새의 먹이, 새끼를 낳는 암탉 또는 느리게 움직이는 물새를 사용하여 관련성 순위를 평가합니다.

하면 검색 쿼리를 제출 Google에, 그것은 데이터 둥지로 라우팅 모니터는 타오르는 속도로 결과 페이지를 플래시 . 때 중요한 결과가 관찰된다 클러스터 비둘기 중 하나에 의해, 상기 페이지 하나의 PigeonRank 값을 할당의 부리와 고무 - 코팅 강철 막대를 친다. 각 펙마다 PigeonRank가 증가 합니다. 가장 많은 펙을받는 해당 페이지는 사용자 결과 페이지의 맨 위에 리턴되며 다른 결과는 펙킹 순서로 표시됩니다.


6
참고 :이 페이지는 April Fool 's Day-2002에 게시되었습니다
dr jimbob

19

Google에 대한 몇 가지 사항을 명심해야합니다.

  • 이들의 DB는 독점 빅 테이블 이 사용자 정의 설계되었습니다 - Google에 의해 정확하게 자신의 요구에 맞게

  • 자사의 독점 DB는 독점 파일 시스템 인 Google 파일 시스템 위에 구축되며 일반적인 상용 하드웨어를 사용하여 쉽게 확장 할 수 있도록 GOOGLE 에서 다시 설계했습니다 . Aaron이 자신의 답변에서 언급했듯이 아주 적은 수의 강력한 서버 대신 많은 수의 평균 서버가 있습니다.

소프트웨어는 액세스 속도를 높이기 위해 여러 머신에 개별 테이블을 저장합니다. 소프트웨어는 어떤 데이터가 어떤 머신에 있는지 알고 디스크를 스 래싱하는 대신 관련 정보로 서버로 바로 이동할 수있는 위치를 파악합니다.



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.