Papers

BigTable and Chubby Lock Service

มาว่ากันต่อถึงงานวิจัยอีก 2 ชิ้นสำคัญของกูเกิล

BigTable

BigTable เป็นฐานข้อมูลแบบตารางเดียวขนาดยักษ์ (เกินคำว่าใหญ่ไปแล้ว) ถึงแม้มันจะขาดฟีเจอร์หลายอย่างของฐานข้อมูลแบบ relational แต่ว่าจุดสำคัญอยู่ที่การจัดการข้อมูลขนาดใหญ่มากๆ (ใหญ่ที่สุดที่กูเกิลอ้างในเปเปอร์คือ ~800TB ซึ่งมาจาก crawler)

ลูกค้าของ BigTable มีอยู่ประมาณ 60 รายได้แก่ Google Analytics, Google Earth, Orkut เป็นต้น

ตอนนี้โครงสร้างพื้นฐานในการเก็บข้อมูลของกูเกิลจึงมี 2 ระบบ คือ Google File System (สำหรับข้อมูลที่เป็น unstructured เช่น ไฟล์เป็นก้อนๆ) และ BigTable (สำหรับข้อมูลแบบ structure เหมือนที่เก็บลงฐานข้อมูลทั่วๆ ไป) โดย BigTable นั้นขี่อยู่บน GFS อีกชั้นนึง (ให้ GFS ช่วยจัดการเรื่อง redundancy ให้)

MapReduce: Simplified Data Processing on Large Clusters

ต่อจากเปเปอร์ The Anatomy of a Large-Scale Hypertextual Web Search Engine เมื่อวานนี้ ยังอยู่ในช่วงไล่อ่านเปเปอร์ชิ้นสำคัญๆ ของกูเกิล ตั้งใจว่าจะอ่านให้ได้วันละสาม แต่เอาจริงขี้เกียจ เลยได้วันละอันเท่านั้น

MapReduce คืออะไร? ต้องเกริ่นก่อนว่าระบบประมวลผลของกูเกิลนั้นใช้คลัสเตอร์ ซึ่งทำจากพีซีธรรมดาๆ ราคาถูก ปัญหาอยู่ที่ว่าพีซีเหล่านี้ไม่เสถียรนัก (แต่ความเสถียร/ราคานั้นดีกว่าเครื่องเซิร์ฟเวอร์ราคาแพง) กูเกิลจึงต้องมีซอฟต์แวร์ที่ใช้แก้ปัญหาเหล่านี้

ซอฟต์แวร์ที่โด่งดังตัวแรกคือ Google File System ซึ่งเก็บข้อมูลทุกอย่างเป็น 3 สำเนา แยกกันอยู่คนละเครื่อง ส่วน MapReduce นั้นอยู่ในเลเยอร์ที่สูงขึ้นมาอีกหน่อย นั่นคือเป็น ไลบรารีภาษา C++ ที่คอยกระจายงานให้กับโปรแกรมของกูเกิล

How Google Works

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<br/> The Anatomy of a Large-Scale Hypertextual Web Search Engine<br/> 1998

อาจารย์แนะนำให้อ่าน สนุกมาก!

Subscribe to RSS - Papers