Docstoc

dataware house lecture 6

Document Sample
dataware house lecture 6 Powered By Docstoc
					        บทที่ 6 โครงสร้างพื้นฐานของคลังข้อมูล
                (Infrastructure of data warehouse)

         ในบทก่อนหน้ าเราได้ศึกษาเกี่ย วกับสถาปัตยกรรมของคลังข้อมูลที่มีส ถาปัตยกรรมเอียนเองตาม
ฟังก์ชันการทางานต่างๆที่สาคัญของคลังข้อมูล ซึ่งได้แก่ การได้มาซึ่งข้อมูล (Data acquisition) การจัดเก็บ
ข้อมูล (Data storage) และ การส่งผ่านข้อมูลหรือการเข้าถึงข้อมูลที่เก็บไว้ (Information access) ซึ่งจาก
สถาปั ตยกรรมดังกล่ าวจะเป็ น สิ่ งที่แสดงถึงโครงสร้างและความสั มพันธ์ของฟังก์ชันการทางานต่างๆของ
คลังข้อมูล แต่ในบทนี้เราจะทาการศึกษาเกี่ยวกับโครงสร้างพื้ นฐานของคลังข้อมูล (Infrastructure of data
warehouse) และ ทาความเข้าใจถึงบทบาทและความสาคัญ รวมถึงเทคนิค /วิธีต่างๆสาหรับสร้างโครงสร้าง
พื้นฐานให้มีความเหมาะสมกับคลังข้อมูลที่เราจะทาการสร้างขึ้น
         ในการออกแบบหรือสร้างโครงสร้างพื้นฐานของคลังข้อมูล เราจะต้องออกแบบเพื่อสนับสนุนหรือ
ส่งเสริ มฟังก์ชัน การทางานต่างๆที่เป็ นส่ วนประกอบของสถาปัตยกรรมของคลังข้อมูล ซึ่งเราสามารถมอง
โครงสร้างพื้นฐานนั้นเป็นรากฐานของสถาปัตยกรรมของคลังข้อมูลก็เป็นได้ ลองพิจารณารูปที่ 6-1 ซึ่งแสดงถึง
ความสัมพัน ธ์ร ะหว่างสถาปัตยกรรมของคลังข้อมูล และโครงสร้างพื้นฐานของคลั งข้อมูล โดยที่โครงสร้าง
พื้นฐานจะเปรียบเสมือนรากฐานของคลังข้อมูลและมีสถาปัตยกรรมของคลังข้อมูลมาซ้อนทับอยู่




                รูปที่6-1 ตัวอย่างโครงสร้างพื้นฐานที่สนับสนุนสถาปัตยกรรมของคลังข้อมูล
       เมื่อเราทาการพิจารณาเกี่ยวกับโครงสร้างพื้นฐานของคลังข้อมูล เราจะทราบว่ามันจะประกอบไปด้วย
ส่วนประกอบต่างๆมากมาย อาทิเช่น ฮาร์ดแวร์ (Hardware) ระบบปฏิบัติการ (Operating system) ระบบ

                                                                                          1|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
การจัดการฐานข้อมูล (Database management system, DBMS) LAN และ WAN ซอร์ฟแวร์และเครื่องมือ
ต่างๆ (Software and tools) เป็นต้น ซึ่งในตัวของซอร์ฟแวร์ที่ใช้อาจจะรวมไปถึง ซอฟต์แวร์ระบบเครือข่าย
(Network software) ซอร์ฟแวร์ฐานข้อมูล (Database software) และอื่นๆ นอกจากนี้โครงสร้างพื้นอฐาน
อาจะรวมถึงทรัพยากรมนุษย์ ขั้นตอนต่างๆ และ การอบรม อีกด้วย ซึ่งจะส่วนประกอบต่างๆที่ค่อนข้างมาก
ของโครงสร้างพื้นฐานของคลังเข้ามูล เราสามารถแบ่งส่วนประกอบออกเป็น 2 หมวดหมู่ที่มีความแตกต่างกัน
คือ โครงสร้างพื้นฐานการดาเนินงาน(Operational infrastructure) และ โครงสร้างพื้นฐานทางกายภาพ
(Physical infrastructure) ซึ่งเราจะทาการศึกษาส่วนประกอบของแต่ละหมวดหมู่เพื่อให้เข้าถึงส่วนประกอบ
ทั้งหมดของโครงสร้างพื้นฐานของคลังข้อมูล

โครงสร้างพื้นฐานการดาเนินงาน (Operational infrastructure)
         จะประกอบไปด้ ว ยทรั พ ยากรมนุ ษ ย์ กระบวนการ การอบรม และ ซอร์ ฟ แวร์ ก ารจั ด การ
(Management software) ที่สนับสนุนแต่ละส่วนของฟังก์ชันการทางานในสถาปัตยกรรมของคลังข้อมูล ซึ่ง
จากส่วนประกอบดังกล่าว ทรัพยากรมนุษย์ และ กระบวนการจะไม่ได้หมายถึง กลุ่มคนหรือกระบวนการที่มี
หน้าที่ในการสร้างคลังข้อมูล แต่จะหมายถึง กลุ่มคนหรือกระบวนการที่จะทาให้คลังข้อมูลดาเนินต่อไปได้ ซึ่ง
ส่วนประกอบเหล่านี้จะเป็นส่วนที่สนับสนุนในเรื่องของการจัดการและการดูแลรักษาคลังข้อมูลให้ดาเนินต่อไป
ได้อย่างมีประสิทธิภาพ
          โดยส่วนใหญ่แล้วผู้สร้างคลังข้อมูลจะให้ความสนใจกับฮาร์ดแวร์และซอร์ฟแวร์ค่อนข้างมากเมื่อต้อง
ทาการออกแบบโครงสร้างพื้นฐานของคลังข้อมูล และไม่ค่อยสนใจกับส่วนประกอบของโครงสร้างพื้นฐานการ
ดาเนิน งานเท่าที่ควร การให้ ความสนใจกับฮาร์ดแวร์และซอร์ฟแวร์นั้นเป็นสิ่ งที่ถูก ถ้าเรามีฮาร์ดแวร์และ
ซอร์ฟแวร์ที่ถูกต้อ งและเหมาะสมกับฟังก์ชันการทางานต่างๆในสถาปัตยกรรมของคลังข้อมูล จะช่วยให้เรา
สามารถสร้างและใช้งานคลังข้อมูลได้อย่างมีประสิทธิภาพ แต่อย่างไรก็ดีในการออกแบบส่วนประกอบของ
โครงสร้างพื้นฐานของคลังข้อมูลก็ยังต้องการโครงสร้างพื้นฐานการดาเนินงานในการดูแลและจัดการสิ่งต่ างๆ
อยู่ดี ดังนั้นเราสามารถกล่าวได้ว่า โครงสร้างพื้นฐานการดาเนินงานก็มีความสาคัญเทียบเท่ากับฮาร์ดแวร์และ
ซอร์ ฟแวร์ ที่ ท าให้ คลั ง ข้อ มู ล สามารถท างานได้ อ ย่า งมีป ระสิ ท ธิภ าพ ซึ่ ง ถ้ า เราไม่ มี โ ครงสร้ างพื้ นฐานการ
ดาเนิ นงานที่เหมาะสมแล้ว คลังข้อมูลที่เราสร้างขึ้นจะไม่ส ามารถทางานได้อย่างเต็มประสิ ทธิภ าพและไม่
สามารถคงอยู่ยืนยง ดังนั้นเราควรให้ความใส่ใจหรือสนใจเกี่ยวกับรายละเอียดต่างๆของโครงสร้างพื้นฐานการ
ดาเนินงานในการออกแบบโครงสร้างพื้นฐานของคลังข้อมูลด้วย

โครงสร้างพื้นฐานทางกายภาพ (Physical infrastructure)
         จะประกอบไปด้วยฮาร์ดแวร์ต่างๆ ระบบปฏิบัติการ ระบบฐานข้อมูล เครื่องข่าย ซอร์ฟแวร์เครือข่าย
และ อื่นๆ ดังแสดงในรูปที่ 6-2 สิ่งเหล่านี้มีหลายทางเลือกด้วยกัน ตัวอย่างเช่น ในท้องตลาดจะมีฮาร์ดแวร์ให้
เลือกใช้หลายผลิตภัณฑ์ด้วยกัน ซึ่งการเลือกว่าเราจะใช้ฮาร์ดแวร์ที่จะรองรับคลังข้อมู ลที่เราจะสร้างขึ้นนั้นจะ
สามารถทาได้ค่อนข้างยากเนื่องจากเราต้องพิจารณาหลายๆปัจจัยที่อาจจะส่งผลกระทบต่อการทางานของ
                                                                                             2|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
