คำถามติดแท็ก data-warehouse

11
วิธีปฏิบัติที่ดีที่สุดหรือรูปแบบการออกแบบสำหรับการดึงข้อมูลสำหรับการรายงานและแดชบอร์ดในแอปพลิเคชันที่มีโดเมนมากมาย
ก่อนอื่นฉันอยากจะบอกว่านี่เป็นคำถาม / ประเด็นที่ถูกทอดทิ้งดังนั้นหากคำถามนี้ต้องการการปรับปรุงให้ช่วยฉันทำสิ่งนี้ให้เป็นคำถามที่ดีที่จะเป็นประโยชน์ต่อผู้อื่น! ฉันกำลังมองหาคำแนะนำและความช่วยเหลือจากผู้ที่ใช้งานโซลูชันที่แก้ไขปัญหานี้ไม่ใช่แค่แนวคิดที่จะลอง จากประสบการณ์ของฉันมีแอพพลิเคชั่นสองด้าน - ด้าน "งาน" ซึ่งส่วนใหญ่ขับเคลื่อนด้วยโดเมนและเป็นที่ที่ผู้ใช้โต้ตอบอย่างล้นหลามกับโมเดลโดเมน ("เอ็นจิ้น" ของแอปพลิเคชัน) และด้านการรายงาน รับข้อมูลตามสิ่งที่เกิดขึ้นในงาน ในด้านงานเป็นที่ชัดเจนว่าแอปพลิเคชันที่มีรูปแบบโดเมนที่หลากหลายควรมีตรรกะทางธุรกิจในรูปแบบโดเมนและฐานข้อมูลควรใช้เป็นหลักในการคงอยู่เป็นส่วนใหญ่ การแยกข้อกังวลหนังสือทุกเล่มเขียนเกี่ยวกับเรื่องนี้เรารู้ว่าต้องทำอะไรดีเลิศ แล้วด้านรายงานล่ะ คลังข้อมูลยอมรับได้หรือไม่หรือมีการออกแบบที่ไม่ดีเพราะรวมตรรกะทางธุรกิจไว้ในฐานข้อมูลและข้อมูลเอง ในการรวบรวมข้อมูลจากฐานข้อมูลลงในข้อมูลคลังข้อมูลคุณต้องใช้ตรรกะทางธุรกิจและกฎกับข้อมูลและตรรกะและกฎนั้นไม่ได้มาจากรูปแบบโดเมนของคุณมาจากกระบวนการรวบรวมข้อมูลของคุณ มันผิดหรือเปล่า? ฉันทำงานกับแอปพลิเคชันการจัดการทางการเงินและโครงการขนาดใหญ่ซึ่งมีตรรกะทางธุรกิจที่กว้างขวาง เมื่อรายงานข้อมูลนี้ฉันมักจะมีการรวมจำนวนมากที่ต้องทำเพื่อดึงข้อมูลที่จำเป็นสำหรับรายงาน / แดชบอร์ดและการรวมมีตรรกะทางธุรกิจจำนวนมาก เพื่อประสิทธิภาพฉันได้ทำกับตารางรวมที่สูงและขั้นตอนการจัดเก็บ ตัวอย่างเช่นสมมติว่ารายงาน / แดชบอร์ดจำเป็นต้องแสดงรายการของโครงการที่ใช้งานอยู่ (จินตนาการ 10,000 โครงการ) แต่ละโครงการจะต้องมีชุดของตัวชี้วัดที่แสดงพร้อมตัวอย่างเช่น: งบประมาณรวม ความพยายามในวันที่ อัตราการเผาไหม้ วันหมดงบประมาณที่อัตราการเขียนปัจจุบัน เป็นต้น แต่ละรายการเกี่ยวข้องกับตรรกะทางธุรกิจจำนวนมาก และฉันไม่เพียงแค่พูดถึงการคูณตัวเลขหรือตรรกะง่ายๆ ฉันกำลังพูดถึงเพื่อที่จะได้รับงบประมาณคุณต้องใช้แผ่นอัตราที่มี 500 อัตราที่แตกต่างกันหนึ่งรายการสำหรับเวลาพนักงานแต่ละคน (ในบางโครงการโครงการอื่น ๆ มีตัวคูณ) ใช้ค่าใช้จ่ายและมาร์กอัปที่เหมาะสม ฯลฯ ตรรกะนั้นกว้างขวาง การรวบรวมและการปรับแต่งแบบสอบถามใช้เวลามากในการรับข้อมูลนี้ในเวลาที่เหมาะสมสำหรับลูกค้า ควรดำเนินการผ่านโดเมนก่อนหรือไม่ แล้วประสิทธิภาพล่ะ …

