Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ตำนานเกี่ยวกับ Dimensional Modeling มีอะไรบ้าง?


มีตำนานเล็กน้อยลอยลำเล่นเกี่ยวกับ dimensional modeling ที่สมควรได้รับการตอบสนอง

การดำเนินการ dimensional data model จะนำไปสู่ stovepipe decision support systems ตำนานนี้ไป责怪 denormalization สำหรับการให้ซอฟต์แวร์เฉพาะเจาะจงเท่านั้นที่จึงไม่สามารถปรับเปลี่ยนได้ นี่คือการตีความ dimensional modeling แบบกระทัดรัดที่จัดการให้ข้อความถูกต้องย้อนกลับพอดี

ขั้นแรก เราได้โต้เถียงว่าทุก entity-relation model มีชุด dimensional models ที่เทียบเท่าที่มีข้อมูลเดียวกัน ข้อสอง เราได้แสดงว่าแม้ในสภาพแวดล้อมการเปลี่ยนแปลงองค์กรและการปรับตัวของผู้ใช้ปลายทาง dimensional model ยังขยายตัวอย่างสง่างามโดยไม่เปลี่ยนรูปแบบ มันคือ entity-relationship model ที่ทำให้นักออกแบบแอปพลิเคชันและผู้ใช้ปลายทางต้องเขียน SQL ใหม่

เห็นร้อยๆ dimensional designs ที่ดีจากคนที่ไม่เคยพบหรือมีในชั้นเรียน มีรุ่นนักออกแบบทั้งรุ่นจากอุตสาหกรรมค้าปลีกบรรจุและผลิตที่ใช้และออกแบบ dimensional databases มา 15 ปีแล้ว

ตำนานนี้รากเหง้าจากที่มาประวัติศาสตร์ของ dimensional modeling แต่ไม่ใช่ในความเป็นจริงปัจจุบัน Dimensional modeling ถูกใช้ในหลายพื้นที่ธุรกิจ รวมถึง ธนาคารรายปลีก, ธนาคารพาณิชย์, ประกันทรัพย์และอุบัติเหตุ, ประกันสุขภาพ, ประกันชีวิต, brokerage customer analysis, telephone company operations, newspaper advertising, oil company fuel sales, government agency spending, manufacturing shipments, health care และอื่นๆ อีกมากมาย

Snowflaking คือการกำจัดแอตทริบิวต์ข้อความ low-cardinality จาก dimension tables และวางไว้ใน dimension tables "รอง" (secondary) ตัวอย่าง product category อาจจัดการแบบนี้และถูกนำออกจาก low-level product dimension table อย่างกายภาพ

Snowflaking ไม่ต่างจาก dimensional modeling เราถือ snowflaking ว่าเป็นการตกแต่ง (embellishment) ความเรียบง่ายของ dimensional model พื้นฐาน เราคิดว่านักออกแบบสามารถ snowflake ด้วยจิตสำนึกที่ชัดเจน หากเทคนิคนี้ปรับปรุงความเข้าใจของผู้ใช้และปรับปรุงประสิทธิภาพโดยรวม

ข้อโต้แย้งที่ว่า snowflaking ช่วย maintainability ของ dimension table เป็นเรื่องโกรธ (specious) ปัญหา maintenance จริงๆ ถูก leverage โดย disciplines แบบ entity-relation แต่ทั้งหมดนี้เกิดขึ้นใน data staging area ก่อนที่ข้อมูลจะโหลดเข้า dimensional schema

Entity-relationship modeling ไม่ได้สร้างแบบจำลองธุรกิจ แต่สร้างแบบจำลอง micro relationships ระหว่างองค์ประกอบข้อมูล Entity-relationship modeling ไม่มี business rules มันมี data rules

Entity-relationship models มีโครงสร้างที่เปลี่ยนแปลงได้อย่างสิ้นเชิง (wildly variable) ความเปลี่ยนแปลงอย่างสิ้นเชิงของกลไก entity-relationship models หมายความว่าแต่ละ data warehouse ต้องการ SQL ที่เขียนเองและปรับแต่งละเอียด สามารถแสดงได้ว่าแต่ละ schema เนื่องจากถูกปรับแต่ง จึงไวต่อการเปลี่ยนแปลงนิสัยการสืบค้นของลูกค้า เพราะ schema เหล่านี้เป็น asymmetrical