ฮาร์ดแวร์นั้นๆ แต่ก่อนที่เราจะทาการเลือกซื้อหรือเลือกใช้ฮาร์ดแวร์ใด เราต้องไม่ลืมว่าฟังก์ชันการทางานของ
คลังข้อมูลจะประกอบไปด้วย การสกัดข้อมูล (data extraction) การเปลี่ยนแปลงเปลี่ยนรูปข้อมูล (data
transformation) การรวบยอดข้อมูล (data integration) และ การจัดการกับ staging area ซึ่งฟังก์ชันการ
ทางานทั้งหมดจะต้องทางานบนฮาร์ดแวร์และระบบปฏิบัติการที่เราเลือก ดังนั้นในการเลือกฮาร์ดแวร์และ
ระบบปฏิบัตการเราจะต้องเลือกสิ่งที่สนับสนุนการทางานของฟังก์ชันต่างๆด้วย ซึ่งในการเลือกฮาร์ดแวร์จะมี
คาแนะนาต่างๆดังนี้

     เราต้องมั่นใจได้ว่าฮาร์ดแวร์ที่เราเลือกใช้สาหรับรองรับการทางานของคลังข้อมูลจะสามารถเพิ่มขยาย
      หรือต่อเติมได้เมื่อคลังข้อมูลมีการเติบโตเพิ่มขึ้นของจานวนผู้ใช้ จานวนคิวรีที่ทาการสืบค้นข้อมูล และ
      ความซับซ้อนของคิวรีที่เพิ่มขึ้น
     เราต้องมั่นใจได้ว่าฮาร์ดแวร์ที่เราซื้อนั้นมีการบารุงรักษาหรือซ่อมบารุงจากผู้ขายในระดับสูงที่สุดเท่าที่
      จะเป็นไปได้ ซึ่งเมื่อเกิดปัญหาขึ้นที่ฮาร์ดแวร์เราจะสามารถขอความช่วยเหลือจากผู้ขายได้
     เราต้องทาการตรวจสอบเกี่ยวกับการพูดถึงผลิตภัณฑ์/ฮาร์ดแวร์ที่เรากาลังจะซื้อจากแหล่งข้อมูลต่างๆ
      ว่ามีใครพูดถึงการทางานที่ผิดพลาด หรือ การเสียหายของฮาร์ดแวร์ที่เราสนใจหรือไม่
     เราต้องตรวจสอบความมั่นคงของบริษัทผู้ขายฮาร์ดแวร์ว่ายังคงมีสถานะทางการเงินและการค้าที่ดี
      หรือไม่ เนื่องจากเราต้องต้องแน่ใจว่าเมื่อเราทาการซื้อฮาร์ดแวร์จากบริษัทนั้นๆแล้ว บริษัทเหล่านั้น
      จะไม่ล้มเลิกหรือปิดกิจการ ซึ่งจะทาให้เราไม่สามารถเรียกใช้บริการซ่อมบารุงจากผู้ขายได้




                         รูปที่6-2 ส่วนประกอบของโครงสร้างพื้นฐานทางกายภาพ
          ในการเลือกระบบปฏิบัติการก็มีข้อแนะนาสาหรับการเลือกเช่นกัน ซึ่งสิ่งแรกที่ระบบปฏิบัติที่เราเลือก
จะต้องมีคือ ระบบปฏิบัติการจะต้องทางานร่วมกันกับฮาร์ดแวร์ที่เราเลือกได้นอกจากนั้นเราจะต้องคานึงถึง
ปัจจัยอื่นๆ ดังต่อไปนี้



                                                                                                3|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
     ระบบปฏิบัติการที่เลือกจะต้องมีความสามารถในการยืดขยายต่อเติมได้ (Scalability) เนื่องจาก
      คลังข้อมูลที่เราสร้างขึ้นนั้นจะเติบโตขึ้นทุกวัน และ เติบโตอย่างรวดเร็ว ทั้งในแง่ของจานวนข้อมูลและ
      จ านวนผู้ ใช้ รวมถึง จ านวนคิว รี ที่ ต้ อ งท าการประมวลผลเพิ่ ม ขึ้ น ดั ง นั้ น ระบบปฏิ บั ติ การส าหรั บ
      คลังข้อมูลจะต้องสนับสนุนความเติบโตเหล่านี้ด้วย
     ระบบปฏิบัติการที่เลือกจะต้องมีความสามารถป้องกันหรือปกป้องทรัพยากรของระบบ (Security)
      เมื่อมีผูใช้ต้องการที่จะเข้าถึงข้อมูลหรือใช้ทรัพยากรของคลังพร้อมๆกันหลายราย ระบบปฏิบัติการ
      จะต้องสามารถป้องกันการคุกคามหรือป้องกันการใช้ทรัพยากรที่มากเกินความจาเป็นได้และ รวมถึง
      เตรียมความปลอดภัยให้กับผู้ใช้แต่ละคน
     ระบบปฏิบัติการที่เลือกควรจะต้องมีความน่าเชื่อถือ (Reliability) ไม่เกิดข้อผิดพลาดในการทางาน
      หรือ มีการป้องกันส่วนอื่นๆเมื่อเกิดข้อผิดพลาดของการทางานเกิดขึ้น
     ระบบปฏิบัติการที่เลือกควรจะต้องสามารถทางานได้ (Availability) เมื่อมีการยกเลิกการทางานบาง
      โปรเซสของแอพลิเคชันหนึ่งๆ
     ระบบปฏิบั ติการที่เลือกจะต้องมีความสามารถในการกาหนดล าดับความสาคัญของโปรเซส และ
      สามารถทาการเปลี่ยนการคานวณไปยังโปรเซสที่มีความสาคัญสูงกว่าในกรณีที่ต้องการได้
     ระบบปฏิบัติการที่เลือกจะต้องมีความสามารถในการให้บริการหลายๆการร้องขอรับบริการ โดยการ
      แบ่ง thread ไปยังหลายๆโปรเซสเซอร์ได้
     ระบบปฏิบัติการที่เลือกจะต้องมีความสามารถในการป้องกันการล่วงละเมิดการใช้หน่วยความจาของ
      งานอื่นๆเมื่อมีการประมวลผลคิวรีพร้อมๆกันหลายงาน
        จากคาแนะนาและเกณฑ์ในการเลือกฮาร์ดแวร์และระบบปฏิบัติการสาหรับคลังข้อมูลเราจะต้องเลือก
ให้ตรงกับความต้องการหรือสิ่งแวดล้อมที่เรามีอยู่ให้มากที่สุด ซึ่ง ในการเลือกฮาร์ดแวร์นั้นเราจะมีทางเลือกไม่
ค่อยมาก ซึ่งโดยส่วนใหญ่ของคลังข้อมูลจะทางานบนฮาร์ดแวร์ 3 ประเภทหลักๆด้วยกันคือ

     เมนเฟรม (Mainframes)
           o ส่วนมากจะเป็นฮาร์ดแวร์ที่เหลือมาจากการสร้างระบบการดาเนินการก่อนหน้า หรือ ระบบ
               ดั้งเดิม
           o นิยมใช้สาหรับระบบการดาเนินการ
           o ไม่คุ้มค่าสาหรับคลังข้อมูล
           o สามารถเพิ่มต่อหรือยืดขยายได้ยาก (Not easily scalable)
           o ไม่ค่อยมีใครใช้สาหรับคลังข้อมูล
     เซิร์ฟเวอร์ทั่วๆไป (Open system servers)
           o เป็น UNIX เซิร์ฟเวอร์ที่ได้รับความนิยมและเหมาะสมกับคลังข้อมูลขนาดกล่าง
           o ค่อนข้างเสถียร แข็งแรง ทนทาน

                                                                                                    4|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
         o สามารถประยุกต์ใช้กับการคานวนแบบขนานได้
     NT เซิร์ฟเวอร์ (NT servers)
         o สนับสนุนคลังข้อมูลขนาดกลาง
         o จากัดความสามารถในการคานวณแบบขนาน
         o ค่าใช้จ่ายคุ้มค่ากับคลังข้อมูลขนาดกลางและขนาดเล็ก
         จากทั้ง 3 ทางเลือกข้างต้น เราต้ องทาการตัดสินใจเลือกเซิร์ฟเวอร์ ที่สามารถต่อเติมหรือยืดขยายได้
(Scalability) และมีประสิทธิภาพดีในการค้นคืนข้อมูลให้กับคิวรีต่างๆ (Optimal query performance) ที่
เฉพาะเจาะจง ไม่สามารถคาดเดาได้ และ เป็นคิวรีที่มีความซับซ้อน และเมื่อจานวนผู้ใช้มีจานวนเพิ่มขึ้น (โดย
ส่วนใหญ่จะเพิ่มขึ้นเป็น 2 เท่าภายใน 6 เดือน) และ จานวนคิวรีที่ทาการสืบค้นข้อมูล รวมถึงความซับซ้อนของ
คิวรีมีมากขึ้น คลังข้อมูลที่เราทาการสร้างขึ้นอาจจาเป็นต้องเพิ่มเนื้อหาหรือผลสรุปของข้อมูล โดยทาการเพิ่ม
หัวข้อต่างๆทางธุรกิจ (Business subject) หรือเพิ่มดาต้ามาร์ทให้กับคลังข้อมูล ที่เราสร้างขึ้นซึ่งอาจจะทาให้
การใช้พื้นที่จากเดิมประมาณ 200-300 GB ในตอนเริ่มต้นจะเพิ่มขั้นไปเป็นมากกว่า 1 เทราไบต์ภายใน 18-24
เดือน
       นอกเหนือจากฮาร์ดแวร์และระบบปฏิบัติการที่เราจะต้องทาการพิจารณาแล้ว เรายังต้องพิจารณา
