ของแจกจากงาน Google Developer Day 2008 เป็น USB drive ขนาด 1GB ภายในมีไฟล์จาก code.google.com โครงการต่างๆ เช่น App Engine หรือ Android แถมมาให้
วันก่อนอ่านบล็อกของผู้ยิ่งใหญ่ 2 คนในโลก Web 2.0 คือ Tim O’Reilly (คนแจ้งเกิดคำว่า Web 2.0) และ Michael Arrington แห่ง TechCrunch (คนที่หากินกับคำว่า Web 2.0 ได้มากที่สุดในความคิดผม) เขียนบล็อกโต้กันเรื่อง Yahoo-Microsoft-Google และอนาคตของอินเทอร์เน็ต
อ่านแล้วอยากเขียนเรื่องนี้ลง Blognone แต่คิดไปคิดมารู้สึกว่าตัวเองยังตกผลึกทางความคิดไม่พอ ครั้นจะ dismiss เรื่องนี้ไปก็เสียดาย เขียนแบบย่อความอย่างเดียวลงบล็อกแทนละกัน เผื่อว่าอนาคตคิดออกแล้วจะได้กลับมาอ่านความคิดตัวเองอีกรอบ
มาว่ากันต่อถึงงานวิจัยอีก 2 ชิ้นสำคัญของกูเกิล
BigTable เป็นฐานข้อมูลแบบตารางเดียวขนาดยักษ์ (เกินคำว่าใหญ่ไปแล้ว) ถึงแม้มันจะขาดฟีเจอร์หลายอย่างของฐานข้อมูลแบบ relational แต่ว่าจุดสำคัญอยู่ที่การจัดการข้อมูลขนาดใหญ่มากๆ (ใหญ่ที่สุดที่กูเกิลอ้างในเปเปอร์คือ ~800TB ซึ่งมาจาก crawler)
ลูกค้าของ BigTable มีอยู่ประมาณ 60 รายได้แก่ Google Analytics, Google Earth, Orkut เป็นต้น
ตอนนี้โครงสร้างพื้นฐานในการเก็บข้อมูลของกูเกิลจึงมี 2 ระบบ คือ Google File System (สำหรับข้อมูลที่เป็น unstructured เช่น ไฟล์เป็นก้อนๆ) และ BigTable (สำหรับข้อมูลแบบ structure เหมือนที่เก็บลงฐานข้อมูลทั่วๆ ไป) โดย BigTable นั้นขี่อยู่บน GFS อีกชั้นนึง (ให้ GFS ช่วยจัดการเรื่อง redundancy ให้)
ต่อจากเปเปอร์ The Anatomy of a Large-Scale Hypertextual Web Search Engine เมื่อวานนี้ ยังอยู่ในช่วงไล่อ่านเปเปอร์ชิ้นสำคัญๆ ของกูเกิล ตั้งใจว่าจะอ่านให้ได้วันละสาม แต่เอาจริงขี้เกียจ เลยได้วันละอันเท่านั้น
MapReduce คืออะไร? ต้องเกริ่นก่อนว่าระบบประมวลผลของกูเกิลนั้นใช้คลัสเตอร์ ซึ่งทำจากพีซีธรรมดาๆ ราคาถูก ปัญหาอยู่ที่ว่าพีซีเหล่านี้ไม่เสถียรนัก (แต่ความเสถียร/ราคานั้นดีกว่าเครื่องเซิร์ฟเวอร์ราคาแพง) กูเกิลจึงต้องมีซอฟต์แวร์ที่ใช้แก้ปัญหาเหล่านี้
ซอฟต์แวร์ที่โด่งดังตัวแรกคือ Google File System ซึ่งเก็บข้อมูลทุกอย่างเป็น 3 สำเนา แยกกันอยู่คนละเครื่อง ส่วน MapReduce นั้นอยู่ในเลเยอร์ที่สูงขึ้นมาอีกหน่อย นั่นคือเป็น ไลบรารีภาษา C++ ที่คอยกระจายงานให้กับโปรแกรมของกูเกิล
In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems.
Sergey Brin and Lawrence Page
The Anatomy of a Large-Scale Hypertextual Web Search Engine
1998
อาจารย์แนะนำให้อ่าน สนุกมาก!
ถ้าพูดถึงงานวิจัยที่เป็นต้นกำเนิดของกูเกิล คนมักนึกกันถึงแต่ PageRank แต่เอาเข้าจริงแล้ว เปเปอร์ที่สำคัญกว่ามากๆ คืออันนี้ เพราะเป็นการลองสร้างระบบจริงที่ใช้ทดสอบว่า PageRank นั้นเวิร์คแค่ไหน ถ้าอ่านดูแล้วจะเข้าใจว่าทำไมกูเกิลสมควรดัง เพราะ Page กับ Brin ใส่ใจในรายละเอียดของการออกแบบเพื่อรีดประสิทธิภาพมากๆ ทำกันตั้งแต่ระดับบิตของ data structure ไปจนถึง crawler ทำแคช DNS เพื่อจะได้ไม่เสียเวลา lookup
นอกจากนั้น ในเปเปอร์ฉบับนี้ยังแสดงแนวคิดหลายอัน ที่สุดท้ายกลายมาเป็นผลิตภัณฑ์ของกูเกิลในปัจจุบัน ไม่ว่าจะเป็น Google File System หรือ AdWord รวมถึงวิสัยทัศน์ว่าจะ index ทุกข้อความที่มนุษย์โลกเขียนขึ้นมาให้ได้ภายใน 10 ปี !!!
เดี๋ยวอ่านเปเปอร์ MapReduce กับ BigTable ต่อ ของ GFS เคยอ่านจบเมื่อนานมาแล้วแต่ลืมหมด สงสัยต้องอ่านซ้ำ