Kamis, 30 Oktober 2008

Rahasia di Balik Kecepatan Google

Tahukah Anda hanya dengan komputer-komputer sederhana yang berbasiskan Linux, Google mampu menghadirkan hasilnya dalam kurang dari satu detik! Patut saja jika ia dijuluki sebagai search engine nomor satu di dunia. Rahasia apa yang dimiliki Google sehingga mampu menjadi yang tercepat? Mari kita simak bersama!

Setiap perusahaan besar yang sukses tidak mungkin mau membeberkan rahasianya. Tentu saja hal ini untuk menghindari persaingan yang tidak diinginkan. Begitu pula dengan Google. Namun jangan keburu kecewa dulu, sebab meskipun Anda tidak dapat mengetahui detail tentang mesin yang ada di balik kesuksesannya, Anda tetap akan mendapatkan informasi tentang arsitekturnya secara garis besar. Ini saja sudah akan mencukupi gambaran yang dibutuhkan untuk mengetahui bagaimana caranya search engine tersebut mampu memberikan hasil dengan sangat cepat.

Bahkan kecepatan dan ketepatannya ini telah membuat Google tidak hanya dapat diakses dari situsnya saja. Beberapa situs lain juga banyak yang menambahkan Google sebagai fasilitas untuk mencari data. Karena hasil yang ditampilkan Google memang tidak selalu berupa halaman situs saja, melainkan juga halaman presentasi dan format lain yang memang dapat terakses.

Selain untuk mencari halaman situs, Google juga banya digunakan untuk mencari gambar atau foto. Tentu saja dengan kecepatan pencarian yang sama cepatnya. Dan tidak hanya itu saja keunikan Google. Satu lagi yang telah menjadikan Google sebagai search engine nomor satu di dunia adalah kemampuannya dalam mencari hasil dengan berbagai macam bahasa. Bahkan bahasa Indonesia juga telah tersedia dalam Google sendiri.

Meskipun demikian, Google juga masih menyimpan beberapa tradisi unik dalam sistemnya. Yaitu dengan tetap menampilkan hasil yang unik untuk beberapa result. Untuk lebih lengkapnya, sebelum kita jauh melangkah seperti apa sistem yang dimiliki search engine terbesar ini, ada baiknya jika terlebih dahulu kita mengetahui secara garis besar seperti apa kerja search engine yang ada saat ini. Agar dengan mudah kita dapat memahami bagaimana Google muncul sebagai search engine nomor satu.

Kerja Search Engine
Hampir seluruh search engine yang kini banyak tersedia di Internet pada dasarnya menggunakan sistem dasar yang sama. Ada empat komponen penting pada setiap search engine yang pertama adalah web crawler, lalu diikuti dengan proses pengindeksan, kemudian penyimpanan, dan yang terakhir adalah penampilan. Masing-masing bagian memiliki tugas yang berbeda-beda yang pada setiap search engine juga berbeda pula.

Web Crawler
Seperti yang dikenal, bahwa Internet merupakan sebuah jaringan (web) yang sangat luas. Ada ribuan bahkan jutaan situs yang ada dalam Internet. Oleh sebab itu untuk mengetahui apa saja yang tersedia dalam situs tersebut, sebuah search engine harus memiliki pasukan yang memang fungsinya mengunjungi atau istilahnya dalam dunia TI merayapi (crawl) setiap situs yang ada dalam Internet. Oleh sebab itu, bagian ini dinamakan web crawler, karena memang tugasnyalah menjelajah ke banyak situs yang ada di Internet.

Indexer
Setelah web crawler selesai menjelahi sebuah situs, maka ada komputer (baca: server) lain yang tugasnya pengindeksan kata apa saja yang ada dalam situs tersebut. Indeks ini akan menjadi bagian yang sangat penting, sebab di dalamnya berisi data yang mengatakan bahwa kata yang tengah Anda cari berada dalam sebuah situs tertentu.