แพลตฟอร์มการคานวณ (computing platform) ซึ่งเป็นส่วนที่ดาเนินการประมวลผลในหลายๆฟังก์ชันการ
ทางานของคลังข้อมูล แพลตฟอร์มการคานวณนั้นจะเป็นกลุ่มของฮาร์ดแวร์ ระบบปฏิบัติการ เครือข่าย และ
ซอร์ฟแวร์เครือข่าย ที่สนับสนุนการทางานต่างๆของคลังข้อมูล อาทิเช่น

     สนับสนุนการได้มาซึ่งข้อมูล (data acquisition) เช่น การสกัดข้อมูล การเปลี่ยนแปลง/เปลี่ยนรูป
      ข้อมูล การทาความสะอาดข้อมูล และ การรวมข้อมูลเข้าด้วยกัน เป็นต้น
     สนับสนุนการจัดเก็บข้อมูล (data storage) เช่น การถ่ายโอนข้อมูล การจัดเก็บข้อมูล และ การ
      จัดการต่างๆกับข้อมูล เป็นต้น
     สนับนุนการเข้าถึง/ส่งผ่านข้อมูล (information access/delivery) เช่น การสร้างรายงาน การ
      ประมสลผลคิวรี และ การวิเคราะห์ที่ซับซ้อนเป็นต้น
จากฟังก์ชันการทางานข้างต้นที่แพลตฟอร์มการคานวณต้องสนับสนุนหรือส่งเสริมการทางาน เราจะต้องทา
การเลือกแพลตฟอร์มการคานวณให้มีความเหมาะสมกับสภาวะแวดล้อมที่เรามีอยู่ ซึ่งทางเลือกสาหรับการ
เลือกแพลตฟอร์มการคานวณจะมีหลายทางเลือกด้วยกัน ดังนี้

การเลือกใช้แพลตฟอร์มเดียว (Single platform option)
            จะเป็ น แพลตฟอร์ มที่ค่ อนข้ างตรงไปตรงมาและเป็น ทางเลื อ กที่ง่ ายที่ สุ ดในการดาเนิน การสร้ า ง
คลั ง ข้ อ มู ล การใช้ เ พี ย งแพลตฟอร์ ม เดี ย วจะท าให้ ทุ ก ๆฟั ง ก์ ชั น ที่ เ ป็ น การค านวณส่ ว นหลั ง (back-end
functions) อาทิเช่น การสกัดข้อมูล การเปลี่ยนแปลง/เปลี่ยนรูปข้อมูล และทุกฟังก์ชันที่เป็นการคานวณเบื้อง

                                                                                                         5|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
หน้ า (front-end functions) นั้ น มี การด าเนิ นงานบนแพลตฟอร์ม เดีย ว อาทิเช่ น การใช้ เมนเฟรม
มินิคอมพิวเตอร์ หรือ การใช้เซิร์ฟเวอร์ที่เป็น Unix เพียงตัวเดียว
            การเลือกใช้แพลตฟอร์มเดียวมีข้อดีที่ว่า เราจะไม่ต้องพบเจอกับปัญหาเกี่ยวกับความสอดคล้องหรือ
เข้ากันได้ระหว่างแพลตฟอร์มต่างๆ ซึ่งถ้าเราใช้หลายแพลตฟอร์มเราอาจจะเจอกับปัญหาความไม่สอดคล้อง
กันของแพลตฟอร์มซึ่งจะทาให้ไม่สามารถทางานได้ อีกข้อดีหนึ่งของการใช้แพลตฟอร์มเดียวคือ การไหลเวียน
ของข้อมูลตั้งแต่เริ่มต้นจนสิ้นสุดกระบวนการทางานจะค่อนข้างนุ่มนวล เราไม่ต้องทาการเปลี่ยนแปลงรูปแบบ
ของข้อมูลใดๆ (format conversion) และ ไม่ต้องใช้ middleware มาช่วยในการทางานแต่อย่างใด แต่
อย่างไรก็ดีการใช้แพลตฟอร์มเดียวอาทิเช่นการใช้เมนเฟรม และ มินิคอมพิวเตอร์ ก็มีข้อเสียคือ อาจจะทาให้ ไม่
สามารถปรับเปลี่ยนอุปกรณ์ หรือเพิ่มขยายต่อเติมได้มากนัก (upgrade) ซึ่งการเพิ่มขยายต่อเติมนั้นเป็นสิ่ง
หนึ่ ง ที่จ าเป็ น มากเมื่อคลั ง ข้อมู ล มี ป ริ ม าณข้อมู ล และ ปริ มาณผู้ ใ ช้ ง านเพิ่ม ขึ้น อีก ข้อเสี ย หนึ่ง ของการใช้
แพลตฟอร์มเดียวก็คือ ซอร์ฟแวร์ต่างๆที่เราเลือกใช้ในบางฟังก์ชันการทางานจะไม่ส นับสนุนแพลตฟอร์ม
เมนเฟรม หรือ มินิคอมพิวเตอร์ ซึ่งถ้าเราไม่ใช้ซอร์ฟแวร์เหล่านั้นในการทางาน คลังข้อมูลก็ไม่สามารถทางาน
ได้

การเลือกใช้แพลตฟอร์มแบบผสมผสาน (Hybrid option)
       จะเป็น การผสมผสานการใช้แพลตฟอร์มต่างๆหลายแพลตฟอร์มเข้าด้วยกัน ซึ่งการผสมผสานจะ
เป็นไปตามฟังก์ชันก์การทางานต่างๆ อาทิเช่น

     การสกัดข้อมูล ซึ่งโดยส่วนใหญ่จะทาการสกัดข้อมูลที่แหล่งข้อมูล ตัวอย่างเช่น ข้อมูลการใช้โทรศัพท์
      ของลูกค้าจากบริษัทผู้ ให้บริการเครือข่ายโทรศัพท์จะทาการสกัดข้อมูลที่แหล่งข้อมูลหรือระบบการ
      ดาเนินการที่อาจใช้มินิคอมพิวเตอร์ในการดาเนินงาน จากนั้น จะทาการสร้างแฟ้มข้อมูลสาหรับข้อมูล
      ที่ถูกสกัดออกมา แล้วจึงค่อยถ่ายโอนไปยัง staging area ต่อไป หรือในอีกระบบหนึ่งคือ ระบบสั่ง
      สินค้าทางอีเมลล์ที่ทางานบนเครื่ องเมนเฟรม จะทาการสกัดข้อมูลแล้ว เก็บข้อมูลไว้ในแฟ้มข้อมูล
      หนึ่งๆ ก่อนที่จะทาการถ่ายโอนข้อมูลไปยัง staging area จากตัวอย่างทั้งสองเราจะเห็นว่าจะมีการ
      สกัดข้อมูลที่แหล่งข้อมูล แล้วจึงค่อยทาการถ่ายโอนข้อมูลที่ถูกสกัดแล้วไปยัง staging area ซึ่งจะไม่มี
      การคัดลอกข้อมูลทั้งหมดไปยัง staging area ดังนั้นเมื่อเราต้องมีฟังก์ชันการสกัดข้อมูลเก็บไว้ที่
      แหล่งข้อมูลหรือระบบการดาเนินการจึงทาให้เราต้องผสมผสานหลายแพลตฟอร์มเข้าด้วยกัน
     การรวมข้อมูลและเปลี่ยนฟอร์แมตข้อมูล จะเป็นการทางานหลังจากขั้น ตอนการสกัดข้อมูล โดยจะนา
      แฟ้มข้อมูลที่ถูกสกัดแล้วมาทาการเปลี่ยนฟอร์แมตข้อมูล และรวมข้อมูลหลายๆแฟ้มเข้าด้วยกันเพื่อ
      ลดจานวนแฟ้มข้อมูล ซึ่งโดยส่วนใหญ่ของกระบวนการทางานดังกล่าวมักจะทางานที่แหล่งข้อมูล /
      ระบบการดาเนิน ซึ่งจะช่วยให้เราสามารถลดจานวนแฟ้มข้อมูลที่ต้องทาการถ่ายโอนไปยัง staging
      area ได้


                                                                                                              6|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
     การทาความสะอาดข้อมูลเบื้องต้น จะเป็นการเติมค่าของข้อมูลที่ขาดหายไป (missing values) ให้กับ
      ข้อมูลที่ถูกสกัดมาจากแหล่งข้อมูล รวมถึงการกาหนดค่า default value และ การเปลี่ยนแปลง
      ข้อมูลในรูปแบบอื่นๆ ซึ่งการทางานกระบวนการนี้จะเหมือนกับกระบวนการทางานก่อนหน้าที่จะ
      ดาเนินการที่ระบบการทาการ/แหล่งข้อมูล
     การเปลี่ยนแปลงเปลี่ยนรูปข้อมูลและการรวมข้อมูลเข้าด้วยกัน จะเป็นขั้นตอนการทางานที่ฟังก์ชัน
      การเปลี่ยนแปลงและการเปลี่ยนรูปข้อมูล และการรวบรวมหรือรวบยอดข้อมูลเข้าด้วยกัน ซึ่งโดยส่วน
      ใหญ่แล้วทั้ง 2 ขั้นตอนนี้จะใช้ซอร์ฟแวร์หรือเครื่องมือต่างมาช่วยในการดาเนินการ ซึ่งในการที่จะ
      ติดตั้งซอร์ฟแวร์สาหรับทั้ง 2 ฟังก์ชันเราควรจะติดตั้งและกาหนดการทางานอยู่ที่ staging area
     การตรวจสอบและการควบคุมคุณภาพ จะเป็นการตรวจวสอบคุณภาพของข้อมูล การที่จะทาการ
      จัดเก็บข้อมูลเข้าสู่ฐานข้อมูลของคลังข้อมูล ซึ่งฟังก์ชันการทางานนี้จะอยู่ที่ staging area
     การสร้างแฟ้มสาหรับการถ่ายโอนข้อมูล (load image) จะเป็นการสร้างแฟ้มสาหรับการถ่ายโอน
      ข้อมูลสาหรับข้อมูลที่ถูกสกัดมาจากแหล่งข้อมูลแฟ้มหนึ่งๆ ซึ่งขั้นตอนนี้จะดาเนินการที่ staging area
        จากขั้นตอนการทางานทั้งหมดที่กล่าวมาข้างต้นเราสามารถสรุปได้ว่า ฟังก์ชันการทางานทั้งหมดจะ
