Có ai biết làm thế nào Google hoặc Yahoo thực hiện tìm kiếm từ khóa đối với lượng dữ liệu rất lớn không? Những loại cơ sở dữ liệu hoặc công nghệ nào họ sử dụng cho việc này?
Phải mất vài mili giây, nhưng chúng có hơn một tỷ trang được lập chỉ mục.
Có ai biết làm thế nào Google hoặc Yahoo thực hiện tìm kiếm từ khóa đối với lượng dữ liệu rất lớn không? Những loại cơ sở dữ liệu hoặc công nghệ nào họ sử dụng cho việc này?
Phải mất vài mili giây, nhưng chúng có hơn một tỷ trang được lập chỉ mục.
Câu trả lời:
Tôi chắc chắn có sự kết hợp của nhiều thứ:
rất nhiều - dữ liệu được phân phối và nhân rộng trên nhiều nút và các trung tâm dữ liệu khác nhau
Chim bồ câu .
Trung tâm của công nghệ tìm kiếm của Google là PigeonRank ™ , một hệ thống xếp hạng các trang web được phát triển bởi những người sáng lập Google, Larry Page và Sergey Brin tại Đại học Stanford:
Dựa trên công trình đột phá của BF Skinner, Page và Brin đã lý giải rằng các cụm chim bồ câu (PC) chi phí thấp có thể được sử dụng để tính giá trị tương đối của các trang web nhanh hơn các trình soạn thảo của con người hoặc thuật toán dựa trên máy. Và trong khi Google có hàng tá kỹ sư làm việc để cải thiện mọi khía cạnh của dịch vụ của chúng tôi hàng ngày, PigeonRank tiếp tục cung cấp nền tảng cho tất cả các công cụ tìm kiếm trên web của chúng tôi.
Tại sao PigeonRank ™ được cấp bằng sáng chế của Google hoạt động tốt như vậy
Thành công của PigeonRank chủ yếu dựa vào khả năng huấn luyện vượt trội của chim bồ câu trong nước (Columbiaa livia) và khả năng độc đáo của nó để nhận ra các vật thể bất kể định hướng không gian. Chim bồ câu xám phổ biến có thể dễ dàng phân biệt giữa các mục chỉ hiển thị những khác biệt nhỏ nhất, một khả năng cho phép nó chọn các trang web có liên quan trong số hàng ngàn trang tương tự.
Bằng cách thu thập đàn chim bồ câu trong các cụm dày đặc, Google có thể xử lý các truy vấn tìm kiếm với tốc độ vượt trội so với các công cụ tìm kiếm truyền thống, thường dựa vào chim săn mồi, gà mái ấp trứng hoặc chim nước di chuyển chậm để xếp hạng mức độ phù hợp của chúng.
Khi một truy vấn tìm kiếm được gửi tới Google, nó sẽ được chuyển đến một chuồng dữ liệu nơi theo dõi các trang kết quả flash với tốc độ nhanh . Khi một trong những kết quả có liên quan được quan sát bởi một trong những con chim bồ câu trong cụm, nó đập vào một thanh thép bọc cao su bằng cái mỏ của nó, nó gán cho trang một giá trị PigeonRank. Đối với mỗi nụ hôn, PigeonRank tăng . Những trang nhận được nhiều điểm nhất, được trả lại ở đầu trang kết quả của người dùng với các kết quả khác được hiển thị theo thứ tự mổ.
Điều quan trọng là ghi nhớ một số điều về google:
DB của họ là BigTable độc quyền - nó được thiết kế tùy chỉnh bởi GOOGLE để phù hợp chính xác với nhu cầu của họ
DB độc quyền của họ được xây dựng dựa trên hệ thống tệp độc quyền của họ - Hệ thống tệp của Google - được thiết kế lại bởi GOOGLE , để có thể dễ dàng mở rộng bằng phần cứng hàng hóa thông thường. Như Aaron đã đề cập trong câu trả lời của mình, họ có một số lượng lớn máy chủ trung bình thay vì một số lượng nhỏ máy chủ rất mạnh.
Họ lưu trữ các bảng riêng lẻ trên nhiều máy như một cách giúp truy cập nhanh hơn - phần mềm của họ biết dữ liệu nào trên máy nào và thay vì đập qua đĩa để xác định vị trí có thể đi thẳng đến máy chủ với thông tin liên quan.
Google không sử dụng công nghệ cơ sở dữ liệu quan hệ truyền thống. Nó phát triển công nghệ riêng của mình, bảng lớn và bản đồ giảm. Các tài liệu nghiên cứu ban đầu ở đây: Bảng lớn và Bản đồ / Giảm . Cũng được quan tâm là bảng chuỗi được sắp xếp SSTable .
Công nghệ tương tự hiện được sử dụng trong cơ sở dữ liệu hadoop và NoQuery .
Đọc Steven Levy " Trong The Plex: Cách Google suy nghĩ, hoạt động và định hình cuộc sống của chúng ta ". Cuốn sách này là một cuốn sách hấp dẫn về tất cả những điều Google và thảo luận ở cấp độ cao một số công nghệ và kỹ thuật đằng sau tìm kiếm. Aaron tổng hợp nó rất tốt trong câu trả lời của anh ấy và cuốn sách của Levy sẽ cung cấp cho bạn một số chi tiết hơn về cách họ làm điều đó.