Google이 하드 드라이브 검색보다 훨씬 빠른 이유는 무엇입니까? HD로 파일을 검색하면

Windows 7 또는 Windows XP에서 HD로 파일을 검색하면 프로세스를 완료하는 데 몇 분이 걸립니다. Google에서 검색어를 입력하면 답변이 밀리 초 단위로 화면에 표시됩니다.

Google이 내 하드 드라이브보다 몇 배 더 큰 인터넷을 검색 할 수 있습니까? OS가 내 컴퓨터를 검색 할 수있는 것보다 빠릅니다. 컴퓨팅 성능과 올바른 알고리즘의 문제입니까?



답변

Google은 인터넷을 검색하지 않고 색인을 검색합니다. Google은 지속적으로 인터넷을 검색하고 색인을 생성하는 거대한 서버 팜을 보유하고 있습니다. 인덱싱되지 않은 하드 드라이브를 검색하는 것처럼이 프로세스에는 많은 시간이 걸립니다. Windows 7에는 하드 드라이브를 색인화하는 옵션이 있습니다. 이 프로세스는 처음에는 시간이 좀 걸리지 만 일단 실행되면 검색 결과가 즉시 나타납니다.

Google 검색의 작동 방식에 대한 자세한 내용을 보려면 Google의 ” 검색 방법 “기사 또는 ” 작동 방식 : Google 작동 방식 ” 기사를 참조하십시오 .


답변

Google은 전화 번호부에서 색인 (색인)을 검색하는 것과 같습니다. Windows 검색은 색인되지 않은 건물의 숫자를 확인하는 것과 유사합니다.

또 다른 비유는 잘 정리 된 도서관과 카드 카탈로그를 살펴 보거나 매번 정리되지 않은 책 더미를 정렬하는 것입니다.

기본적으로 검색하기 전에 수행 한 모든 조직 작업이 빠르게 이루어집니다.

참고 : 색인이 생성 된 위치를 검색 할 때 Windows 검색도 반응이 빠릅니다.


답변

Google의 사업은 검색이며 광고를 게재하는 데 중점을두고 있습니다. Google에서 데이터를 매우 빠르게 반환하기 위해 수행하는 작업은 다음과 같습니다.

  • 먼저 MapReducePageRank 를 사용 하여 월드 와이드 웹의 종합 색인을 생성합니다. 정기적으로 업데이트되므로 결과가 최신입니다.
  • 이 색인은 Google의 많은 서버에 분산되어 복제됩니다.
  • 쿼리가 여러 서버로 분할되어 반환 된 결과를 작성합니다. 이를 통해 프로세스를 고도로 병렬화 할 수 있습니다.
  • 일반적인 쿼리와 결과가 캐시되므로 검색을 전혀 수행 할 필요가 없습니다.

검색 작동 방식에 대한 자세한 내용은이 링크를 참조하십시오.

상대적으로 색인이없는 하드 드라이브 검색은 드라이브의 모든 파일을 읽어야하므로 시간이 오래 걸릴 수 있습니다.

또한 파일 시스템과 색인을 트리로 생각할 수 있습니다. 파일 시스템에서 트리의 루트는 최상위 폴더이며 해당 폴더에 분기 (폴더) 또는 잎 (파일)이있을 수 있습니다. 각 분기에는 더 많은 폴더에 대한 하위 분기가 있고 더 많은 파일에 대한 분기가있을 수 있습니다. 이 구조를 검색하려면 찾고있는 잎을 찾기 위해 모든 가지 (및 하위 가지)를 ‘보행’해야합니다. 인덱스는이 계층을 뒤집습니다. 베이스는 알파벳이되고 모든 하위 브랜치는 이것에 대해 더 세분화됩니다. 잎은 찾고자하는 품목의 위치입니다. 이 구조를 검색하면 트리의 큰 섹션을 정리 (제외) 할 수 있습니다 (예 : 검색어의 첫 글자로 25 개의 다른 가지를 바로자를 수 있습니다).


답변

약 4 년 전 나도 같은 질문을했다. 그러나 내 연구를 둘러 보았을 때 나는 그들이 가장 정교한 검색 알고리즘과 그 모든 것을 생각해 내기 위해 최선을 다한다는 사실 외에도 결국 읽었습니다.

그들이 사용한 주요 디자인 중 하나는 내가 생각하는 map reduce 아이디어와 비슷합니다. 농장에는 값싼 컴퓨터가 많이 있습니다. 이 컴퓨터들에 약 80 기가의 하드 디스크 공간 만두고 약 16 기가 RAM 또는 더 나은 32 기가 RAM을 갖도록하십시오 (가능한 한). 그것들은 그들이 디자인 한 정교한 시스템을 통해 연결되어 있음을 기억하십시오. 그러나 여기서 핵심 아이디어는 쿼리가 제출 될 때 RAM으로 새로운 데이터를 검색하려고 시도하는 시스템으로 쿼리가 전달된다는 것입니다. 저렴한 컴퓨터가 많이 있다는 것을 명심하십시오. 데이터는 RAM에 있기 때문에 하드 디스크보다 훨씬 빠릅니다. 그러나 그것들이 크게 도움이되는 정교한 (인덱싱 및 모든 알고리즘) 시스템을 가지고 있음을 잊지 마십시오.

Google이 모든 것을 저장한다는 것을 알고 있기 때문에이 데이터는 최신 정보 일 필요는 없습니다. RAM에 있어야 할 것과 마찬가지로 스플레이 트리와 동일한 원칙을 사용하여 사람들이 RAM에서 가장 많이 검색하는 것을 유지하고 가장 적게 검색된 항목을 하드 디스크로 플러시 할 수 있습니다.

이 작은 아이디어는 색인 작성 및 다른 사람들이 답변에서 언급 한 다른 모든 것들과 함께 하드 드라이브 검색보다 빠른 이유 중 하나 일 수 있습니다.

  • 다른 검색을 기반으로 예측할 수있는 기능입니다.
  • 데이터는 우리 모두가 알고있는 RAM에 가장 빠릅니다.
  • 여러 시스템을 사용하여 분할 및 정복
  • 검색이 최우선입니다.

물론 나는 틀릴 수 있지만 이것은 나에게 의미가 있었다. 그리고 나는 배운 것에 만족했습니다.


답변

Google은 매우 정교한 색인 시스템, 병렬 작업 및 표준 독립형 컴퓨터에서 사용할 수없는 여러로드 밸런싱 기술을 사용합니다. 웹 검색과 하드 디스크 파일 검색 사이에는 유사성이 거의 없으며 Google은 특정 사용 사례에 맞게 크게 최적화합니다.


답변

2004 년 일부 Google 직원은 MapReduce 라는 논문을 발표했으며 그 이후로 수백 배나 향상되었습니다.

또한 HDFS (Hadoop Distribud File System) 와 같은 분산 파일 시스템 인 Google File System (GFS) 을 사용하며 목적에 맞게 최적화되었습니다. 또한 내가 아는 한 GFSHDFS 보다 천 배 더 빠릅니다 .


답변

나는 너무 오래 전에이 질문이 있었기 때문에 이것에 추가 할 것이라고 생각하고 Google이 표면에서 무엇을하는지 설명하는 훌륭한 비디오를 발견했습니다. 보고 흥미 롭습니다.

유튜브 1에
구글 유튜브 2에 구글

그는 조금 더 깊어 지지만 기술적으로 길을 잃을 정도로 깊지는 않습니다.

건배.