ตอบ ความหมาย Client Server
Server (ผู้ให้บริการ) เป็นโปรเซสซึ่งทำหน้าที่บริการแก่โปรเซสที่ขอเข้ามา (a logical process that provides services tot requesting processes) โดยทั่ว ๆ ไปแล้วมันจะไม่ทำการส่งผลลัพธ์ไปยังผู้ขอจนกว่าโปรเซสที่ขอจะบอกให้มันส่ง ทั้งนี้ขึ้นอยู่กับตัวผู้ให้บริการที่จะจัดการกับบริการต่าง ๆ และการสื่อสารต่าง ๆ ที่เกิดขึ้นพร้อม ๆ กันเมื่อมีการเรียกขอบริการเกิดขึ้น คำว่าผู้ให้บริการนี้ผู้อ่านไม่ควรจะไปเข้าใจว่าเป็นฮาร์ดแวร์ชิ้นหนึ่ง เช่น โปรเซสเซอร์พิเศษที่ใช้รันซอฟต์แวร์ของผู้ให้บริการ ผู้ให้บริการนั้นมีอยู่หลายประเภท รวมทั้งผู้ให้บริการด้านเครือข่าย ไฟล์ เทอร์มินัล และฐานข้อมูล ผู้ให้บริการฐานข้อมูลเป็นโปรเซสที่มีหน้าที่รับผิดชอบประมวลผลการขอบริการฐานข้อมูลโดยเฉพาะ ผู้เขียนจะจำกัดความหมายของผู้ให้บริการในบทความนี้ให้เป็นผู้ให้บริการฐานข้อมูลโดยเฉพาะเท่านั้น
Client (ผู้ขอใช้บริการ) คือ โปรเซสที่ขอรับบริการจากผู้ให้บริการ (Processes that request services from a sercer) เช่นเดียวกับที่กล่าวมาแล้วข้างต้น คำว่า client ก็ไม่ควรจะไปสับสนกับฮาร์ดแวร์ เช่น โปรเซสเซอร์ที่ต่ออยู่กับฮาร์ดแวร์ที่เป็นผู้ให้บริการ ลักษณะง่าย ๆ อย่างหนึ่งที่ใช้ในการแยกความแตกต่างระหว่างผู้ขอใช้บริการกับผู้ให้บริการก็คือ ผู้ขอใช้บริการเป็นผู้เริ่มต้นกระบวนการสื่อสาร (ซึ่งไม่จำเป็นต้องเป็นกระบวนการสื่อสารทางด้านฐานข้อมูล) ไปยังผู้ให้บริการ ผู้ให้บริการจะไม่เป็นผู้เริ่มต้นกระบวนการสื่อสารไปยังผู้ขอใช้บริการ เป็นหน้าที่ของผู้ขอใช้บริการที่จะต้องเริ่มต้นกระบวนการสื่อสาร เรียกขอใช้บริการรับรู้การเสร็จสิ้นของบริการและรับผลลัพธ์จากผู้ให้บริการของมัน ในสถาปัตยกรรม client-server ผู้ขอใช้บริการหลาย ๆ ตัว อาจจะเรียกใช้บริการจากผู้ให้บริการเพียงตัวเดียวได้ ตัวผู้ขอใช้บริการอาจจะขอบริการทีละอย่าง หรือหลาย ๆ อย่างพร้อมกันได้โดยที่ตัวมันเองไม่จำเป็นต้องทำหน้าที่จัดการเรื่องการบริการ หรือการสื่อสารที่เกิดขึ้นพร้อม ๆ กันแต่อย่างใด
Client-server communicication
การติดต่อสื่อสารระหว่างผู้ขอใช้บริการ และผู้ให้บริการ ซึ่งขึ้นอยู่กับการติตตั้งที่เป็นไปได้มากมายหลายแบบคือ LAN, WAN การสื่อสารระหว่างงานผ่านทาง mailbox ของระบบปฏิบัติการที่เป็นมัลติทาสกิง การใช้หน่วยความจำร่วมกัน และ named pipes เป็นต้น อย่างไรก็ตามสำหรับสถาปัตยกรรม client-server แล้วรูปแบบและการเชื่อมต่อทางกายภาพจะไม่เป็นสิ่งที่ต้องคำนึงถึงในการใช้งาน เพื่อที่การแก้ไข หรือการเปลี่ยนรูปแบบการติดต่อสื่อสารจะไม่ส่งผลกระทบให้เกิดการเปลี่ยนแปลงต่อแอพพลิเคชันและการประมวลผลข้อมูลของระบบ
การทำงานของระบบ Client and Server
ภายในองค์กรขนาดใหญ่นั้น ข้อมูลทั้งหมดที่แอพพลิเคชันต่าง ๆ จะเข้ามาเรียกใช้จะถูกเก็บไว้ในฐานข้อมูลส่วนกลางเพียงแห่งเดียว เมื่อข้อมูลมีจำนวนมากขึ้น แอพพลิเคชันทำงานซับซ้อนมากขึ้น มีผู้เรียกใช้ข้อมูลจำนวนมากขึ้นและบ่อยครั้งขึ้น การใช้เครื่องมินิคอมพิวเตอร์หรือเครื่องเมนเฟรมมาทำการประมวลผลแอพพลิเคชันส่วนกลางทั้งหมดสำหรับให้บริการแก่ผู้ใช้ทุก ๆ คนนั้นดูจะเป็นทางเลือกที่ต้องเสียค่าใช้จ่ายสูงขึ้นเรื่อย ๆ โดยเฉพาะเมื่อเทียบกับอัตราส่วนราคาต่อประสิทธิภาพของระบบไมโครคอมพิวเตอร์ ด้วยเหตุผลดังนี้ หนทางในการแบ่งเบาภาระการประมวลผลจากเครื่องมินิคอมพิวเตอร์หรือเครื่องเมนเฟรมมาสู่การประมวลผลของเครื่องไมโครคอมพิวเตอร์ที่มีราคาถูกกว่ามาก จึงได้รับความสนใจมากขึ้นเรื่อย ๆ การพัฒนาแอพพลิเคชันและโปรแกรมสนับสนุนต่าง ๆ เพื่อให้เกิดการประมวลผลที่เครื่องของผู้ใช้เริ่มมีมากขึ้นพร้อมกับการที่เทคโนโลยีทางด้านไมโครคอมพิวเตอร์พัฒนาไปอย่างรวดเร็ว แล้วทำให้ดูเหมือนว่าสามารถที่จะทำงานบนเครื่องของผู้ใช้นั้นได้ทั้งหมด
สถาปัตยกรรม client-server เปิดโอกาสให้เราสามารถที่จะแบ่งเบาภาระการทำงานจากเครื่องขนาดใหญ่มาสู่เครื่องของผู้ใช้โดยการประมวลผลแอพพลิเคชันที่เครื่องของผู้ใช้เหล่านั้น ส่วนเครื่องเมนเฟรมเดิมนั้นจะทำหน้าที่เป็นผู้ให้บริการฐานข้อมูลเท่านั้น
ในปัจจุบันนี้ เครื่องของผู้ใช้ส่วนใหญ่จะทำการต่อเชื่อมกับเครื่องขนาดใหญ่โดยตรง และทำงานในลักษณะที่เป็น single-user เมื่อใดก็ตามที่ผู้ใช้ต้องการใช้ข้อมูลก็จะทำการเรียกจากเครื่องเมนเฟรมโดยตรง ทำให้เป็นการสิ้นเปลืองการประมวลผลของเครื่องเมนเฟรมไปอย่างมากในการที่จะมารองรับความต้องการของผู้ใช้ทุก ๆ คน ถ้าเครื่องในระดับของผู้ใช้ต่อเชื่อมเข้ากันเป็นวง LAN แล้วมีผู้ให้บริการประจำอยู่ในวง LAN ด้วยแล้ว จะเป็นการลดภาระของเครื่องเมนเฟรมมากยิ่งขึ้น โดยที่เราสามารถที่จะคัดเอาข้อมูลจากเครื่องเมนเฟรมมาเก็บไว้ที่ผู้ให้บริการของวง LAN แล้วให้ผู้ใช้ทำการเรียกข้อมูลจากผู้ให้บริการในวง LAN แทนที่จะทำการเรียกจากเครื่องเมนเฟรม ทุกครั้งไป
ประโยชน์การใช้ระบบ
1. ลด หรือประหยัดการประมวลผลของเครื่องเมนเฟรม
2. ความสามารถในการกำหนดขนาดผู้ขอใช้บริการ และผู้ให้บริการอย่างอิสระ และความสามารถในการลด หรือขยายในภายหลัง
3. แอพพลิเคชันต่าง ๆ สามารถใช้ข้อมูลบนผู้ให้บริการร่วมกันได้
4. สามารถใช้ประโยชน์จากการประมวลผลที่ผู้ใช้ในการทำงานได้อย่างเต็มที่
ข้อเสียของการใช้ระบบ Client-Server
1. ผลกระทบจากการกระจายข้อมูลต่อประสิทธิภาพของระบบ
2. การจัดการสารสนเทศที่ละเอียดอ่อน และสลับซับซ้อน