กูเกิลเปิดเผยซอร์สโค้ดของ Protocol Buffers ภาษาที่ใช้แลกเปลี่ยนข้อมูลกันภายในกูเกิลเอง
กูเกิลมีแอพพลิเคชันสำหรับประมวลผลข้อมูล-สารสนเทศเป็นจำนวนมาก จึงต้องมีภาษาสำหรับแลกเปลี่ยนข้อมูลระหว่างกัน แต่ XML นั้นมี overhead สูงเมื่อต้องประมวลผลข้อมูลจำนวนมหาศาลแบบกูเกิล ทางออกของกูเกิลคือคิดค้นภาษาแลกเปลี่ยนข้อมูลแบบใหม่ขึ้นมาเองที่ไม่ซับซ้อน และเน้นประสิทธิผลในการส่งข้าม data center จึงออกมาเป็น Protocol Buffers
ตัวข้อมูลที่ส่งกันจริงๆ เรียกว่า message มีหน้าตาดังนี้ (ส่งข้อมูลชนิด int32 ค่า 1 เข้ารหัสแบบ Base 128 Varints)
08 96 01
ผู้ส่งต้องกำหนด schema ของ message (แบบเดียวกับ DTD หรือ XML Schema) ในไฟล์ .proto ซึ่งมีลักษณะเหมือน struct ของ C
message SearchRequest { required string query = 1; optional int32 page_number = 2; optional int32 result_per_page = 3; }
สิ่งที่กูเกิลเปิดซอร์สออกมารอบนี้คือ ตัวภาษา Protocol Buffers และไลบรารีสำหรับเรียกใช้ผ่าน C++, Java และ Python
ที่มา - Google Open Source Blog ผ่าน PC World
Comments
ตอนแรกอ่านชื่อข่าวผิดว่า "กูเปิดซอร์ส" -.-
สะกดว่า variants รึเปล่าครับ
สะกดแบบนี้จริงๆ ครับ ตอนแรกผมก็เข้าใจว่า variants
Var Int(eger)s มั้งครับ
นั่งงงเอกสารมันอยู่พักใหญ่ ได้ความว่า... จริงๆ แล้ว 08 96 01 คือ ข้อมูล varint (มันแปลว่าอะไรเนี่ย) เทียบค่าได้ (int32) 150 และมีแท็ก (id) เป็น 1 ที่เรียกว่า base 128 เพราะ 1 byte จะใช้ 7bit (คือ 128 ความเป็นไปได้นั่นเอง) ส่วนอีกบิตที่เป็น msb จะใช้บอกว่ายังมีข้อมูลมาต่ออีกหรือเปล่า (หลักการคล้ายๆ utf แต่ซับซ้อนน้อยกว่า)
---------- iPAtS
iPAtS
เล็กขนาดนี้น่าเอามาใส่ mpi