สรุปแหนังสือ Multidimensional Databases and Data Warehousing บทที่ 1

NUTHDANAI WANGPRATHAM
3 min readApr 20, 2019

--

เราจะเริ่มต้นด้วยการกล่าวถึงความหมายโดยย่อของการจัดการข้อมูลหลายมิติ และการสร้างแบบจำลองข้อมูล จากนั้นจะเล่าประวัติโดยย่อของการจัดการข้อมูลหลายมิติและกำหนดคำสำคัญที่จะใช้แล้วอธิบายว่าทำไมเทคโนโลยีที่เกี่ยวข้องโดยเฉพาะอย่างยิ่งสเปรดชีตและฐานข้อมูลเชิงสัมพันธ์ ความต้องการการสร้างแบบจำลองของการจัดการข้อมูลหลายมิติ เชิงสัมพันธ์แบบดั้งเดิมกับการข้อมูลแบบดังเดิม

การจัดการข้อมูลหลายมิติ

รูปแบบข้อมูลเชิงสัมพันธ์ซึ่งได้รับการแนะนำโดย Codd ในปี 1970 ทำให้เขาได้รับรางวัล Turing Award ใน ทศวรรษต่อมาถือเป็นส่วนสำคัญของรากฐานของฐานข้อมูลในปัจจุบัน ในช่วงปี 1990 รูปแบบข้อมูลชนิดใหม่รูปแบบข้อมูลหลายมิติได้เกิดขึ้นได้สร้างแบบจำลองฐานข้อมูลเชิงสัมพันธ์(Relationship Database) โดยมีวัตถุประสงค์เพื่อวิเคราะห์ข้อมูลมากกว่าที่จะ ทำธุรกรรมออนไลน์ แบบจำลองข้อมูลหลายมิติมีมูลค่าเป็นเงินหลายพันล้านดอลลาร์ มันมีบทบาทในอุตสาหกรรมที่คล้ายกับบทบาทที่ฐานข้อมูลเชิงสัมพันธ์มีบทบาทในอุตสาหกรรมฐานข้อมูล

แบบจำลองข้อมูลหลายมิติได้รับการออกแบบอย่างชัดเจนเพื่อรองรับการวิเคราะห์ข้อมูล จำนวนของรูปแบบดังกล่าวได้รับการเสนอโดยนักวิจัยจากสถาบันการศึกษาและอุตสาหกรรม ในด้านวิชาการอย่างเป็นทางการ แบบจำลองทางคณิตศาสตร์ได้รับการเสนอในขณะที่แนวคิดเชิงอุตสาหกรรมได้รับการระบุโดยทั่วไป มากหรือน้อยโดยนัยโดยเครื่องมือซอฟต์แวร์ที่เป็นรูปธรรมที่นำมาใช้

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

แบบจำลองข้อมูลหลายมิติมีสามส่วนที่สำคัญในการวิเคราะห์ข้อมูล ขั้นแรกให้ใช้โมเดลหลายมิติในคลังข้อมูล คลังข้อมูลมีขนาดใหญ่ พื้นที่เก็บข้อมูลรวมที่ได้จากหลายแหล่งในองค์กรเพื่อวัตถุประสงค์เฉพาะ ของการวิเคราะห์ข้อมูล โดยทั่วไปแล้วการสร้างแบบจำลองหลายมิติถูกนำไปใช้กับข้อมูลดังกล่าวเนื่องจากให้ผลดี รองรับการวิเคราะห์ข้อมูล

พัฒนาการของ MULTIDIMENSIONAL

ฐานข้อมูลหลายมิติไม่ได้มีต้นกำเนิดมาจากเทคโนโลยีฐานข้อมูล แต่เกิดจาก วิชาพีชคณิตเมทริกซ์หลายมิติซึ่งถูกใช้สำหรับการวิเคราะห์ข้อมูล (นับตั้งแต่ปลายศตวรรษที่ 19)

ในช่วงปลายทศวรรษที่ 1960 บริษัทสองแห่งคือ IRI และ Comshare เริ่มพัฒนาระบบที่ได้กลายเป็น ระบบฐานข้อมูลหลายมิติในเวลาต่อมา เครื่องมือ IRI Express กลายเป็นที่นิยมมากในพื้นที่การวิเคราะห์การตลาดในช่วงปลายปี 1970 และต้นปี 1980; มันเปิดในภายหลัง เป็นเครื่องมือ OLAP ที่เป็นผู้นำตลาดและได้มาจาก Oracle ในขณะเดียวกันระบบ Comshare พัฒนาเป็น System W ซึ่งใช้อย่างมากสำหรับการวางแผนทางการเงินการวิเคราะห์และการรายงาน ในช่วงปี 1980

