Distributed Administration

Download Report

Transcript Distributed Administration

Distributed
Administration
ระบบการจัดการฐานข้ อมูลแบบกระจาย
ระบบการจัดการฐานข้อมูลแบบกระจาย (Distributed database
management system) คือ ซอฟต์แวร์ที่ใช้สาหรับจัดการฐานข้อมูล
แบบกระจาย เพื่ออานวยความสะดวกแก่ผใู ้ ช้งานในการปฎิบตั ิงาน
บนฐานข้อมูลแบบกระจาย
การประมวลผลแบบกระจาย (Distributed Processing)
การประมวลผลแบบกระจายนั้นคือฐานข้อมูลแบบรวมศูนย์
(centralized database) ที่สามารถแอกเซสบนระบบเครื อข่าย
คอมพิวเตอร์ โดยข้อมูลที่เป็ นศูนย์กลาง user สามารถ accessได้บน
ระบบเครื อข่าย แต่นนั่ ไม่ได้หมายถึงว่าเป็ นระบบการจัดการ
ฐานข้อมูลแบบกระจาย ซึ่งสามารอธิบายและเปรี ยบเทียบได้
ระบบการจัดการฐานข้ อมูลแบบขนาน (Parallel DBMS)
ระบบการจัดการฐานข้อมูลแบบขนานคือ DBMS ที่รันบนมัลติ
โปรเซสเซอร์ และดิสก์จดั เก็บข้อมูลได้ถูกออกแบบให้ Execute ใน
ลักษณะคู่ขนาน ส่ งผลให้ระบบทางานมีประสิ ทธิภาพยิง่ ขึ้นทั้งใน
ด้านของ scalability, reliability และ performance ซึ่งสามารถนา
เครื่ องคอมพิวเตอร์หลาย ๆ เครื่ องมาเชื่อมต่อในลักษณะคู่ขนาน
เป็ นเครื อข่ายเสมือนกับเป็ นการทางานบนเครื่ องเดียว และมี
ความสามารถในการประมวลผลด้วยความเร็ วเทียบเท่ากับเครื่ อง
ระดับใหญ่
ชนิดของระบบการจัดการฐานข้ อมูลแบบกระจาย
(Types of DDBMS)
•
Homogeneous DDBMS เป็ นระบบการจัดการฐานข้อมูลแบบกระจายที่
ทุก ๆ ไซต์จะใช้ผลิตภัณฑ์ DBMS เดียวกัน ทาให้รูปแบบข้อมูลของ
ฐานข้อมูลในแต่ละไซต์มีรูปแบบเดียวกันส่ งผลให้การออกแบบและการ
จัดการมีความสะดวกและง่าย
•
Heterogeneous DDBMS เป็ นระบบการจัดการฐานข้อมูลแบบกระจายที่
ไซต์บางไซต์อาจจะใช้ผลิตภัณฑ์ DBMS คนละตัวกัน วึ่งเป็ นไปได้วา่ ในแต่
ละไซต์หรื อแต่ละสาขานั้นได้มีการพัฒนาฐานข้อมูลไว้ใช้งานของตนเอง
โดยวิธีน้ ีอาจทาให้มีความแตกต่างทั้งในด้านฮาร์ดแวร์ ผลิตภัณฑ์ DBMS
หรื อความแตกต่างทั้งฮาร์ดแวร์และ DBMS ดังนั้น จึงส่ งผลให้แต่ละสาขา
ต่างก็มีฐานข้อมูลที่พฒั นาขึ้นมาในรู ปแบบที่แตกต่างกัน ก่อให้เกิดปัญหา
ในด้านของการนาข้อมูลมารวมกัน (Integrated) จึงจาเป็ นต้องใช้อุปกรณ์ที่
ทาหน้าที่เป็ นตัวกลางในการแปลงข้อมูลต่าง ๆ ที่เรี ยกว่าgetaway
ข้ อดีและข้ อเสี ยของ DDBMS
ข้ อดี
• การทางานเป็ นไปแบบอิสระต่อกัน
• หากข้อมูลของส่ วนงานอื่นเสี ยหายก็ไม่ส่งผลกระทบกับส่ วนงานอื่น ๆ
• มีความเชื่อถือสูง
• มีประสิ ทธิภาพสูง
• ประหยัดค่าใช้จ่ายเมื่อเทียบกับเครื่ องคอมพิวเตอร์ระดับใหญ่
• ง่ายต่อการขยาย กล่าวคือเหมาะสาหรับหน่วยงานที่มีแนวโน้มการ
เจริ ญเติบโตอยูต่ ลอดเวลาเช่น การเพิม่ ไซต์หรื อสาขา ซึ่งรองรับต่อการ
ขยายระบบในอนาคต
ข้ อเสี ย
• มีความสลับซับซ้อนกว่าแบบรวมศูนย์
• เนื่องจากระบบมีความซับซ้อนจึงมีค่าใช้จ่ายเกี่ยวกับการบารุ งรักษาสูง
• สูญเสี ยการควบคุมความปลอดภัยเมื่อเทียบกับแบบรวมศูนย์ซ่ ึงควบคุมง่าย
กว่า รวมทั้งความสามารถในการนาข้อมูลจากสาขาอื่น ๆ มาใช้งานได้ง่าย
• การควบคุมความถูกต้องตรงกันในข้อมูลเป็ นไปได้ค่อนข้างยาก
• ยังไม่มีหลักการหรื อมาตรฐานการจัดการที่แน่นอนและชัดเจน
• ขาดแคลนผูเ้ ชี่ยวชาญหรื อผูท้ ี่มีประสบการณ์
• การออกแบบฐานข้อมูลมีความซับซ้อนสูง
ความหมายของการประมวลผลสอบถาม
การประมวลผลสอบถาม (Query Processing) เป็ นหน้าที่หนึ่งของระบบ
การจัดการฐานข้อมูล โดยระบบการจัดการฐานข้อมูลจะทาการ
ประมวลผลสอบถามที่เกิดจากภาษาสอบถาม (Query Language) ได้แก่
ภาษา SQL (Structured Query Language) ภาษา QBE (Query By
Example) เป็ นต้น และหาคาตอบที่ดีที่สุด
โครงสร้ างของตัวประมวลผลสอบถาม
• ส่ วนตรวจสอบภาษา (Parser)
ทาหน้าที่ตรวจเช็คกฏและหลักเกณฑ์ (Syntax) ของคาสัง่ สอบถามข้อมูลที่
กาหนดไว้ในระบบฐานข้อมูล
• ออฟติไมเซอร์ (Optimizer)
ทาหน้าที่ในการกลยุทธ์หรื อวิธีการที่เหมาะสมเพื่อให้การเข้าถึงข้อมูล
ประหยัดเวลาที่สุด เมื่อคาสัง่ ในภาษาสอบถามผ่านตัวตรวจสอบภาษา
ขั้นตอนของการทากระบวนการสอบถามข้ อมูลและการ
สอบถามข้ อมูลทีไ่ ด้ คาตอบทีด่ ที สี่ ุ ด
• ขั้นตอนที่ 1 การตรวจเช็คกฏไวยากรณ์ของภาษา ( syntax checking)
• ขั้นตอนที่ 2 การแปลงการสอบถามให้อยูใ่ นรู ปที่เหมาะสมที่สุด (query
optimizer)
• ขั้นตอนที่ 3 การสร้างชุดคาสัง่ ของภาษาสอบถาม (query code generator)
• ขั้นตอนที่ 4 การประมวลผลในฐานข้อมูล (runtime database processor)
ค่ าใช้ จ่ายในการประมวลผลสอบถาม
• ค่าใช้จ่ายที่เกิดขึ้นจากการเข้าถึงข้อมูลที่เก็บอยูใ่ นดิสค์ซ่ ึงเป็ นหน่วยเก็บ
ข้อมูลสารอง
• ค่าใช้จ่ายที่เกิดจากแฟ้ มข้อมูลชัว่ คราว(intermediate file)ที่ตอ้ งเก็บอยูใ่ น
ดิสค์ แฟ้ มข้อมูลชัว่ คราว
ค่ าใช้ จ่ายในการประมวลผลสอบถาม
• ค่าใช้จ่ายที่เกิดจากการคานวณของการค้นหาข้อมูล การเรี ยงลาดับของ
ระเบียนข้อมูล การนาข้อมูลมารวมกัน และการคานวณค่าต่างของข้อมูล
ที่เป็ นตัวเลขในแต่ละเขตของข้อมูล (field)
• ค่าใช้จ่ายที่เกิดจากการส่ งภาษาสอบถาม (query) บนฐานข้อมูลที่อยูใ่ นที่
หนึ่งไปยังฐานข้อมูลที่อยูอ่ ีกที่หนึ่ง