ดาเนินการจาก 2 แพลตฟอร์มเป็นอย่างน้อบ ซึ่งก็คือ แหล่งข้อมูล /ระบบการดาเนินการ และ staging area
ดังแสดงในรูปที่ 6-3




                   รูปที่ 6-3 แพลตฟอร์มสาหรับการได้มาซึ่งข้อมูล (Data acquisition)

การเลือกแพลตฟอร์มสาหรับ staging area
        จะเป็นการเลือกการติดตั้งหรือการเลือกที่อยู่ของฟังก์ชันการทางานต่างที่ที่อยู่ใน staging area ซึ่งมี
ทางเลือกหลักๆอยู่ 3 ทางเลือกด้วยกัน ดังแสดงในรูปที่ 6-4
                                                                                              7|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
                          รูปที่ 6-4 ทางเลือกแพลตฟอร์มสาหรับ staging area

    กาหนดให้ staging area อยู่ที่ แพลตฟอร์มเดียวกันกับแหล่งข้อมูล ซึ่งจะช่วยให้ลดเวลาและ
     กระบวนการทางานในการเคลื่อนย้ายข้อมูลจากแหล่งข้อมูลไปยัง staging area ที่อยู่กันคนละ
     platform แต่การที่จะกาหนดให้ staging area อยู่ที่เดียวกันกับแหล่งข้อมูลหรือระบบการดาเนินการ
     ได้นั้ น เราจะต้องแน่ ใจว่าทรั พยากรต่างๆของระบบการดาเนินการ อาทิเช่น หน่ว ยประมวลผล
     หน่วยความจา และ พื้นที่ในดิสก์ มีเพียงพอสาหรับการประมวลผลต่างๆสาหรับ staging area
    กาหนดให้ staging area อยู่ที่แพลตฟอร์มเดียวกันกับฐานข้อมูลของคลังข้อมูล ซึ่งจะสามารถช่ วยลด
     ขั้นตอนการทางานในการถ่ายโอนข้อมูลจาก staging area ไปยังฐานข้อมูลได้ โดยเราสามารถจัดเก็บ
     ข้อมูลจากแฟ้มข้อมูลที่ถูกสกัดและประมวลผลต่างๆ (เปลี่ยนแปลง/เปลี่ยนรูปและรวบรวม/รวบยอด
     ข้อมูลแล้ว) ไปยังฐานข้อมูลของคลังข้อมูลได้โดยตรง
    กาหนดให้ staging area อยู่ในอีกแพลตฟอร์มหนึ่งๆ ที่เป็นอิสระจากแพลตฟอร์มอื่นๆ อาจจะเป็น
     แพลตฟอร์มที่เหมาะกับฟังก์ชันการเปลี่ยนแปลง/เปลี่ยนรูปข้อมูลที่มีความซับซ้อน และ กระบวนการ
     ทาความสะอาดข้อมูลที่ประกอบไปด้วยการทางานหลายขั้นตอน ซึ่งจากการกาหนดให้ staging area
     อยู่ในแพลตฟอร์มที่เป็นอิสระจะมีประโยชน์ต่างๆที่เห็นได้ชัดดังนี้
            o เราสามารถจัดการกับฟังก์ชันต่างๆที่มีการทางานซับซ้อนได้โดยง่าย อาทิเช่น ฟังก์ชันการ
                เปลี่ ย นแปลง/เปลี่ ย นรู ป ข้ อมู ล และการทาความสะอาดข้อ มูล ที่มี ความซับ ซ้อ น ซึ่ง อาจ
                จาเป็นต้องใช้เครื่องมือหรือซอร์ฟแวร์ต่างๆ เราสามารถติดตั้งเครื่องมือเหล่านั้นที่แพลตฟอร์ม
                ของ staging area ได้โดยง่าย

                                                                                              8|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
           o เราสามารถจัดการกับข้อมูลที่ต้องจัดเก็บระหว่างการเปลี่ยนแปลง/เปลี่ยนรูปข้อมูล และการ
             ทาความสะอาดข้อมูลได้โดยง่าย โดยที่ในระหว่างการเปลี่ยนแปลงข้อมูล และการทาความ
             สะอาดข้อมูลเราจาเป็นต้องเก็บข้อมูลเดิมและข้อมูลใหม่ที่มีการเปลี่ยนแปลงหรือถูกทาความ
             สะอาดแล้วไว้ทั้งหมดเพื่อป้องกันการสูญหายหรือความผิดพลาดที่อาจจะเกิดขึ้นระหว่างการ
             ทางาน รวมถึงเราอาจจะใช้แฟ้มข้อมูลหรือตารางสาหรับการตรวจสอบข้อมูลก็เป็นได้ ซึ่งการ
             กระทาดังกล่าวจะเป็นการจัดการเกี่ยวกับการเคลื่อนที่หรื อการเคลื่อนย้ายข้อมูล ซึ่งเราจะ
             สามารถดาเนินการและจัดการได้โดยง่ายถ้าเราทาการแยก staging area ไว้ในแพลตฟอร์มที่
             เป็นอิสระ

การเลือกวิธีการในการถ่ายโอนข้อมูลระหว่างแหล่งข้อมูลและ staging area
        หลังจากที่เราทาการเลือกแพลตฟอร์มสาหรับ staging area ซึ่งมีหลายๆครั้งที่เราเลือกที่จะกาหนดให้
staging area ไม่ได้อยู่ในแพลตฟอร์มของแหล่งข้อมูล เราจะต้องพิจารณาถึงทางเลือกในการถ่ายโอนข้อมูล
ระหว่างแหล่งข้อมูลและ staging area ซึ่งมีทางเลือกหลักๆอยู่ 4 ทางเลือกดังแสดงในรูปที่ 6-5 ซึ่งมี
รายละเอียดดังนี้




              รูปที่ 6-5 ทางเลือกในการถ่ายโอนข้อมูลระหว่างแหล่งข้อมูลและ staging area

    การกาหนดให้แหล่งข้อมูลและ staging area มีการใช้ดิสก์บางส่วนด้วยกัน (Shared disk) โดยการ
     กาหนดให้ดิสก์หนึ่งๆสามารถถูกเข้าถึงได้จากทั้งแพลตฟอร์มของแหล่งข้อมูลและแพลตฟอร์มของ
     staging area
                                                                                        9|Page
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
     การส่งผ่านข้อมูล (Data transmission) ข้ามแพลตฟอร์มโดยใช้พอร์ตในการส่งผ่าน โดยพอร์ตที่ใช้ใน
      การส่ ง ผ่ า นข้ อ มู ล จะเป็ น ฮาร์ ด แวร์ ที่ มี ค วามสามารถในการเชื่ อ มต่ อ ระหว่ า งแพลตฟอร์ ม และมี
      ความสามารถในการถ่ า ยโอนข้ อ มู ล ในปริ ม าณที่ ม าก แต่ ก่ อ นที่ จ ะท าการถ่ า ยโอนข้ อ มู ล แต่ ล ะ
      แพลตฟอร์มจะต้องถูกปรับแต่ง (configure) ให้รู้จักพอร์ตที่ใช้ในการส่งผ่านข้อมูล
     การส่งผ่านข้อมูลแบบเรียลไทม์ (real time) ซึ่งจะต้องทาการเชื่อมต่อทั้ง 2 แพลตฟอร์มเข้าด้วยกัน
      แบบเรีย ลไทม์ด้ว ย โดยที่ห ลังจากทาการเชื่อมต่อแล้ว จะทาให้ โปรแกรมที่อยู่ในแพลตฟอร์มหนึ่ง
      สามารถใช้ทรัพยากรของอีกแพลตฟอร์มหนึ่งได้ อาทิเช่น การอ่านข้อมูล และ การเขียนข้อมูลลงใน
      อีกแพลตฟอร์มหนึ่งได้ วิธีการส่งผ่านข้อมูลแบบเรียลไทม์นั้นจะเหมาะกับคลังข้อมูลที่ต้องการข้อมูล
      แบบเรียลไทม์หรือใกล้ๆเรียลไทม์
     การส่งผ่านข้อมูลด้วยมือ (manual) โดยการเขียนข้อมูลที่ได้จากแพลตฟอร์มหนึ่งๆลงไปในเทป
      (tape) หรือ ดิสก์ (disk) จากนั้นทาการส่งผ่ายเทปหรือดิสก์เหล่านั้นไปยัง อีกแพลตฟอร์มหนึ่งเพื่อทา
      การอ่านข้อมูลและประมวลผลข้อมูลเหล่านั้นต่อไป