Penyimpanan Data
Setelah diindeks, semua halaman situs disimpan dalam sebuah komputer yang memang tugasnya menyimpan. Komputer ini tentu saja harus memiliki ruang yang sangat luas sebab data yang disimpan dalam komputer ini akan terus bertambah besar. Mengingat jumlah situs dalam Internet sendiri semakin hari juga terus bertambah banyak.

Penampilan
Ini adalah bagian terakhir dari sebuah search engine. Tugas bagian ini adalah menampilkan hasil yang dimiliki oleh search engine pada seorang user. Bagaimana cepat dan tepatnya data yang ditampilkan tidak sepenuhnya tugas bagian ini, tapi juga tugas dari keseluruhan bagian. Namun hasil yang diberikan dari bagian ini, akan memberikan penilaian terhadap kualitas bagi search engine itu sendiri. Apakah sudah cukup cepat, tepat? Atau sangat lamban dan tidak akurat?

Dalam Google
Bagaimana dengan Google? Apakah yang membuatnya lebih cepat dan akurat dari search lain? Apakah Google memiliki konsep yang berbeda?

Sebenarnya meskipun semua search engine menggunakan konsep yang sama yang telah dituturkan tadi, tetap saja masih ada beberapa aspek lain yang membuat setiap search engine dengan search engine lainnya memiliki karakter-karakter yang sangat berbeda.

Hal ini dapat terjadi karena dua aspek penting yang kadang terlupakan, yaitu hardware dan software. Setiap search engine memiliki desain hardware-nya sendiri. Begitu pula dengan Google yang juga memiliki karakter hardware-nya sendiri. Namun seperti apa tepatnya sulit untuk diketahui sebab ini sama saja dengan membongkar rahasia perusahaan. Namun yang pasti, Google menggunakan semua perangkat hardware berbasiskan Linux (Red Hat) bahkan ada sebuah sumber yang mengatakan bahwa jaringan Linux terbesar pada sebuah perusahaan dimiliki oleh Google.

Selain perangkat hardware berbasiskan Linux, satu lagi yang menjadi basis fondasi Google adalah software-nya. Software-software yang didesain khusus untuk memenuhi kebutuhannya ini merupakan software yang cukup unik, pintar, dan sangat canggih hingga kolaborasinya dengan perangkat hardware-nya pun mampu memberikan hasil yang sangat cepat dan tepat pada siapa saja yang menggunakannya.

Untuk lebih jelasnya tentang bagaimana cara kerja Google, Anda dapat memperhatikan bagan yang pertama. Pada saat Anda memasukkan kata maupun kalimat pada boks yang disediakan, secara otomatis tepat setelah tombol Search ditekan, maka Google akan segera mencari data tersebut dalam mesin indeks. Setelah mesin indeks selesai menentukan halaman mana saja yang memuat apa yang Anda cari, maka mesin indeks akan memberikan hasil kerjanya pada server penyimpan dokumen. Kemudian dari sinilah data mulai dipilah, mana saja data yang akan ditampilkan, dan bagaimana urutannya. Baru setelah selesai data tersebut akan muncul pada layar Anda.

Sebenarnya cara kerja ini tidak jauh berbeda dengan cara kerja search engine lainnya, bedanya hanya terletak pada hasil yang ditampilkan jika search engine lain rata-rata menampilkannya dalam waktu lebih dari dua detik, maka Google sanggup menampilkan data yang akurat ini hanya dalam waktu kurang dari satu detik!

Jika cara yang dimiliki sama namun data yang hasilkan sangat berbeda, maka satu hal yang tidak boleh lengah ditelaah adalah arsitektur Google. Tempat di mana Google meletakkan teknologinya.

