Know About Major Schema: Star vs. Snowflake

เผยแพร่แล้ว: 2022-08-26

สคีมาหลายมิติออกแบบมาเพื่อสร้างแบบจำลองระบบคลังข้อมูล

วัตถุประสงค์หลักของสคีมาเหล่านี้คือเพื่อตอบสนองความต้องการของฐานข้อมูลขนาดใหญ่ที่สร้างขึ้นเพื่อวัตถุประสงค์ในการวิเคราะห์ (OLAP)

วิธีนี้ใช้เพื่อจัดลำดับข้อมูลในฐานข้อมูลด้วยการจัดเรียงเนื้อหาในฐานข้อมูลให้ดี สคีมาช่วยให้ลูกค้าสามารถถามคำถามเกี่ยวกับแนวโน้มธุรกิจหรือตลาดได้

นอกจากนี้ สกีมาหลายมิติยังแสดงข้อมูลในรูปแบบของคิวบ์ข้อมูล ซึ่งช่วยให้สามารถดูและสร้างโมเดลข้อมูลจากเปอร์สเปคทีฟและมิติต่างๆ

มีสามประเภท แต่หลายคนสับสนระหว่างดวงดาวกับเกล็ดหิมะ ดังนั้นจึงเป็นเรื่องยากสำหรับพวกเขาที่จะเลือกรุ่นที่ต้องการ

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

สคีมาหลายมิติคืออะไร

สคีมาหมายถึงคำอธิบายเชิงตรรกะของฐานข้อมูลที่สมบูรณ์และดาต้ามาร์ท ประกอบด้วยชื่อของเรกคอร์ดและคำอธิบาย ซึ่งรวมถึงการรวมและรายการข้อมูลที่เกี่ยวข้อง

โดยทั่วไปฐานข้อมูลใช้แบบจำลองเชิงสัมพันธ์เพื่ออธิบาย ในขณะที่ระบบคลังข้อมูลใช้แบบจำลองสคีมา

สคีมาหลายมิติสามารถกำหนดได้ด้วย Data Mining Query Language (DMQL)

ในการกำหนดดาต้ามาร์ทและคลังข้อมูล จะใช้สองพื้นฐาน – นิยามมิติและนิยามคิวบ์

สคีมาหลายมิติใช้โมเดลสคีมาประเภทต่างๆ พวกเขาคือ:

  • สตาร์สคีมา
  • สคีมาเกล็ดหิมะ
  • สคีมากาแล็กซี่

มาคุยกันว่าสคีมาของดาวและเกล็ดหิมะคืออะไร

Star vs. Snowflake: พวกมันคืออะไร?

Star Schema คืออะไร?

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

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

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

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

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

Snowflake Schema คืออะไร?

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

สคีมาคือเกล็ดหิมะ ถ้าตารางไดเมนชันตั้งแต่หนึ่งตารางขึ้นไปไม่เชื่อมโยงโดยตรงกับตารางแฟคท์ แต่เชื่อมต่อผ่านตารางไดเมนชันอื่น

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

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

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

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

Star vs. Snowflake: มันทำงานอย่างไร?

Star Schema ทำงานอย่างไร

ตารางข้อเท็จจริงที่อยู่ตรงกลางของแบบจำลองดาวจัดเก็บข้อมูลสองประเภท – ค่าแอตทริบิวต์ที่เป็นตัวเลขและมิติ มาทำความเข้าใจกับตัวอย่างฐานข้อมูลการขายกัน

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

ตารางไดเมนชันจะเก็บข้อมูลสนับสนุนจากตารางแฟคท์เสมอ ตารางมิติทุกตารางเกี่ยวข้องกับคอลัมน์ของตารางข้อเท็จจริงพร้อมกับค่ามิติและเก็บข้อมูลเพิ่มเติมเกี่ยวกับค่านั้น

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

Snowflake Schema ทำงานอย่างไร

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

คล้ายกับสคีมาดาวแต่มีการเปลี่ยนแปลงในนาที สคีมาเกล็ดหิมะแตกต่างจากสคีมาแบบดาวตรงที่ขยายตารางมิติย่อย ซึ่งเชื่อมโยงกับตารางไดเมนชัน

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

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

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

Star vs. Snowflake: ลักษณะเฉพาะ

ลักษณะของสตาร์สคีมา

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

ลักษณะของ Snowflake Schema

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

Star vs. Snowflake: ข้อดี

ข้อดีของ Star Schema

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

ข้อดีของ Snowflake Schema

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

Star vs. Snowflake: ข้อ จำกัด

ข้อจำกัดของ Star Schema

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

ข้อจำกัดของ Snowflake Schema

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

Star vs. Snowflake: ความแตกต่าง

Star และ Snowflake เป็นประเภทของสคีมาหลายมิติ แต่มีโครงสร้างและคุณสมบัติต่างกัน อันแรกเป็นเหมือนดาวฤกษ์ และอันหลังคล้ายกับเกล็ดหิมะซึ่งกำหนดชื่อไว้

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

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

ไดอะแกรมด้านล่างแยกความแตกต่างระหว่างสองโมเดล และวิธีที่ตารางไดเมนชันและตารางแฟคท์เชื่อมโยงกันในสคีมาที่ต่างกัน

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

บทสรุป

สกีมาทั้งแบบ Star และ Snowflake มีประโยชน์ในภาคส่วนต่างๆ ดังนั้นการตัดสินใจเลือกสิ่งที่ดีที่สุดในหมู่พวกเขานั้นขึ้นอยู่กับความต้องการของพวกเขา

สคีมาเกล็ดหิมะเป็นส่วนขยายของสคีมาแบบดาว ซึ่งจะทำให้ตารางมิติในสคีมาแบบดาวเป็นปกติ

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

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

คุณอาจสำรวจโซลูชันฐานข้อมูลกราฟที่ดีที่สุด