การเลือกสถาปัตยกรรมแบบ client/server สาหรับคลังข้อมูล
         แม้ว่าหลายๆคลังข้อมูลจะมีการใช้เมนเฟรมและมินิคอมพิวเตอร์ แต่ในปัจจุบันการสร้างคลังข้อมูลจะ
ถูกสร้างโดยตั้งอยู่บนพื้นฐานของสถาปัตยกรรม client/server ดังแสดงในรูปที่ 6-6 ที่จะใช้แพลตฟอร์มทังสิ้น
3 แพลตฟอร์มด้วยกันคือ client แอพลิเคชัน และ ฐานข้อมูล ซึ่งการแบ่งแยกแพลตฟอร์มในลักษณะนี้จะช่วย
ให้เราสามารถดาเนินการต่างๆได้มากมากเช่น

       การรัน middleware และ การสร้างการเชื่อมต่อต่างๆ
       การใช้ซอร์มแวร์ในการจัดการและการควบคุมต่างๆ
       การจัดการกับการเข้าถึงข้อมูลผ่านเว็บ
       การจัดการกับเมตาดาต้า
       การกาหนดสิทธิ์การใช้งานและการยืนยันตัวตนเพื่อใช้งาน
       การจัดการและดาเนินการกับรายงานที่เป็นมาตราฐาน
       การจัดการกับการประมวลผลคิวรีที่มีความซับซ้อน
       การใช้งาน OLAP เพื่อสร้างรายงานต่างๆ




                                                                                                 10 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
                        รูปที่ 6-6 สถาปัตยกรรม client/server สาหรับคลังข้อมูล

การเลือกแพลตฟอร์มเมื่อคลังข้อมูลเสร็จสมบูรณ์
         จากทางเลือกก่อนๆหน้าจะเป็นการเลือกหรือการกาหนดแพลตฟอร์มให้กับคลังข้อมูลก่อนการเริ่ม
ทางาน แต่อย่างไรก็ดีเมื่อการสร้างคลังข้อมูลเสร็จสมบูรณ์และเริ่มใช้งาน แพลตฟอร์มของคลังข้อมูลอาจจะมี
การเปลี่ยนแปลงเกิดขึ้น ดังแสดงในรูปที่ 6-7 ที่แสดงถึงแพลตฟอร์มในตอนเริ่มต้ นที่ staging area และ
ฐานข้อมูลของคลังข้อมูลจะอยู่ในแพลตฟอร์มเดียวกัน ต่อมาเมื่อเวลาผ่านไปเมื่อมีผู้ใช้มากขึ้นและจานวนคิวรีที่
ต้องทาการประมวลผลมากขึ้น แพลตฟอร์มอาจมีความเปลี่ยนแปลงโดยอาจจะทาการแยก staging area ให้
ไม่อยู่แพลตฟอร์มเดียวกันกับฐานข้อมูล และ เมื่อคลังข้อมูลเริ่มที่จะมั่นคงและคงตัว เราอาจจะแยกคลังข้อมูล
จากที่เป็นคลังข้อมูลของทั้งองค์กรออกเป็นดาต้ามาร์ทของแต่ละแผนก แล้วทาการแยกแต่ละดาต้ามาร์ทไว้ใน
อีกแพลตฟอร์มหนึ่ง เป็นต้น




                                                                                           11 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
                       รูปที่ 6-7 การเลือกแพลตฟอร์มเมื่อคลังข้อมูลเสร็จสมบูรณ์


         หลังจากที่เราทราบถึงการทางานของคลังข้อมูลที่ต้องยุ่งเกี่ยวกับข้อมูลที่มีความซับซ้อนและมีจานวน
มาก ในการทางานเราอาจจะต้องอาศัยการคานวณแบบขนานที่จะใช้หลายๆโปรเซสเซอร์มาช่วยในการคานวณ
ซึ่งฮาร์ดแวร์ที่สนับสนุนการคานวณแบบขนานจะมีสถาปัตยกรรมที่แตกต่างกัน ดังนั้นเราควรจะพิจารณาถึ ง
สถาปั ต ยกรรมของการค านวณแบบขนานในปั จ จุ บั น ที่ ป ระกอบไปด้ ว ย (1) SMP (Symmetric
multiprocessing) (2) Clusters (3) MPP (Massively parallel processing) และ (4) ccNUMAหรือ
NUMA (Cache-coherent nonuniform memory architecture) ดังแสดงในรูปที่ 6-3, 6-4, 6-5 และ 6-6
ตามลาดับโดยที่ในการพิจารณาแต่ละสถาปัตยกรรมเราควรจะพิจาณาคุณลักษณะ ประโยชน์ และข้อจากัด
ต่างๆดังนี้
SMP (Symmetric multiprocessing)(ดังแสดงในรูปที่ 6-8)




                                                                                         12 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
                                 รูปที่ 6-8 ตัวอย่างสถาปัตยกรรม SMP

     คุณลักษณะ
          o จะเป็นสถาปัตยกรรมที่ง่ายที่สุด ที่แต่ละโปรเซสเซอร์จะใช้งานหน่วยความจาหลัก และ ดิสก์
               ร่วมกัน
          o แต่ละโปรเซสเซอร์จะสามารถใช้งานหน่อยความจาหลักทั้งหมดได้โดยผ่านบัส (bus)
          o โปรเซสเซอร์จะสามารถติดต่อสื่อสารกันได้ผ่านทางหน่วยความจาหลัก
          o ทุกโปรเซสเซอร์จะสามารถเข้าถึง disk controller ได้
     ประโยชน์
          o เป็นเทคโนโลยีที่ถูกใช้มาตั้งแต่ยุค 1970s และได้มีการพิสูจน์ประสิทธิภาพแล้ว
          o มีความสามารถทางานพร้อมๆกันได้หลายๆงาน ซึ่งจะสามารถทาการรันคิวรีพร้อมๆกันได้
          o สามารถปรับสมดุลของภาระงานของแต่ละโปรเซสเซอร์ได้ค่อนข้างดี
          o สามารถต่อเติมยืดขยายได้ โดยที่เราสามารถเพิ่มโปรเซสเซอร์ได้โดยทาการเชื่อมต่อกับบัส
          o ทาให้เราสามารถดูแลและจัดการกับเซิร์ฟเวอร์ได้ค่อนข้างง่าย
     ข้อจากัด
          o หน่วยความจาจะค่อนข้างจากัด เนื่องจากมีอยู่ทีเดียวและถูกใช้โดยโปรเซสเซอร์ทั้งหมด
          o ประสิทธิภาพการทางานอาจจะถูกจากัดโดย bandwidth ตัวอย่างเช่น การติดต่อสื่อสาร
               ระหว่างโปรเซสเซอร์ และ I/O เป็นต้น
      SMP จะเป็นตัวเลือกที่น่าสนใจกับคลังข้อมูลที่มีข้อมูลไม่มากประมาณ 200-300 GB ที่อาจะต้องการ