ในปี 1991 อาร์เบอร์ถูก ก่อตั้งขึ้นโดยมีจุดประสงค์เฉพาะในการสร้าง“ ผู้ใช้เซิร์ฟเวอร์ฐานข้อมูลหลายมิติ” ซึ่งส่งผลให้ระบบ Essbase อาร์เบอร์ตอนนี้ไฮเปอเรียนต่อมาได้รับอนุญาตให้ใช้งานพื้นฐานเวอร์ชันของ Essbase ไปยัง IBM สำหรับการรวมเข้ากับ DB2 มันเป็น Arbor and Codd ที่ในปี 1993 ประกาศเกียรติคุณ คำว่า OLAP

ในปี 1998 ไมโครซอฟท์ปล่อย เซิร์ฟเวอร์ MS OLAP เป็นครั้งแรกซึ่งนำไปใช้ในตลาดผู้ใช้ทั่วไป สิ่งนี้นำไปสู่สถานการณ์ปัจจุบันที่ระบบหลายมิติ ในปี 2541 ไมโครซอฟท์ส่งมอบ MS OLAP ให้เป็นครั้งแรก ระบบมุ่งเป้าไปที่ตลาดมวลชนสิ่งนี้นำไปสู่สถานการณ์ปัจจุบันหลายระบบ

เทคโนโลยีที่เกี่ยวข้องและคำศัพท์

OLAP: OLAP ย่อมาจากการประมวลผลเชิงวิเคราะห์แบบออนไลน์(OLAP Online Analytical Processing) เน้นการวิเคราะห์ข้อมูลมากกว่าการทำธุรกรรม นอกจากนี้ การวิเคราะห์จะเกิดขึ้น“ แบบออนไลน์” เช่นการตอบสนองการสืบค้น“ แบบโต้ตอบ” ที่รวดเร็วนั้นจะบอกเป็นนัย ใช้มุมมองข้อมูลหลายมิติ

ตรงข้ามกับ OLTP ที่รู้จักกันดี (การประมวลผลธุรกรรมออนไลน์)

ระบบ OLAP มีสามประเภทกว้าง ๆ : ระบบที่ใช้เทคโนโลยีการจัดการฐานข้อมูลเชิงสัมพันธ์เรียกว่าระบบ ROLAP ระบบที่ใช้เทคโนโลยีอาเรย์แบบหลายมิติที่ไม่สัมพันธ์กันเรียกว่าระบบ MOLAP และระบบไฮบริดที่รวมเทคโนโลยีเหล่านี้เข้าด้วยกัน เรียกว่าระบบ HOLAP

Data Warehouse: คลังข้อมูล ใช้สำหรับการสนับสนุนการตัดสินใจโดยเฉพาะเช่นมีคลังข้อมูลเพียงแห่งเดียวเท่านั้น ในองค์กร คลังข้อมูลมักจะมีข้อมูลที่รวบรวมจากแหล่งข้อมูลจำนวนมาก ภายในและบางครั้งก็อยู่นอกองค์กร

Data Mart: คือ subset ของ DATA WAREHOURE

ETL: ETL (Extract-Transform-Load) เป็นกระบวนการสามขั้นตอนที่ฟีดคลังข้อมูล

  1. กระบวนการดึงข้อมูล extraction process จะนำไปใช้กับข้อมูลจากระบบแหล่งปฏิบัติงานเช่นระบบ ERP
  2. กระบวนการแปลง transformation process ถูกนำไปใช้เพื่อเปลี่ยนรูปแบบข้อมูลจากรูปแบบระบบต้นทาง ในรูปแบบคลังข้อมูล ซึ่งรวมถึงการรวมข้อมูลจากแหล่งต่าง ๆ และทำการล้างเพื่อแก้ไขข้อผิดพลาดเช่นข้อมูลที่หายไปหรือผิด
  3. กระบวนการโหลด loading process คือนำไปใช้เพื่อนำเข้าข้อมูลลงในคลังข้อมูล ETL เป็นบางครั้งเรียกว่า ETT

Business Intelligence:

Business Intelligence (BI) เป็นกระบวนการสร้างการข่าวธุรกิจ การตัดสินใจขึ้นอยู่กับการวิเคราะห์ข้อมูลที่มีอยู่ จากมุมมองของเทคโนโลยี BI ครอบคลุม พื้นที่รวมของคลังข้อมูลการรายงาน OLAP การทำเหมืองข้อมูลการสร้างภาพข้อมูล การวิเคราะห์และแอพพลิเคชั่นการวิเคราะห์เพื่อวัตถุประสงค์พิเศษ