Sama seperti search engine lain, Google juga menggunakan web crawler sebagai prajurit terdepan yang bertugas mengunjungi satu situs ke satu situs lainnya. Web crawler ini dinamakan Googlebot. Googlebot bekerja secara paralel. Mereka terus merayap dari satu situs ke situs lainnya. Mulai dari memeriksa apakah situs yang pernah dikunjungi masih memeiliki data baru atau bahkan sudah tidak berlaku, Googlebot juga mengunjungi setiap situs dari link yang tersedia di setiap situs-situs sebelumnya.

Satu hal yang menjadi karakter Googlebot ialah ia akan semakin rajin mengunjungi situs yang sangat sering muncul dalam hasil pencarian untuk terus mengikuti perkembangan situs tersebut juga terhadap situs-situs yang sering ter-update.

Setelah selesai, data sementara akan ditampung ke dalam sebuah tempat yang dinamakan Repository. Pada tempat ini, setiap halaman diberikan identitas yang dinamakan DocID. Setelah diberikan DocID, baru data tersebut diindeksan. Dalam pengindeksan, Google menggunakan sebuah teknologi khusus yang dinamakan oleh Google sendiri sebagai teknologi Hypertext-Macthing Analisys. Sebuah teknologi yang tidak hanya mencatat setiap kata saja, melainkan juga atribut yang menemani kata tersebut. Seperti garis bawah, bentuk font, sampai pada susunan setiap kata dan kalimat dalam halaman tersebut.

Setelah diindeks, data masuk ke bagian Anchor untuk ditandai agar lebih cepat dalam pengaksesan dibantu dengan sebuah perangkat yang dinamakan URL Resolver, setiap halaman situs yang telah terindeks akan didata lagi menurut link-nya. Baik link yang mengantarkan kehalaman tersebut maupun link yang dimiliki oleh situ situ sendiri. Guna hasil yang diperoleh dari perangkat ini akan mempermudah PageRank bekerja. Pagerank adalah sebuah teknologi yang saat ini hanya dimiliki oleh Google sendiri. Teknologi PageRank yang berasal dari gabungan kata Page (salah satu yang membangun Google) dengan kata Rank (perankingan) ini sangat berperan besar pada ketepatan dan keakuratan data yang Anda peroleh ketika menggunakan Google. Dengan PageRank, semua halaman yang dikenal oleh Google diberikan peringkat. Bagaimana pemberian peringkat ini? Ada banyak hal yang sangat mempengaruhi peringkat setiap situs dalam Google di antaranya adalah: Semakin sering situs ini dikunjungi, maka akan semakin tinggi nilainya. Serta jika ada situs berkaliber besar memiliki link yang menuju situs tersebut, maka nilai situs itupun juga akan sangat tinggi. Dan semakin banyak situs yang memberikan link ke situs tersebut, maka peringkat situs tersebut juga akan naik.

Selagi data disusun peringkat demi peringkat, ada sebuah mesin yang digunakan sebagai storage server yang memang sengaja bertugas untuk menyimpan semua situs yang telah diberikan DocID. Penyimpanan tentu saja tidak dilakukan dengan pengompresan biasa. Selain data yang akan disimpan sangat banyak, sebuah search engine juga harus memperhitungkan jika sewaktu-waktu data tersebut akan diakses atau harus ditampilkan. Oleh sebab itu, Google telah mendesain sedemikian canggih storage server-nya sehingga meskipun terkompresi data tersebut tetap sangat mudah dan cepat terakses.

Begitulah Google bekerja hingga mampu menghadirkan hasil terbaik bagi Anda. Sebenarnya masih ada beberapa hal unik yang dimiliki oleh Google yang tidak dapat diungkapkan karena dianggap sangat rahasia. Seperti bagaimana sebenarnya program yang dimiliki oleh Google hingga mampu melakukan peringkat dengan tepat dan melakukan penyimpanan yang sangat efektif? Serta di mana letak server Google hingga mampu melakukan pencarian secara nonstop, tanpa mengalami downtime? Seperti halnya yang kadang terjadi pada search engine lain.