ทางานหลายงานพร้อมกัน
Clusters (ดังแสดงในรูปที่ 6-9)


                                                                                    13 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
                                รูปที่ 6-9 ตัวอย่างสถาปัตยกรรม Cluster

    คุณลักษณะ
         o กลุ่มของโปรเซสเซอร์จะถูกแบ่งเป็นกลุ่มๆที่เรียกว่าโหนด โดยที่แต่ละโหนดจะมีโปรเซสเซอร์
              เพียงแต่ 1 หรือมากกว่านั้นก็ดี และ แต่ละโหนดจะมีหน่วยความจาเป็นของโหนดนั้นๆเอง
         o หน่ วยความจาในแต่ละโหนดถูกใช้โ ดยโปรเซสเซอร์ในโหนดนั้นๆเท่านั้น โดยสามารถใช้
              ร่ ว มกัน ได้ แต่ จ ะไม่ มีก ารหน่ว ยความจาร่ว มกั นระหว่ างโปรเซสเซอร์ที่ ไม่ ได้อ ยู่ใ นโหนด
              เดียวกัน
         o โปรเซสเซอร์จะสามารถติดต่อสื่อสารกันได้ผ่านบัสความเร็วสูง
         o แต่ละโหนดจะมีการใช้ดิสก์ร่วมกัน
         o สถาปัตยกรรมนี้จะเป็น cluster ของโหนดต่างๆ
    ประโยชน์
         o เป็นสถาปัตยกรรมที่มีประโยชน์สูง เนื่องจากเราสามารถเข้าถึงข้อมูลทั้งหมดได้ตลอดแม้ว่า
              จะมีโหนดใดโหนดหนึ่งเสียหาย
         o ยังคงรักษาการจัดเก็บข้อมูลไว้ที่เดียว
         o เป็นทางเลือกที่ดีสาหรับการยืดขยายต่อเติม ซึ่งเราสามารถเพิ่มโหนดเข้าไปได้
    ข้อจากัด
         o Banwidthของบัสอาจจะเป็นตัวจากัดความสามารถในการต่อเติมเพิ่มขยายโหนดใหม่ๆให้กับ
              ระบบได้
         o จะมีค่าใช้จ่าย (overhead) เกี่ยวกับระบบปฏิบัติการค่อนข้างสูง
         o แต่ละโหนดจะมีหน่วยความจา (เรียกว่า data cache) ดังนั้นเราจะต้องดูแลเรื่องความ
              สอดคล้องของ cache ด้วยในการ synกันระหว่างโหนด
                                                                                              14 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
       Cluster จะเป็นทางเลือกที่ดีสาหรับคลังข้อมูลที่คาดหวังว่าจะค่อยๆเติบโตขึ้นเรื่อยๆ
MPP (Massively parallel processing) (ดังแสดงในรูปที่ 6-10)




                                รูปที่ 6-10 ตัวอย่างสถาปัตยกรรม MPP

    คุณลักษณะ
         o เป็นสถาปัตยกรรมที่ไม่มีการใช้อุปกรณ์ใดๆร่วมกัน
         o เป็นสถาปัตยกรรมที่ให้ความใส่ใจกับการเรียกใข้ข้อมูลจากหน่วยความจาและดิสก์ โดยการ
              กาหนดให้ แต่ล ะโปรเซสเซอร์มีหน่ว ยความจาและดิส ก์เป็นของตนเองไม่ต้องยุ่งเกี่ยวกับ
              โปรเซสเซอร์อื่นๆ
         o สามารถทางานได้ดีกับระบบปฏบิติการที่สนับสนุนการเข้าถึงดิสก์โดยตรง
         o การติดต่อซื้อสารจะสามารถติดต่อได้ผ่านทางโปรเซสเซอร์
    ประโยชน์
         o เป็นสถาปัตยกรรมที่มีความสามารถในการยืดขยายต่อเติมสูง (highly scalable)
         o สามารถเข้าถึงข้อมูลได้อย่างรวดเร็ว
         o ค่าใช้จ่ายต่อ 1 โหนดจะค่อนข้างต่า
    ข้อจากัด
         o ต้องทาการแบ่งส่วนข้อมูลอย่างชัดเจน
         o การเข้าถึงข้อมูลเป็นไปอย่างจากัด
         o มีข้อจากัดในเรื่องของการปรับสมดุลของงานในแต่ละโปรเซสเซอร์
         o ต้องทาการดูแลรักษาเกี่ยวกับ cache consistency
        MPP จะเป็นทางเลือกที่ดีสาหรับการสร้างคลังข้อมูลขนาดกลางหรือขนาดใหญ่ที่มีข้อมูลประมาณ
400-500 GB แต่สาหรับคลังข้อมูลที่มีขนาด 1 เทราไบต์ขึ้นไป เราจะต้องมองหาสถาปัตยกรรมอื่นที่ผสมผสาน
ข้อดีของสถาปัตยกรรมข้างต้น
                                                                                     15 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
ccNUMA หรือ NUMA (Cache-coherent nonuniform memory architecture) (ดังแสดงในรูปที่
6-11)




                               รูปที่6-11 ตัวอย่างสถาปัตยกรรม NUMA

    คุณลักษณะ
         o เป็นสถาปัตยกรรมใหม่ที่สร้างขึ้นในช่วงทศวรรษ 1990s
         o NUMA จะมีสถาปัตยกรรมคล้ายกับ SMP ที่แตกส่วนออกเป็น SMP ย่อยๆที่มีการเชื่อมต่อ
              กัน
         o ในระบบจะมีหน่วยความจาจริงๆอยู่ที่เดียว แต่ในแต่ละโหนดจะมีโควต้าการใช้หน่วยความจา
              เป็นของตัวเอง ซึ่งแต่ละโหดนจะมีไดเรกทอรีของ memory address สาหรับโหนดนั้นๆเก็บ
              อยู่ด้วย
         o เวลาที่ใช้ในการเข้าถึงข้อมูลในหน่วยความจาจะค่อนข้างหลากหลายเนื่องจากโหดนแรก
              อาจจะต้องการข้อมูลที่ถูกเก็บอยู่ในพื้นที่หน่วยความจาของโหดนที่ 3 ก็เป็นได้ ซึ่งนี่คือเห็น
              ผลที่เราเรียกสถาปัตยกรรมนี้ว่าเป็น nonuniform memory access architecture
    ประโยชน์
         o มีความยืดหยุ่นสูงสุด
         o แก้ไขปัญหาเกี่ยวกับหน่วยความจาของ SMP
         o มีความสามารถในการยืดขยายต่อเติมได้มากกว่า SMP
         o สามารถใส่ OLAP ไว้ในเซิร์ฟเวอร์นี้ได้
    ข้อจากัด
         o การเขียนโปรแกรมเพื่อจัดการสิ่งต่างๆในสถาปัตยกรรม NUMA จะมีความซับซ้อนมากกว่า
              สถาปัตยกรรมอื่นๆ
                                                                                          16 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
            o ซอร์ฟแวร์ที่สนับสนุน NUMA นั้นมีค่อนข้างน้อย
        NUMA จะเป็นทางเลือกที่ดีสาหรับคุณ โดยที่คุณอาจจะเลือกใช้ NUMA ที่มี 1 หรือ 2 โหนด แต่ถ้า
บริษัทของคุณยังไม่มีประสบการณ์ทางด้านฮาร์ดแวร์เลย ทางเลือกนี้อาจจะยุ่งยากและซับซ้อนเกินไป

ซอร์ฟแวร์ระบบฐานข้อมูล (Database software)
         ในปัจจุบันซอร์ฟแวร์ระบบฐานข้อมูลได้ถูกพัฒนาอย่างต่อเนื่อง หลายๆซอร์ฟแวร์ของ RDBMS ได้มี
การเพิ่มเติมฟังก์ชันการได้มาซึ่งข้อมูล (data acquisition) สาหรับคลังข้อมูล ซึ่งจะทาให้การเข้าถึงข้อมูลหรือ
การถ่ายโอนข้อมูลจากระบบการดาเนินการไปยังคลังข้อมูลสามารถทางานได้ง่ายขึ้น ในหลายๆซอร์แวร์ได้มี
การเพิ่มฟังก์ชัน การเปลี่ ย นแปลง/เปลี่ ย นรูปข้อมูล (data transformation) อีกด้ว ย แต่อย่างไรก็ดี
นอกเหนือจากฟังกัชันที่ถูกเพิ่มขึ้นมาในซอร์ฟแวร์ระบบฐานข้อมูลแล้ว การประสมดุลของภาระงาน (load
balancing) และ ประสิทธิภาพของการประมวลผลคิวรี (query performance) ก็เป็นสิ่งสาคัญมากสาหรับ
คลังข้อมูลเนื่องจาก การทางานของคลังข้อมูลจะเป็นการประมวลผลคิวรีเป็นหลัก ซึ่ง จะเน้นหนักไปที่การ
ปรับปรุงประสิทธิภาพการประมวลผลคิวรีให้มีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้ โดยที่การประมวลผล
คิวรีแบบขนานก็เป็นทางเลือกหนึ่งสาหรับ DBMS ที่จะเพิ่มประสิทธิภาพในการประมวลผลและจะเป็นการใช้
ประโยชน์จากฮาร์ดแวร์ที่รองรับการคานวณแบบขนานได้อย่างเต็มที่
         การประมวลผลแบบขนานนั้ น เป็ น ทางเลื อกหนึ่ง ส าหรับ ฮาร์ ดแวร์ที่ มีห ลายโปรเซสเซอร์ โดยที่