8
มีกระบวนทัศน์การเขียนโปรแกรมที่ส่งเสริมการอ้างอิงอย่างชัดเจนกับโปรแกรมเมอร์อื่น ๆ หรือไม่
ฉันทำงานใน Data Warehouse ที่มาหลายระบบผ่านสตรีมและเลเยอร์จำนวนมากที่มีการพึ่งพาเหมือนเขาวงกตที่เชื่อมโยงสิ่งประดิษฐ์ต่างๆ สวยมากทุกวันที่ฉันเจอสถานการณ์เช่นนี้: ฉันทำงานอะไรบางอย่างมันใช้งานไม่ได้ฉันต้องใช้รหัสมากมาย แต่หลังจากนั้นฉันก็รู้ว่าฉันสามารถจัดการกับแผนที่กระบวนการในส่วนเล็ก ๆ ของสิ่งที่ฉันรู้ ในภายหลังจำเป็นต้องใช้วันดังนั้นฉันถามใครบางคนและพวกเขาบอกฉันว่ากระแสอื่น ๆ นี้จะต้องทำงานก่อนและถ้าฉันตรวจสอบที่นี่ (ระบุบางส่วนโดยพลการของรหัสอ้างอิงขนาดใหญ่อื่น ๆ ) แล้วฉันจะมี เห็นสิ่งนี้ มันน่าผิดหวังอย่างไม่น่าเชื่อ ถ้าฉันสามารถแนะนำทีมว่าบางทีมันอาจเป็นความคิดที่ดีถ้าเราทำมากกว่านั้นเพื่อให้การพึ่งพาระหว่างวัตถุที่มองเห็นและชัดเจนมากกว่าที่จะฝังลึกลงไปในระดับรหัสซ้ำหรือแม้แต่ในข้อมูลที่ ต้องมีการปรากฏตัวเนื่องจากมันถูกบรรจุโดยสตรีมอื่นบางทีอาจหมายถึงกระบวนทัศน์ซอฟต์แวร์ที่เป็นที่รู้จักลองและทดสอบแล้ว - ฉันอาจจะทำให้งานของฉันและคนอื่น ๆ ง่ายขึ้นมาก เป็นการยากที่จะอธิบายถึงประโยชน์ของสิ่งนี้กับทีมของฉัน พวกเขามักจะยอมรับสิ่งต่าง ๆ อย่างที่เป็นอยู่และไม่ 'คิดใหญ่' ในแง่ของการเห็นประโยชน์ของความสามารถในการกำหนดแนวคิดของทั้งระบบในรูปแบบใหม่ - พวกเขาไม่เห็นจริง ๆ ว่าถ้าคุณสามารถสร้างแบบจำลองระบบใหญ่ อย่างมีประสิทธิภาพจากนั้นจะทำให้มีโอกาสน้อยลงที่คุณจะพบกับความไม่มีประสิทธิภาพของหน่วยความจำการ จำกัด การสตรีมแบบ จำกัด และคีย์ที่ซ้ำกันข้อมูลไร้สาระเพราะมันง่ายต่อการออกแบบตามวิสัยทัศน์ดั้งเดิมและคุณจะไม่เจอปัญหาเหล่านี้ ตอนนี้เรากำลังประสบซึ่งฉันรู้ว่าผิดปกติจากงานที่ผ่านมา แต่ที่พวกเขาดูเหมือนจะคิดว่าหลีกเลี่ยงไม่ได้ ดังนั้นใครบ้างที่รู้ถึงกระบวนทัศน์ของซอฟต์แวร์ที่เน้นการพึ่งพาและส่งเสริมรูปแบบแนวคิดทั่วไปของระบบที่มีมุมมองในการสร้างความมั่นใจในการยึดมั่นในระยะยาวกับอุดมคติ ในขณะที่เรามีระเบียบขนาดใหญ่และวิธีแก้ปัญหาทุกการวิ่งดูเหมือนจะ "เพียงแค่เพิ่มสิ่งนี้ที่นี่และที่นี่และที่นี่" และฉันเป็นคนเดียวที่กังวลว่าสิ่งต่าง ๆ จะเริ่มสลาย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.