Windows 7 또는 Windows XP에서 HD로 파일을 검색하면 프로세스를 완료하는 데 몇 분이 걸립니다. Google에서 검색어를 입력하면 답변이 밀리 초 단위로 화면에 표시됩니다.
Google이 내 하드 드라이브보다 몇 배 더 큰 인터넷을 검색 할 수 있습니까? OS가 내 컴퓨터를 검색 할 수있는 것보다 빠릅니다. 컴퓨팅 성능과 올바른 알고리즘의 문제입니까?
Windows 7 또는 Windows XP에서 HD로 파일을 검색하면 프로세스를 완료하는 데 몇 분이 걸립니다. Google에서 검색어를 입력하면 답변이 밀리 초 단위로 화면에 표시됩니다.
Google이 내 하드 드라이브보다 몇 배 더 큰 인터넷을 검색 할 수 있습니까? OS가 내 컴퓨터를 검색 할 수있는 것보다 빠릅니다. 컴퓨팅 성능과 올바른 알고리즘의 문제입니까?
답변:
Google은 인터넷을 검색하지 않고 색인을 검색합니다. Google은 지속적으로 인터넷을 검색하고 색인을 생성하는 거대한 서버 팜을 보유하고 있습니다. 인덱싱되지 않은 하드 드라이브를 검색하는 것처럼이 프로세스에는 많은 시간이 걸립니다. Windows 7에는 하드 드라이브를 색인화하는 옵션이 있습니다. 이 프로세스는 처음에는 시간이 좀 걸리지 만 일단 실행되면 검색 결과가 즉시 나타납니다.
Google 검색의 작동 방식에 대한 자세한 내용을 보려면 Google의 " 검색 방법 "기사 또는 " 작동 방식 : Google 작동 방식 " 기사를 참조하십시오 .
Google의 사업은 검색이며 광고를 게재하는 데 중점을두고 있습니다. Google에서 데이터를 매우 빠르게 반환하기 위해 수행하는 작업은 다음과 같습니다.
검색 작동 방식에 대한 자세한 내용은이 링크를 참조하십시오.
상대적으로 색인이없는 하드 드라이브 검색은 드라이브의 모든 파일을 읽어야하므로 시간이 오래 걸릴 수 있습니다.
또한 파일 시스템과 색인을 트리로 생각할 수 있습니다. 파일 시스템에서 트리의 루트는 최상위 폴더이며 해당 폴더에 분기 (폴더) 또는 잎 (파일)이있을 수 있습니다. 각 분기에는 더 많은 폴더에 대한 하위 분기가 있고 더 많은 파일에 대한 분기가있을 수 있습니다. 이 구조를 검색하려면 찾고있는 잎을 찾기 위해 모든 가지 (및 하위 가지)를 '보행'해야합니다. 인덱스는이 계층을 뒤집습니다. 베이스는 알파벳이되고 모든 하위 브랜치는 이것에 대해 더 세분화됩니다. 잎은 찾고자하는 품목의 위치입니다. 이 구조를 검색하면 트리의 큰 섹션을 정리 (제외) 할 수 있습니다 (예 : 검색어의 첫 글자로 25 개의 다른 가지를 바로자를 수 있습니다).
약 4 년 전 나도 같은 질문을했다. 그러나 내 연구를 둘러 보았을 때 나는 그들이 가장 정교한 검색 알고리즘과 그 모든 것을 생각해 내기 위해 최선을 다한다는 사실 외에도 결국 읽었습니다.
그들이 사용한 주요 디자인 중 하나는 내가 생각하는 map reduce 아이디어와 비슷합니다. 농장에는 값싼 컴퓨터가 많이 있습니다. 이 컴퓨터들에 약 80 기가의 하드 디스크 공간 만두고 약 16 기가 RAM 또는 더 나은 32 기가 RAM을 갖도록하십시오 (가능한 한). 그것들은 그들이 디자인 한 정교한 시스템을 통해 연결되어 있음을 기억하십시오. 그러나 여기서 핵심 아이디어는 쿼리가 제출 될 때 RAM으로 새로운 데이터를 검색하려고 시도하는 시스템으로 쿼리가 전달된다는 것입니다. 저렴한 컴퓨터가 많이 있다는 것을 명심하십시오. 데이터는 RAM에 있기 때문에 하드 디스크보다 훨씬 빠릅니다. 그러나 그것들이 크게 도움이되는 정교한 (인덱싱 및 모든 알고리즘) 시스템을 가지고 있음을 잊지 마십시오.
Google이 모든 것을 저장한다는 것을 알고 있기 때문에이 데이터는 최신 정보 일 필요는 없습니다. RAM에 있어야 할 것과 마찬가지로 스플레이 트리와 동일한 원칙을 사용하여 사람들이 RAM에서 가장 많이 검색하는 것을 유지하고 가장 적게 검색된 항목을 하드 디스크로 플러시 할 수 있습니다.
이 작은 아이디어는 색인 작성 및 다른 사람들이 답변에서 언급 한 다른 모든 것들과 함께 하드 드라이브 검색보다 빠른 이유 중 하나 일 수 있습니다.
물론 나는 틀릴 수 있지만 이것은 나에게 의미가 있었다. 그리고 나는 배운 것에 만족했습니다.
나는 너무 오래 전에이 질문이 있었기 때문에 이것에 추가 할 것이라고 생각하고 Google이 표면에서 무엇을하는지 설명하는 훌륭한 비디오를 발견했습니다. 보고 흥미 롭습니다.
그는 조금 더 깊어 지지만 기술적으로 길을 잃을 정도로 깊지는 않습니다.
건배.
간단한 수준으로 질문에 대답하려면 : 뒷면에 키워드 색인이있는 교과서가 있다고 가정하십시오.
하드 디스크를 검색하는 것은 (적어도 적어도 순진한) 책을 한 페이지 씩 살펴 보는 것과 같으며 각 행에서 키워드가 나타나는지 스캔합니다.
인터넷 검색 엔진을 사용하는 것은 색인에서 키워드를 찾은 다음 제공하는 페이지 번호로 직접 전환하는 것과 같습니다.
물론 실제로는 이것보다 훨씬 복잡합니다. 예를 들어, 일반적으로 인터넷과 다른 종류의 정보를 하드 디스크에서 검색합니다. 그러나 제거해야 할 기본 사항은 검색 엔진이 색인을 사용하고 있다는 것입니다. 그것은 이미 한 단어 씩 "책"을 겪었으며, 단어의 위치와 함께 단어 목록을 정리했으며, 목록을 빠르게 찾을 수있는 방식으로 목록을 구성했습니다. .
예를 들어, 책에서 색인 구성을 생각해보십시오. 첫째, 일반적으로 알파벳순으로 정렬되며 둘째로 글자 제목이있을 수 있습니다. 색인에서 단어를 찾으면 원하는 문자로 시작하는 단어 목록을 바로 볼 수 있습니다. 그리고 목록이 정렬되어 있기 때문에 목록에서 원하는 단어를 쉽게 찾거나 누락 된 단어를 빨리 알 수 있습니다.
요약하자면, 하드 디스크에는 책이 있고 검색 엔진에는 색인이 있습니다. 다른 사람들이 지적했듯이 소프트웨어를 사용하여 하드 디스크를 색인화 할 수 있으며 전체 대신 색인을 사용할 수 있습니다.