ซอร์ ฟ แวร์ ร ะบบฐานข้ อมู ล โดยส่ ว นใหญ่ จ ะสามารถรองรับ การประมวลผลคิ ว รี แบบขนาดได้ โดยระบบ
ฐานข้อ มูล จะต้อ งท าการแบ่ งงานออกเป็ น หลายๆส่ ว นแล้ ว แจกจ่า ยให้ กั บแต่ล ะโปรเซสเซอร์เ พื่อ ทาการ
ประมวลผล ซึ่งในการแบ่งงานและแจกจ่ายงานนั้นระบบฐานข้อมูลจะต้องพิจารณาถึงความสมดลของภาระ
งานที่แต่ละโปรเซสเซอร์จะได้รับด้วย เมื่อแต่ละโปรเซสเซอร์ทางานที่ได้รับมอบหมายเสร็จสิ้น ระบบฐานข้อมูล
จะต้องทาการรวบรวมผลลัพธ์จากที่มีอยู่หลายๆส่วนเข้าด้วยกัน เพื่อคืนค่าผลลัพธ์ให้กับผู้ใช้ต่อไป
        การประมวลผลแบบขนานในระบบฐานข้อมูลจะมีด้วยกัน 2 ประเภทหลักๆ คือ (1) Interquery
parallelization และ (2) Intraquery parallelization ซึ่งทั้ง 2 การประมวลผลจะมีข้อดีข้อเสีย และ
รายละเอียดการทางานแตกต่างกัน ซึ่งสามารถแสดงรายละเอียดได้ดังนี้
Interquery parallelizationจะเป็นการประมวลผลคิวรีหลายๆคิวรีพร้อมๆกันแบบขนานโดยใช้หลาย
โปรเซสเซอรทางานพร้อมๆกัน โดยที่จานวนคิวรีที่จะทาการประมวลผลพร้อมกันอาจจะเป็นจานวนที่เรา
กาหนดไว้หรืออาจจะเท่ากับจานวนโปรเซสเซอร์ที่ว่างงานอยู่ในขณะนั้นก็เป็นได้ แต่อย่างไรก็ดีประสิทธิภาพ
การทางานของ interquery parallelization จะมีข้อจากัด ตรงที่ถึงแม้ว่าหลายๆคิวรีจะถูกประมวลผล
พร้อมๆกัน แต่ในการประมวลผลคิวรี หนึ่งๆยังคงต้องทาการคานวณแบบตามลาดับโดยทาการประมวลผลบน
โปรเซสเซอร์เพียงตัวเดียวเท่านั้น สมมติว่าคิวรีหนึ่งๆจะประกอบไปด้วย index read, data read, data join
และ data sort ตามลาดับ ซึ่งจากลาดับการทางานดังกล่าง การทางานของแต่ละขั้นตอนจะเริ่มต้นขึ้นได้ก็
ต่อเมื่อขั้นตอนก่อนหน้าสิ้นสุดลงเท่านั้น
                                                                                       17 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
Intraquery parallelizationจะเป็นการประมวลผลคิวรี หนึ่งๆที่ทาการแบ่งแยกขั้นตอนต่างๆออกจากกัน
แล้วทาการคานวณหรือประมวลผลแบบขนาน ตัวอย่างเช่นการประมวลผลคิวรีหนึ่งๆจะประกอบด้วยการ
ทางาน index read, data read, data join และ data sort ถ้าเราทาการประมวลผลแบบ intraquery
parallelization ขั้นตอนต่างๆจะถูกทางานพร้อมๆกันโดยหลายๆโปรเซสเซอร์ ซึ่งโดยปกติแล้ว intra query
parallelization จะสามารถแบ่งการทางานได้เป็น 3 วิธีหลัก ดังแสดงในรูปที่ 6-12




                    รูปที่ 6-12 การทา interqueryและ intraquery parallelization
   1. Horizontal parallelism จะเป็นการคานวณแบบขนานกับข้อมูลที่มีการแบ่งส่วนซึ่งจัดเก็บอยู่ใน
      หลายดิ ส ก์ โ ดยที่ ก ารค านวณแบบขนานจะเกิ ด ขึ้ น ที่ ขั้ น ตอนการท างานหนึ่ ง ๆของคิ ว รี ห นึ่ ง ๆ
      ตัว อย่ า งเช่น เมื่อ คิว รี ห นึ่ งต้ องทาการอ่า นข้ อมู ล (data read) จากหลายดิ ส ก์ Horizontal
      parallelism จะทาการกาหนดให้แต่ละโปรเซสเซอร์ทาการอ่านข้อมูลแต่ละดิสก์พร้อมๆกัน ซึ่งหลัก
      จากทาการอ่านข้อมูลเสร็จแล้วจะเปลี่ยนการทางานไปยังขั้นตอนถัดไป ซึ่งการการที่กาหนดให้แต่ละ
      โปรเซสเซอร์ทาการอ่านข้อมูลในแต่ละดิสก์ ถ้าแต่ละดิสก์มีข้อมูลไม่เท่ากันจะทาให้บางโปรเซสเซอร์ที่
      ทาการอ่านข้อมูลจานวนน้อยต้องเสียเวลาในการรอให้โปรเซสเซอร์ที่ต้องทาการอ่านข้อมูลจานวน
      มากทาการอ่านข้อมูลจนหมดเสียก่อน จึงค่อยเริ่มการทางานขั้นตอนต่อไป
   2. Vertical parallelismจะเป็นการคานวณแบบขนานกับหลายๆงานด้วยกัน เช่นในคิวรีหนึ่งๆจะ
      ประกอบไปด้วยหลายขั้นตอนการทางาน และขั้นตอนการทางานแหล่านั้นจะถูกคานวณพร้อมๆกันใน
      ลักษณะที่เป็นแบบ pipeline ซึ่งเมื่อเราทาการอ่านข้อมูลเสร็จแล้วหนึ่งขั้นตอน จะทาการส่งผลลัพธ์ที่
      ได้จากการอ่านข้อมูลไปยังขั้นตอนการทางานถัดไปทันที ซึ่งจะช่วยให้สามารถลดเวลาในการรอให้
      ขั้นตอนหนึ่งๆทางานจนเสร็จสิ้นจึงค่อยเริ่มการทางานขั้นตอนถัดไป แต่การที่จะทาการคานวณใน

                                                                                             18 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
       ลักษณะนี้ได้ DBMS จะต้องมีความสามารถในการแบ่งขั้นตอนการทางานและส่งผ่านข้อมูลระหว่าง
       ขั้นตอนการทางานค่อนข้างมาก ดังแสดงในตัวอย่าง B ในรูปที่ 6-12
    3. Hybrid method จะเป็นการผสมผสานระหว่าง horizontal และ vertical parallelism โดยการ
       แบ่งการประมวลผลทั้งในแบบ horizontal และ vertical ซึ่งจะทาให้เราสามารถใช้ทรัพยากรได้อย่าง
       คุ้มค่าที่สุด มีประสิทธิภาพในการคานวณสูงที่สุดและมีความยืดหยุ่น สามารถยืดขยายต่อเติมได้ ดัง
       แสดงในตัวอย่าง C ในรูปที่ 6-12
       หลังจากที่เราทราบถึงสถาปัตยกรรมของเซิร์ฟเวอร์ที่เราจะเลือกใช้ และ ทางเลือกในการคิวรีแบบ
ขนานแล้ว สิ่งเหล่านี้จะเป็นสิ่งที่ช่วยให้เราตัดสินใจในการเลือกใช้ DBMS ซึ่งในทางปฏิบัติเราอาจจะเลือก
ฮาร์ดแวร์ที่เกี่ยวข้องกับเซิร์ฟเวอร์ที่มีความสามารถในการคานวณแบบขนานก่อน จากนั้นเราค่อยทาการเลือก
DBMS ที่เหมาะกับเซิร์ฟเวอร์ที่เราเลือก โดยที่เราจะต้องพิจารณาถึงการปรับความสมดุลของภาระงานที่แต่ละ
โปรเซสเซอร์จะต้องรับผิดชอบ (load balancing) และ ทางเลือกในการคานวณแบบขนาน (parallel
processing options) นอกจากนี้เราจะต้องพิจารณาปัจจัยสิ่งต่างๆเหล่านี้ประกอบการเลือก DBMS

        Query governor—ใช้สาหรับคาคาดการณ์และยกเลิกคิวรีที่ไม่สามารถควบคุมได้
        Query optimizer—ใช้สาหรับวิเคราะห์และเพิ่มประสิทธิภาพให้กับการทาคิวรี
        Query management—ใช้สาหรับปรับสมดุลของการคานวณสาหรับคิวรีที่แตกต่างกัน
        Load utility—ใช้สาหรับช่วยเพิ่มประสิทธิภาพของการโหลดข้อมูล (data loading) และ การกู้คืน
         ข้อมูล (data recovery)
        Metadata management—ใช้สาหรับจัดการหรือจัดเก็บแคทตาล็อกข้อมูลหรือดาต้าดิกชันนารี
         (data catalog or data dictionary)
        Scalability—ความยืดหยุ่นของฐานข้อมูลที่สามารถรอบรับจานวนผู้ใช้และจานวนข้อมูลที่เพิ่มขึ้น
        Extensibility—ความสามารถในการเพิ่มความสามารถไปเป็น OLAP database
        Portability—ความสามารถในการทางานข้ามแพลตฟอร์ม
        Query tool application program interfaces (APIs)—มีเครื่องมือที่เป็น interface ที่ใช้ติดต่อกับ
         ผู้ใช้หรือไม่ เราจาเป็นต้องใช้เครื่องมือเหล่านี้หรือไม่
        Administration—มีฟังก์ชันสาหรับการดูแลรักษาฐานข้อมูล