SHORTCOMINGS OF SPREADSHEETS AND RELATIONS

เพื่อทำความเข้าใจจุดเด่น ของฐานข้อมูลหลายมิติมันเป็นคำแนะนำในการพิจารณาทางเลือก สมมติว่าเราต้องการวิเคราะห์ข้อมูลเกี่ยวกับการขายหนังสือที่เราได้บันทึก หนังสือที่ขายได้หนังสือที่ขายและเมืองที่ขาย ตัวอย่างง่ายๆที่มีสองมิติ แสดงในรูปที่ 1.1 เมื่อพิจารณาถึงวิธีการวิเคราะห์ข้อมูลสเปรดชีตจะมาทันที ให้นึกถึงความเป็นไปได้ — รูปที่ 1.1 เป็นเพียงสเปรดชีต (สองมิติ)

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

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

ปัญหาอื่นเกิดขึ้นหากเราต้องการจัดกลุ่มเช่นหนังสือเป็นหมวดหมู่ระดับสูงกว่า เช่น “การทำอาหาร” และ “นิยาย” จากนั้นเราจะต้องทำซ้ำข้อมูลการจัดกลุ่มในแผ่นงานทั้งหมด ซึ่งส่งผลให้ระบบที่ใช้พื้นที่พิเศษมากและยุ่งยากมากในการรักษา สาระสำคัญของปัญหาคือสเปรดชีตผูกที่เก็บข้อมูลแน่นเกินไปกับการนำเสนอข้อมูล — โครงสร้างของข้อมูลและมุมมองที่ต้องการของข้อมูลจะไม่แยกออกจากกัน อย่างไรก็ตามสเปรดชีต เหมาะสำหรับการดูและสืบค้นข้อมูลหลายมิติเช่นใช้ตาราง Pivot table

ตาราง Pivot table เป็นตารางสองมิติ ข้อมูลพร้อมผลรวมย่อยและผลรวมที่เกี่ยวข้อง ตัวอย่างเช่น,

หากเราเพิ่มผลรวมย่อยตามเมืองและหนังสือและผลรวมทั้งหมดของเมือง / หนังสือลงในรูปที่ 1.1 เรามีตัวอย่าง ตาราง PIVOT ของตารางเดือยตามที่แสดงในรูปที่ 1.2. เพื่อรองรับการดูข้อมูลที่ซับซ้อนมากขึ้นหลายมิติ อาจซ้อนอยู่ในแกน x หรือ y และข้อมูลอาจปรากฏในหลาย ๆ หน้าเช่นหนึ่งหน้าหนังสือ โดยทั่วไปตาราง Pivot ยังให้การสนับสนุนสำหรับการเลือกชุดย่อยของข้อมูลและ

การเปลี่ยนระดับรายละเอียดที่แสดง ในตาราง 1.2

ด้วยสเปรดชีตที่ยาก ในการตอบสนองความต้องการของเราสำหรับการจัดการข้อมูลหลายมิติเราอาจพิจารณาใช้ระบบข้อมูลเชิงสัมพันธ์กับ SQL สำหรับการจัดการข้อมูล เนื่องจากโมเดลเชิงสัมพันธ์นำเสนอความยืดหยุ่นอย่างมากในการสร้างแบบจำลองและการสืบค้นข้อมูล ปัญหาที่นี่คือการคำนวณที่พึงประสงค์จำนวนมากรวมถึงมวลรวมสะสม (ยอดขายในปีถึงวันที่) ผลรวมและผลรวมย่อยและการจัดอันดับ (หนังสือขายดี 10 อันดับแรก) ยากหรือเป็นไปไม่ได้ที่จะกำหนดใน SQL มาตรฐาน

ปัญหาพื้นฐานที่สำคัญคือการคำนวณระหว่างกันนั้นยากที่จะแสดงใน SQL — เท่านั้น

การคำนวณระหว่างคอลัมน์ง่ายต่อการระบุ นอกจากนี้การสลับแถวและคอลัมน์ ไม่ได้ง่าย แต่ต้องการข้อมูลจำเพาะด้วยตนเองและการรวมหลายมุมมอง แม้ว่าส่วนขยายของ SQL เช่น data cube operator [28] และ windows query [21] ขั้นสูง โดยหน่วยงานมาตรฐานจะแก้ไขปัญหาบางอย่าง (ดูหัวข้อ 2.8.6 สำหรับรายละเอียด) แนวคิดของ มิติเชิงลำดับชั้นยังคงได้รับการจัดการอย่างน่าพอใจ

