สัปดาห์ที่แล้ว เราได้พูดคุยกันอย่างยาวนานเกี่ยวกับทิศทางของการสร้างแบบจำลองคลังข้อมูล โดยพยายามค้นหาวิธีการสร้างแบบจำลองที่เหมาะสมสำหรับการพัฒนาแพลตฟอร์มคลังข้อมูลของ Alibaba ทฤษฎีทั่วไปสองประการของการสร้างแบบจำลองคลังข้อมูลคือการสร้างแบบจำลองมิติและการสร้างแบบจำลองความสัมพันธ์เอนทิตีตามโดเมนหัวเรื่อง ทั้งสองวิธีนี้แสดงโดยปรมาจารย์สองคนคือ Kimball และ Immon ตามลำดับ การสร้างแบบจำลองมิติขับเคลื่อนโดยความต้องการในการวิเคราะห์ข้อมูลและสนับสนุนสถาปัตยกรรมบัส: ข้อเท็จจริงที่สอดคล้องกันและมิติที่สอดคล้องกันแบบจำลองข้อมูลนี้ง่ายสำหรับผู้ใช้ในการทำความเข้าใจและดำเนินการสำหรับการวิเคราะห์ข้อมูล การสร้างแบบจำลองความสัมพันธ์ของเอนทิตีตามโดเมนหัวเรื่องขับเคลื่อนโดยข้อมูลระบบต้นทาง รวมข้อมูลทั้งหมดขององค์กร สรุปและรวมข้อมูลจากระดับองค์กร และใช้การสร้างแบบจำลองทฤษฎีความสัมพันธ์เอนทิตี 3NF วิธีการสร้างแบบจำลองข้อมูลนี้ใช้ความพยายามในแนวทางที่เป็นนามธรรมมากขึ้น เพื่อสร้างแบบจำลองข้อมูลที่ค่อนข้างเสถียรและสามารถอธิบายความสัมพันธ์ของข้อมูลระดับองค์กรได้ ในอุตสาหกรรม ทั้งสองวิธีมักจะรวมกันเพื่อใช้ลำดับชั้นข้อมูลที่แตกต่างกันในคลังข้อมูล
สัปดาห์ที่แล้ว เรามีการอภิปรายเชิงลึกเป็นหลักเกี่ยวกับวิธีการรวมข้อมูลในการสร้างแบบจำลองความสัมพันธ์เอนทิตีตามโดเมนหัวเรื่อง และอภิปรายแนวคิดสามประการต่อไปนี้:
แอตทริบิวต์ของเอนทิตีที่แตกต่างกันในโดเมนหัวเรื่องเดียวกันในรูปแบบของการรวมแอตทริบิวต์ ตัวอย่างเช่น สำหรับออบเจ็กต์เอนทิตี เช่น สมาชิก บริษัท ลูกค้า ฯลฯ เราทุกคนมีข้อมูลแอตทริบิวต์ที่อยู่ ข้อมูลแอตทริบิวต์การระบุชื่อ ฯลฯ แนวคิดนี้คือการรวมฟิลด์ที่มีการทำงานร่วมกันของแอตทริบิวต์สูงและติดป้ายกำกับแอตทริบิวต์ที่แตกต่างกันด้วยการระบุประเภทที่เก็บไว้ ในรูปแบบของโต๊ะต้นไม้ ข้อดีของมันคือ ประการแรก โมเดลมีความเสถียร และหากระบบต่อพ่วงเปลี่ยนฟิลด์ ก็จำเป็นต้องเพิ่มประเภทต่างๆ โดยไม่เปลี่ยนโครงสร้างตาราง ประการที่สอง จะลดข้อมูลประวัติที่ซ้ำซ้อนจำนวนมาก ข้อเสียคือ: ประการแรกจะสูญเสียข้อมูลการระบุแอตทริบิวต์ของเอนทิตีจำนวนมาก เราจะไม่เห็นว่าแอตทริบิวต์ที่อยู่ใดที่สมาชิกมีจากแบบจำลอง ข้อมูลนี้สามารถได้รับจากการสืบค้นรหัสประเภทเท่านั้น อย่างมาก จำนวนระเบียนในตารางข้อมูลถูกขยายเนื่องจากถูกจัดเก็บในรูปแบบของตารางแนวตั้ง ประการที่สาม นำไปใช้ได้ยากและประสิทธิภาพเป็นปัญหาใหญ่เนื่องจากเรามักจะต้องใช้หลายฟิลด์ของเอนทิตี และจะมีการดำเนินการร่วมและแนวตั้งจำนวนมาก การดำเนินการกลึงในแนวนอน ประการที่สี่: การรวมแอตทริบิวต์เป็นกระบวนการที่ค่อนข้างยากเนื่องจากเป็นกระบวนการเชิงนามธรรมซึ่งมีความต้องการสูงในความรู้พื้นฐานทางธุรกิจและความสามารถเชิงนามธรรมของผู้สร้างแบบจำลอง ประการที่ห้า: แม้ว่าความซ้ำซ้อนจะลดลง แต่จะบันทึกข้อมูลในอดีต แต่เป็นการดำเนินการของประวัติการบันทึก ก็ซับซ้อนกว่าเช่นกัน
ใช้การสร้างแบบจำลองเชิงวัตถุเพื่อสรุปคุณลักษณะทั่วไปของเอนทิตีต่างๆ จากนั้นใช้แนวคิดเชิงวัตถุ เช่น การสืบทอดและการรวมกันเพื่อทำให้เอนทิตีเป็นรูปธรรมทีละขั้นตอน ข้อได้เปรียบของมันคือแนวคิดของแบบจำลองนั้นค่อนข้างชัดเจน แต่ข้อเสียคือแบบจำลองนั้นค่อนข้างไม่เสถียร และการบูรณาการข้อมูลในภายหลังก็ควรประสบปัญหาในการรวมตัวกันใหม่
วิธีการสร้างแบบจำลองที่แนบมากับแหล่งที่มา: การสร้างแบบจำลองดำเนินการในลักษณะที่โดยทั่วไปจะรักษาระบบแหล่งที่มา โดยมุ่งเน้นไปที่มาตรฐานและความสม่ำเสมอของข้อมูล และแยกแยะความสำคัญทางธุรกิจของข้อมูล แนวทางนี้คล้ายกับแนวทางคลังข้อมูลปัจจุบันของเรา ใช้งานได้ค่อนข้างง่าย ใช้งานได้รวดเร็ว และส่วนหน้าสามารถใช้ข้อมูลได้โดยตรง ข้อเสียคือระดับการบูรณาการไม่สูงและโมเดลไม่เสถียร
ท้ายที่สุดแล้ว โมเดลนี้รองรับแอปพลิเคชันการวิเคราะห์ข้อมูล วิธีการสร้างโมเดลเฉพาะที่ใช้นั้นจำเป็นต้องถูกกำหนดโดยพิจารณาจากลักษณะทางธุรกิจที่เกิดขึ้นจริงและลักษณะของระบบต้นทาง ระบบต้นทางของอาลีบาบาเปลี่ยนแปลงอย่างรวดเร็ว และการวิเคราะห์ข้อมูลควรเปลี่ยนแปลงอย่างรวดเร็วและตอบสนองอย่างรวดเร็ว นอกจากนี้ ความต้องการในการบูรณาการระหว่างระบบต่างๆ ของเรายังไม่ค่อยดีนัก ดังนั้นโดยส่วนตัวแล้วผมคิดว่าวิธีการโพสต์แหล่งที่มาเป็นทางออกที่ดีกว่าในปัจจุบัน
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/wsbupt/archive/2009/12/30/5109309.aspx
-