เครื่องมือต่างๆที่จาเป็นสาหรับคลังข้อมูล
          หลั ง จากที่ เ ราพิ จ ารณาถึ งฮาร์ แ วร์ /เซิ ร์ฟ เวอร์ ระบบปฏิ บัติ ก าร และ ระบบฐานข้ อมู ล แล้ ว เรา
จาเป็ น ต้องพิจ ารณาถึงเครื่องมือต่างๆที่จ ะใช้ส าหรับการสร้างคลั งข้อมูล โดยที่ก่อนที่เราจะทาการเลื อก
เครื่องมือต่างๆ เราต้องออกแบบหรือกาหนดสถาปัตยกรรมของคลังข้อมูลที่เราจะทาการสร้างขึ้นเสียก่อน โดย
ที่สถาปัตยกรรมที่เราออกแบบจะมีฟังก์ชันการทางานต่างๆมากมาย จากนั้นเราจึงค่อยทาการเลือกเครื่องมือ
ต่างๆเพื่อสนับสนุนฟังก์ชันการทางานต่างๆที่เราออกแบบหรือกาหนดไว้ ซึ่งในปัจจุบันเทคโนโลยีการสร้าง
                                                                                                  19 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
คลังข้อมูลนั้นเริ่มที่จะนิ่ง ดังนั้นเราจึงสามารถเลือกใช้เครื่องมือที่มีอยู่ค่อนข้างหลากหลาย ซึ่งสามารถแบ่ง
เครื่องมือออกตามฟังก์ชันการทางานดังต่อไปนี้
Data modeling
    เป็นเครื่องมือที่ใช้สาหรับสร้างและจัดการกับแบบจาลองข้อมูล (data model) ที่ทาการเชื่อมโยง
      ข้อมูลระหว่างข้อมูลจากแหล่งข้อมูลและข้อมูลที่จะจัดเก็บอยู่ในคลังข้อมูล โดนที่แบบจาลองข้อมูลที่
      จะทาการสร้างขึ้นอาจจะนาไปใช้ใน staging area
    เป็นเครื่องมือที่มีความสามารถในการสร้าง database schema
    เป็นเครื่องมือที่ใช้สาหรับสร้างแบบจาลองข้อมูลจาก data dictionary ที่ได้จากฐานข้อมูลของ
      แหล่งข้อมูลหรือระบบการดาเนินการ
    เป็นเครื่องมือที่ช่วยในการออกแบบ diemsional model ที่ใช้สาหรับการสร้าง star schema
Data extraction
    เป็นเครื่องมือที่ช่วยในการสกัดข้อมูล โดยมีฟังก์ชันการสกัดข้อมูลสาหรับ full refresh และ การ
       เพิ่มเติมข้อมูลที่มีการเปลี่ยนแปลง
    การเลือกเครื่องมือในการสกัดข้อมูลจะขึ้นอยู่กับแพลตฟอร์มของแหล่งข้อมูลและแพลตฟอร์มของ
       ฐานข้อมูลที่ใช้
Data transformation
    เป็นเครื่องมือสาหรับการเปลี่ยนแปลง/เปลี่ยนรูปข้อมูลให้อยู่ในรูปแบบและโครงสร้างที่เหมาะสม
    มีการกาหนดค่าที่เป็น default value ให้กับข้อมูลที่ขาดหายไป
    จะประกอบไปด้วยฟังก์ชันหลักๆคือ การแยกหรือแตกข้อมูลจากฟิลด์หนึ่งๆ (fied splitting) การรวม
       ข้อมูลเข้าด้วยกัน (consolidation) และ การทาข้อมูลให้เป็นมาตราฐานเดียวกัน (standardization)
Data loading
    เป็นเครื่องมือสาหรับการถ่ายโอนข้อมูลที่ทาการเปลี่ยนแปลง/เปลี่ยนรู ปแล้วที่อยู่ในรูปของ load
       image ไปยังพื้นที่สาหรับจัดเก็บข้อมูลในคลังข้อมูล
    เครื่องมือที่ทาการถ่ายโอนข้อมูลอาจมีความสามารถในการสร้างคีย์หลักให้กับข้อมูลที่ทาการถ่ายโอน
Data quality
    เป็นเครื่องมือที่ช่วยในการค้นหาและแก้ใขความผิดพลาดที่เกิดขึ้นกับข้อมูล
    เป็นเครื่องมือที่ช่วยปรับปรุงความสอดคล้องของข้อมูลให้มีความสอดคล้องมากขึ้น
    เป็นเครื่องมือที่อาจจะใช้ใน staging area หรือ ใช้ปรับปรุงคุณภาพของข้อมูลในแหล่งข้อมูลโดยตรง


                                                                                             20 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
Queries and reports
   เป็นเครื่องมือที่ช่วยให้ผู้ใช้สามารถสร้างรายงานที่ซับซ้อน เป็นกราฟิก และ รายงานสาเร็จรูปได้
   เป็นเครื่องมือที่ช่วยผู้ใช้ในการสร้างและรันคิวรีต่างๆ
Dashboards
    เป็นเครื่องมือที่ช่วยในการจัดเตรียมข้อมูลข่าวสารให้กับผู้ใช้แบบทันท่วงที ซึ่งเป็นการให้ข้อมูลที่มีการ
      โต้ตอบกันระหว่างผู้ใช้กับคลังข้อมูล
    เป็ น เครื่องมือที่อนุ ญาติให้ ผู้ ใช้ส ามารททางานต่างๆได้เช่น การค้นหาข้อมูล แบบเจาะลึ ก ทาการ
      เปลี่ยนแปลงค่าพารามิเตอร์ต่างๆได้
Scorecards
    เป็นเครื่องมือที่อนุญาติให้ผู้ใช้เลือกตัวชี้วัดประสิทธิภาพ (key performance indicator) สาหรับการ
      สร้างรายงานต่างๆได้โดยง่าย
    เป็นเครื่องมือสาหรับเปรียบเทียบระหว่างประสิทธิภาพ ณ ปัจจุบัย และ ประสิทธิภาพในอดีต
    เป็นเครื่องมือที่เน้นในเรื่องความชัดเจนและความง่ายในการใช้งาน
Online analytical processing (OLAP)
    เป็นเครื่องมือที่ช่วยให้ผู้ใช้รันคิวรีที่มีความซับซ้อน
    เป็นเครื่องมือที่ช่วยสร้างคิวรีสาเร็จรูป
    เครื่องมือทางด้าน OLAP จะสามารถแบ่งได้เป็น 2 ประเภทคือ MOLAP (Multidimensional
       online analytical processing) และ ROLAP (relational online analytical processing) ที่ซึ่ง
       MOLAP จะทางานกับ multidimensional databases ที่รับข้อมูลมาจากคลังข้อมูลหลัก ในขณะที่
       ROLAP จะทางานกับ relational database ของคลังข้อมูล
Alert systems
    เป็นเครื่องมือที่จะแสดงข้อผิดพลาดที่เกิดขึ้นในคลังข้อมูล โดยสามรถทาการกาหนด exceptions
       ต่างๆได้
Middleware and connectivity
    เป็นเครื่องมือที่ช่วยในการเข้าถึงข้อมูลที่ประกอบไปด้วยหลายแพลตฟอร์ม
Data warehouse administrator
    เป็นเครื่องมือที่ช่วยผู้ดูแลคลังข้อมูลที่สามารถดูแลและจัดการงานในแต่ละวัน
    เป็นเครื่องมือที่เน้นในกระบวนการถ่ายโอนข้อมูลและติดตามประวัติของการถ่ายโอนข้อมูล
    เป็นเครื่องมือที่สามารถติดตามชนิดและจานวนคิวรีที่ผู้ใช้เรียกดูข้อมูล
                                                                                             21 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน
คาถามท้ายบท
   1. จงแจกแจงส่วนประกอบหลักของโครงสร้างพื้นฐานและหน้าที่ของแต่ละส่วนประกอบ
   2. จงอธิบายถึงปัจจัยในการเลือกฮาร์ดแวร์สาหรับคลังข้อมูล
   3. จงอธิบายถึงปัจจัยและทางเลือกในการเลือกระบบปฏิบัติการ
   4. จงอธิ บ ายถึ งทางเลื อกของสถาปั ต ยกรรมที่ ป ระกอบไปด้ ว ยหลายๆโปรเซสเซอร์ โดยอธิ บ ายถึ ง
      คุณลักษณะ ประโยชน์ และ ข้อจากัด
   5. Intraquery parallelization คืออะไร ประกอบไปด้วย 3 วิธีมีอะไรบ้าง
   6. จงแจกแจงเครื่องมือที่ใช้สาหรับการสร้างคลังข้อมูล




                                                                                    22 | P a g e
Data Warehouse Design (การออกแบบคลังข้อมูล) โดย อ.ดร.โกเมศ อัมพวัน

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:58
posted:10/3/2012
language:Thai
pages:22