เพื่อสรุปสเปรดชีตหรือฐานข้อมูลเชิงสัมพันธ์ไม่สนับสนุนข้อกำหนดอย่างเต็มที่ เกิดจากการวิเคราะห์ข้อมูลขั้นสูงถึงแม้ว่าควรสังเกตว่าเทคโนโลยีเหล่านี้อาจเพียงพอ ภายใต้สถานการณ์ที่ จำกัด มากขึ้น ตัวอย่างเช่นหากเรามีเพียงไม่กี่มิติไม่จำเป็นต้องใช้ เพราะ มิติข้อมูลแบบลำดับชั้น (hierarchical dimensions,) และปริมาณข้อมูลมีขนาดเล็กสเปรดชีตอาจให้การสนับสนุนที่เพียงพอ อย่างไรก็ตามวิธีแก้ไขปัญหาที่มีประสิทธิภาพเท่านั้นสำหรับปัญหาข้างต้นคือจัดทำแบบจำลองข้อมูลและฐานข้อมูล เทคโนโลยีที่ให้การสนับสนุนโดยสมบูรณ์สำหรับแนวคิดหลากหลายมิติ

OLAP VS. OLTP

On-Line Analytical Processing (OLAP) นั้นแตกต่างจากการทำธุรกรรมออนไลน์อย่างมาก กำลังดำเนินการ (OLTP) เมื่อทำ OLTP การโฟกัสจะทำรายการเดียว ยกตัวอย่างเช่น ระบบ OLTP อย่างง่ายที่ผู้ค้าปลีกหนังสือใช้เพื่อติดตามหนังสือในสต๊อก เมื่อสำเนาของขายหนังสือ B บางเล่มระบบจะลดจำนวนที่แสดงว่ามีสำเนา B อยู่ในสต๊อกจำนวนเท่าใด ในทำนองเดียวกันจำนวนจะเพิ่มขึ้นเมื่อมีการส่งสำเนาเพิ่มเติมจากผู้เผยแพร่ ระบบ ติดตามเฉพาะข้อมูลล่าสุดเช่นในปัจจุบันมีอะไรบ้าง ข้อมูลรายละเอียดเกี่ยวกับ ยอดขายแต่ละรายการไม่ได้ถูกจัดเก็บเลยหรือไม่ได้จัดเก็บในรูปแบบที่สามารถวิเคราะห์ได้ ผู้ค้าปลีกอาจรู้ว่าลูกค้าคือใคร (ตัวอย่างเช่นหากลูกค้าสั่งจองล่วงหน้า) แต่ข้อมูลนี้จะไม่ถูกเก็บไว้เพื่อการวิเคราะห์ต่อไป ระบบจัดเก็บข้อมูลในฐานข้อมูลเชิงสัมพันธ์ที่ถูกทำให้เป็นมาตรฐานเพื่อหลีกเลี่ยงความผิดปกติในการอัปเดต ระบบ OLTP จึงเป็นเช่นนั้น ปรับให้เหมาะสมสำหรับการดึงและ / หรืออัปเดตจำนวนเล็กน้อยของ tuples (เช่น “ลดจำนวนในสต๊อกของหนังสือ B คูณ 1”)

ในทางตรงกันข้ามระบบ OLAP สำหรับผู้ค้าปลีกหนังสือจะติดตามการขายแต่ละรายการ นี้ รวมถึงข้อมูลเฉพาะเกี่ยวกับการขายเช่นเมืองที่มีการขายเกิดขึ้นวันที่ ของการขายพนักงานขายที่ขายหนังสือและข้อมูลเกี่ยวกับหนังสือ หลายมิติฐานข้อมูลใช้สำหรับการจัดเก็บข้อมูลดังกล่าวซึ่งทำให้ง่ายต่อการค้นหาเช่นตำราอาหารที่ขายดีที่สุดและจำนวนหนังสือเด็กโดยเฉลี่ยที่ขายก่อนวันหยุดโดยทั่วไประบบ OLAP ไม่เคยมี ลบหรืออัพเดตข้อมูล มีการเพิ่มเติมข้อมูลใหม่เป็นระยะ ๆ ระบบ OLAP คือซึ่งได้รับการปรับให้เหมาะสมสำหรับการดึง (และสรุป) ข้อมูลจำนวนมาก (เช่น “ค้นหาค่าเฉลี่ย จำนวนหนังสือเด็กที่ขายได้รายเดือนในช่วงสามปีที่ผ่านมา”)

อ่านบทอื่นๆได้ที่

สรุปแหนังสือ Multidimensional Databases and Data Warehousing บทที่ 1

แนวคิดพื้นฐาน Multidimensional Databases and Data Warehousing บทที่ 2

Multidimensional Databases and Data Warehousing : บทที่ 3 Advanced Concepts

--

--