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

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

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

3
อะไรคือข้อโต้แย้งในความโปรดปรานของการใช้กระบวนการ ELT บน ETL?
ฉันรู้ว่า บริษัท ของฉันใช้กระบวนการ ELT (แยกโหลดแปลง) แทนที่จะใช้กระบวนการ ETL (แยกโหลดเปลี่ยน) อะไรคือความแตกต่างในสองแนวทางและสถานการณ์ใดที่จะ "ดี" กว่าอีกสถานการณ์หนึ่ง มันจะดีถ้าคุณสามารถยกตัวอย่าง

3
ดัชนีคอลัมน์แบบคลัสเตอร์และคีย์ต่างประเทศ
ฉันกำลังปรับแต่งคลังข้อมูลโดยใช้ดัชนี ฉันค่อนข้างใหม่กับ SQL Server 2014 Microsoft อธิบายต่อไปนี้: "เราดูดัชนี columnstore ของคลัสเตอร์เป็นมาตรฐานสำหรับการจัดเก็บตารางข้อมูลคลังข้อมูลขนาดใหญ่และคาดว่าจะใช้ในสถานการณ์จำลองคลังข้อมูลส่วนใหญ่เนื่องจากดัชนี columnstore ของคลัสเตอร์สามารถอัปเดตได้เวิร์กโหลดของคุณสามารถทำการแทรกจำนวนมาก และลบการทำงาน " http://msdn.microsoft.com/en-us/library/gg492088.aspx อย่างไรก็ตามหากคุณอ่านเพิ่มเติมในเอกสารคุณจะพบภายใต้ข้อ จำกัด และข้อ จำกัด : "ไม่สามารถมีข้อ จำกัด ที่ไม่ซ้ำกันข้อ จำกัด ของคีย์หลักหรือข้อ จำกัด ของ Foreign Key" ทำให้ฉันงงมาก! เป็นวิธีปฏิบัติที่ดี (ไม่บังคับ) ให้มีคีย์ต่างประเทศในคลังข้อมูลด้วยเหตุผลหลายประการ (ความสมบูรณ์ของข้อมูลความสัมพันธ์ที่มองเห็นได้สำหรับเลเยอร์ความหมาย ... ) ดังนั้นไมโครซอฟท์จึงสนับสนุนการจัดทำดัชนีคอลัมน์แบบจัดกลุ่มสำหรับสถานการณ์คลังข้อมูล แต่มันไม่สามารถจัดการกับความสัมพันธ์ที่สำคัญกับต่างประเทศได้! ฉันถูกต้องหรือไม่ วิธีอื่นใดที่คุณจะแนะนำ ในอดีตที่ผ่านมาฉันใช้ดัชนี columnstore ที่ไม่ใช่คลัสเตอร์ในสถานการณ์ data warehouse โดยมีการปล่อยและสร้างใหม่สำหรับการโหลดข้อมูล อย่างไรก็ตาม SQL Server 2014 …

1
กลยุทธ์การสืบค้นโดยใช้ตารางเวลาชั่วคราวของระบบ SQL Server 2016 สำหรับมิติที่เปลี่ยนแปลงช้า
เมื่อใช้ตารางชั่วคราวของระบบ (ใหม่ใน SQL Server 2016) การเขียนแบบสอบถามและความหมายของประสิทธิภาพเมื่อใช้คุณลักษณะนี้เพื่อจัดการมิติการเปลี่ยนแปลงอย่างช้า ๆ ในคลังข้อมูลเชิงสัมพันธ์ขนาดใหญ่ ตัวอย่างเช่นสมมติว่าฉันมีCustomerมิติ100,000 แถวพร้อมPostal Codeคอลัมน์และSalesตารางข้อเท็จจริงหลายพันล้านแถวพร้อมCustomerIDคอลัมน์คีย์ต่างประเทศ และสมมติว่าฉันต้องการสอบถาม "ยอดขายรวม 2014 ตามรหัสไปรษณีย์ของลูกค้า" DDL แบบง่ายเป็นเช่นนี้ (มีหลายคอลัมน์เพื่อความชัดเจน): CREATE TABLE Customer ( CustomerID int identity (1,1) NOT NULL PRIMARY KEY CLUSTERED, PostalCode varchar(50) NOT NULL, SysStartTime datetime2 GENERATED ALWAYS AS ROW START NOT NULL, SysEndTime datetime2 GENERATED ALWAYS AS ROW …

2
โอเพ่นซอร์สระบบธุรกิจอัจฉริยะ / โซลูชั่น DWH [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Exchange Administrators Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันสงสัยว่าคำถามนี้ยังไม่ได้ถาม Google มีผลลัพธ์น้อยมากสำหรับฉันที่ไม่แสดงเครื่องมือคุณภาพสูง มีโอเพ่นซอร์สอะไรบ้าง (แถมฟรีก็โอเค) สำหรับคลังข้อมูลและเครื่องมือระบบธุรกิจอัจฉริยะโดยเฉพาะ? คุณมีประสบการณ์อย่างไรกับพวกเขา ฉันมีหลักสูตรในโปรแกรมหลักของฉันและเราทำงานกับ MS Business Intelligence และ MSSQL เป็นที่เก็บข้อมูลใน Data Warehouse ตอนนี้ฉันต้องการได้รับเพิ่มเติมในหัวข้อนี้ด้วยเครื่องมือที่ "เปิด" มีเครื่องมือใดที่สามารถเปรียบเทียบได้สำหรับ Business Intelligence (ส่วนใหญ่เป็นฐานข้อมูลที่เป็นอิสระ) และคุณมีประสบการณ์ใด ๆ หรือไม่ แก้ไขด้วยความเห็นของ Marian ต่อคำตอบของ Stephanie ฉันเห็นว่าฉันได้ตั้งคำถามผิด ฉันทราบว่า DWH เป็นเพียงฐานข้อมูล "การเพิ่มประสิทธิภาพการรายงาน" คำอธิบายของสเตฟานีชัดเจนมาก ฉันถูกรบกวนมากขึ้นว่าจะรับข้อมูลในรูปแบบที่ได้รับการปรับปรุงด้วยซอฟต์แวร์ BI / เครื่องมือ …

3
เปรียบเทียบฐานข้อมูล Postgres ที่คล้ายกันสองฐานเพื่อหาความแตกต่าง
ฉันดาวน์โหลดชุดข้อมูลที่เปิดเผยต่อสาธารณชนเป็นครั้งคราวในรูปแบบของ Postgres dBs ชุดข้อมูลเหล่านี้ได้รับการปรับปรุง / แก้ไข / ขยายเมื่อเวลาผ่านไปโดยโฮสต์ที่เก็บ มีคำสั่ง Postgres หรือเครื่องมือ (FOSS ในอุดมคติ) ที่สามารถแสดงความแตกต่างระหว่างฐานข้อมูล OLD และ NEW Postgres ได้หรือไม่? (ข้อสันนิษฐานการทำงานคือ 95% ของรายการไม่มีการเปลี่ยนแปลงและตารางและความสัมพันธ์จะไม่เปลี่ยนแปลง)

2
ทางเลือก EAV สำหรับฟิลด์แบบไดนามิกในคลังข้อมูลสคีมา
ฉันต้องการสนับสนุนฟิลด์และค่าแบบไดนามิกในคลังข้อมูลขนาดใหญ่สำหรับจัดเก็บบันทึกคำขอ API กรณีผู้ใช้ของฉันคือฉันต้องเก็บสตริงแบบสอบถามคำขอ API ทั้งหมดและสามารถดำเนินการค้นหากับพวกเขาในอนาคต (ดังนั้นจึงไม่ใช่แค่การจัดเก็บ ดังนั้นฉันไม่สามารถใช้หยดสำหรับพวกเขา) เช่น http://example.com/?action=test&foo=abc&bar=def... ฉันต้องเก็บการfield => valueแมปทั้งหมดเช่น(action => test), (foo => abc), (bar => def)และเนื่องจากฟิลด์นั้นเป็นแบบไดนามิกวิธีแก้ปัญหาเดียวที่ฉันได้พบคือการใช้เอนทิตี - แอตทริบิวต์ - ค่า - อย่างไรก็ตามผู้คนพูดว่ามันเป็นการออกแบบที่แย่มาก ดังนั้นให้พิจารณากรณีการใช้งานของฉันด้านบนสิ่งที่จะเป็นทางเลือกที่เหมาะสมกับ EAV? สคีมาปัจจุบันของฉันโดยใช้ KAV ตารางrequests (id, timestamp, uri) เช่น(1, 149382220, '/') ตารางparams (request_id, key, value) เช่น(1, 'action', 'test'), (1, 'foo', 'abc'), (1, 'bar', 'def') …

2
ETL: การแยกข้อมูลจาก 200 ตาราง - การไหลของข้อมูล SSIS หรือ T-SQL แบบกำหนดเอง
จากการวิเคราะห์ของฉันแบบจำลองมิติที่สมบูรณ์สำหรับคลังข้อมูลของเราจะต้องมีการดึงข้อมูลจากแหล่งข้อมูลกว่า 200 ตาราง บางส่วนของตารางเหล่านี้จะถูกดึงมาเป็นส่วนหนึ่งของการโหลดที่เพิ่มขึ้นและอื่น ๆ จะเป็นการโหลดแบบเต็ม โปรดทราบว่าเรามีฐานข้อมูลแหล่งข้อมูลประมาณ 225 รายการด้วยสคีมาเดียวกัน จากสิ่งที่ฉันได้เห็นการสร้างการไหลของข้อมูลอย่างง่าย ๆ ใน SSIS ด้วยแหล่งข้อมูล OLE DB และปลายทาง OLE DB ต้องการคอลัมน์และชนิดข้อมูลที่จะถูกกำหนดในขณะออกแบบ ซึ่งหมายความว่าในที่สุดฉันจะจบลงด้วยการไหลของข้อมูลมากกว่า 200 สำหรับการแยกเพียงอย่างเดียว จากมุมมองการบำรุงรักษาสิ่งนี้ทำให้ฉันกลายเป็นปัญหาใหญ่ ถ้าฉันต้องการทำการเปลี่ยนแปลงกวาดบางอย่างกับรหัสการแยกฉันจะต้องแก้ไขกระแสข้อมูลที่แตกต่างกัน 200 รายการ อีกทางเลือกหนึ่งฉันเขียนสคริปต์ขนาดเล็กซึ่งอ่านฐานข้อมูลต้นฉบับชื่อตารางและคอลัมน์ที่ฉันต้องการแยกจากชุดของตารางข้อมูลเมตา รหัสทำงานในหลายลูปและใช้ไดนามิก SQL เพื่อแยกจากตารางต้นฉบับผ่านเซิร์ฟเวอร์ที่เชื่อมโยงและ OPENQUERY จากการทดสอบของฉันสิ่งนี้ยังไม่เร็วเท่ากับการใช้กระแสข้อมูล SSIS กับแหล่ง OLEDB และปลายทาง ดังนั้นฉันสงสัยว่าฉันมีทางเลือกประเภทใด ความคิดจนถึงขณะนี้รวมถึง: การใช้EZAPIเพื่อสร้างแพ็คเกจ SSIS แบบเป็นโปรแกรมด้วยการไหลของข้อมูลอย่างง่าย ตารางและคอลัมน์ที่จะแยกจะมาจากตารางเมทาดาทาที่กล่าวถึงก่อนหน้านี้ ซื้อซอฟต์แวร์ภายนอก (ส่วนประกอบการไหลของข้อมูลแบบไดนามิก) วิธีที่ดีที่สุดในการเข้าถึงสิ่งนี้คืออะไร? เมื่อพูดถึงการเขียนโปรแกรม. NET ฉันเป็นผู้เริ่มต้นดังนั้นเวลาที่ต้องใช้ในการเพิ่มระดับความรู้พื้นฐานก็เป็นเรื่องที่น่ากังวลเช่นกัน

1
ฉันควรปิดการใช้งาน "สถิติการอัพเดทอัตโนมัติ" ในสถานการณ์จำลองคลังข้อมูลหรือไม่
ฉันมีคลังข้อมูล 200 GB ใน SQL Server ฉันประสบกับการดำเนินการช้ามากสำหรับบางข้อความค้นหา ตัวอย่างเช่น 12 ชั่วโมงเพื่อให้ง่ายแบบสอบถามกับdeleteinner join หลังจากทำการวิจัยด้วยแผนการดำเนินการฉันได้อัปเดตสถิติของตาราง 2 ตารางที่เกี่ยวข้องในแบบสอบถามโดยใช้WITH FULLSCANตัวเลือก ตอนนี้แบบสอบถามดำเนินการในเวลาน้อยกว่าหนึ่งวินาทีดังนั้นจึงปรากฏว่าสถิติไม่ทันสมัย ฉันกำลังพิจารณาปิดใช้งานauto update statisticsฐานข้อมูลและทำงานUPDATE STATISTICSด้วยตนเองหลังจากโหลดคลังข้อมูลแล้ว คลังข้อมูลจะถูกโหลดเพิ่มขึ้นจากระบบ ERP ต้นทางทุกวันในเวลากลางคืน ฉันถูกต้องในการสมมติว่าauto update statisticsในสถานการณ์คลังข้อมูลไม่ได้มีประโยชน์จริง ๆ ? จะเป็นการดีกว่าหรือที่จะอัปเดตสถิติด้วยตนเองหลังจากโหลดข้อมูลแล้ว

2
การจัดการโซนเวลาใน data mart / คลังสินค้า
เราเริ่มออกแบบหน่วยการสร้างดาต้ามาร์ต / คลังสินค้าและเราต้องสามารถรองรับโซนเวลาทั้งหมด (ลูกค้าของเรามาจากทั่วทุกมุมโลก) จากการอ่านการสนทนาออนไลน์ (และในหนังสือ) ดูเหมือนว่าวิธีแก้ปัญหาทั่วไปจะมีมิติวันที่และเวลาแยกจากกันรวมถึงการประทับเวลาในตารางข้อเท็จจริง อย่างไรก็ตามคำถามที่ฉันมีเวลาตอบยากคือขนาดและวันที่และเวลาที่ดีสำหรับฉันจริง ๆ แล้วพิจารณาความต้องการโซนเวลาแบบไดนามิกของฉันได้อย่างไร มิติเวลาทำให้รู้สึกมากกว่าเล็กน้อย แต่ฉันมีเวลายากกับมิติวันที่ แนวทางการออกแบบทั่วไปสำหรับส่วนข้อมูลวันที่มักจะมีคุณสมบัติเช่นชื่อวันวันในสัปดาห์ชื่อเดือน ฯลฯ ปัญหาที่ฉันมีอยู่ทั้งหมดคือ 23.00 น. ในวันอังคารที่ 31 ธันวาคม 2013 ใน UTC คือวันพุธ , 1 มกราคม 2014 ในโซนเวลาทั้งหมดที่อยู่หลัง UTC + 2 ดังนั้นถ้าฉันจะต้องทำการแปลงโซนเวลาเหล่านี้ทั้งหมดในทุก ๆ แบบสอบถาม (และรายงาน) แล้วประเด็นของการมีและการจัดเก็บคุณสมบัติเหล่านี้ที่ฉันอาจจะไม่เคยใช้ (ดูเหมือน) คืออะไร? บางคนแนะนำให้มีแถวความจริงสำหรับแต่ละเขตเวลา แต่ดูเหมือนว่าไร้สาระสำหรับฉัน เราต้องสามารถเก็บบันทึกได้หลายล้านรายการในแต่ละเดือน คนอื่น ๆ แนะนำให้มีตารางบริดจ์โซนเวลาซึ่งแม้ว่าจะมีเหตุผลบางอย่าง แต่ก็ดูเหมือนว่าจะมีความซับซ้อนและการรวมพิเศษเพื่อให้บรรลุสิ่งที่ลูกค้าและแอพของฉันควรจะสามารถหาได้จากวันที่ (การรายงานจะใช้เว็บเป็นหลัก ที่ซึ่งมีไลบรารีจำนวนมากมายเพื่อช่วยในการแปลงแสดงและจัดรูปแบบวันที่) สิ่งเดียวที่ฉันคิดได้คือความง่ายและประสิทธิภาพของการจัดกลุ่มตามวันที่และเวลา แต่วิธีที่แย่คือการจัดกลุ่มตามวันที่ …

2
การบีบอัดข้อมูล SQL Server นั้นดีสำหรับฐานข้อมูลแบบอ่านอย่างเดียวหรือไม่?
บางวรรณกรรมเกี่ยวกับการบีบอัดข้อมูล SQL Server ฉันอ่านว่าค่าใช้จ่ายในการเขียนเพิ่มขึ้นประมาณสี่เท่าตามปกติ ดูเหมือนว่านี่เป็นข้อเสียเปรียบหลักของการบีบอัดข้อมูลซึ่งหมายความว่าสำหรับฐานข้อมูลการเก็บถาวรแบบอ่านอย่างเดียวประสิทธิภาพจะดีขึ้นด้วยการใช้การบีบอัดข้อมูลที่เต็มหน้า 100% ข้อความข้างต้นเป็นจริงหรือไม่ "การเปลี่ยนแปลง" หลักระหว่างการบีบอัดข้อมูลกับอะไร (สำหรับการอ่าน) "CPU + x%" "IO -y%"? หน้าแยกเกิดขึ้น? การใช้งาน tempdb? การใช้ RAM? และสำหรับการเขียน? สำหรับวัตถุประสงค์ของคำถามนี้คุณสามารถ จำกัด บริบทเป็นการบีบอัดระดับหน้าของฐานข้อมูลขนาดใหญ่(> 1TB)แต่ยินดีต้อนรับความคิดเห็นเพิ่มเติมเสมอ อ้างอิง: บล็อก SQL Server Storage Engine (สถานการณ์สมมติ DW แสดงให้เห็นว่าการบีบอัดมีประโยชน์มาก) การบีบอัดข้อมูล: กลยุทธ์การวางแผนกำลังการผลิตและวิธีปฏิบัติที่ดีที่สุด วิธีการที่มีรายละเอียดมากขึ้นในการตัดสินใจว่าจะบีบอัดอะไรเกี่ยวข้องกับการวิเคราะห์คุณสมบัติเวิร์กโหลดสำหรับแต่ละตารางและดัชนี มันขึ้นอยู่กับสองตัวชี้วัดต่อไปนี้: U: เปอร์เซ็นต์ของการดำเนินการอัปเดตบนตารางดัชนีหรือพาร์ติชันเฉพาะเมื่อเทียบกับการดำเนินการทั้งหมดบนวัตถุนั้น ยิ่งค่าของ U ต่ำลง (นั่นคือตารางดัชนีหรือพาร์ติชันถูกอัพเดตนาน ๆ ครั้ง) ผู้สมัครที่ดีกว่าสำหรับการบีบอัดหน้า S: เปอร์เซ็นต์ของการดำเนินการสแกนบนตารางดัชนีหรือพาร์ติชันสัมพันธ์กับการดำเนินการทั้งหมดบนวัตถุนั้น ยิ่งค่าของ …

2
PostgreSQL สำหรับธุรกรรมปริมาณมากและคลังข้อมูล
ค่อนข้างใหม่สำหรับ PostgreSQL ฉันไม่เคยใช้งานขนาดใหญ่มาก่อน แต่ฉันมีประสบการณ์ที่ดีในโซลูชันระดับองค์กรและฉันต้องการลองใช้สิ่งที่ฉันเรียนรู้โดยใช้ PostgreSQL ฉันมีเว็บไซต์ที่มีขนาดใหญ่พอที่จะรองรับข้อมูลและปริมาณข้อมูลจำนวนมาก โครงสร้างพื้นฐานจะถูกสร้างโดยใช้บน amazon (AWS) โดยใช้อินสแตนซ์ของ EC2 และ EBS การออกแบบควรมีสองฐานข้อมูลฐานข้อมูลธุรกรรมหลักและคลังข้อมูลเพื่อจัดการการวิเคราะห์และการรายงาน ฐานข้อมูลธุรกรรมหลัก จะถูกใช้สำหรับเว็บไซต์สดเว็บไซต์นี้สร้างขึ้นบนหลายโหนดเพื่อขยายขนาดผู้ใช้พร้อมกัน ส่วนใหญ่เราต้องการฐานข้อมูลสำหรับกรณีนี้ที่จะรวดเร็วในการดำเนินการอ่านเราคาดว่า> ข้อมูล 100GB กับการเติบโต 30% ต่อปี ณ จุดนี้เราวางแผนที่จะใช้เซิร์ฟเวอร์ EC2 สองเครื่อง ( และเพิ่มในภายหลังตามที่เราต้องการ ) คำถามของฉันการตั้งค่าที่แนะนำสำหรับข้อกำหนดข้างต้นคืออะไร นอกจากนี้มีวิธีจัดการตารางและการแบ่งพาร์ติชันของไดรฟ์ข้อมูลหรือไม่? มีคำแนะนำสำหรับการใช้การตั้งค่า AWS หรือไม่ ฐานข้อมูลคลังข้อมูล ส่วนใหญ่จะใช้สำหรับการจับข้อมูลทั้งหมดจากฐานข้อมูลธุรกรรมหลักในมิติเวลา ดังนั้นแม้ลบบันทึกจากฐานข้อมูลหลักจะถูกจับใน DWH ดังนั้นข้อมูลจะมีขนาดใหญ่มากและการเติบโตจะยิ่งใหญ่ขึ้น นอกจากนี้เรายังจะใช้อินสแตนซ์คู่ EC2 ขึ้นไปหากต้องการ การตั้งค่าที่แนะนำในกรณีนี้คืออะไร? สิ่งนี้จะต้องใช้การเขียนที่รวดเร็วเนื่องจากการเขียนคงที่ (ETL) เราสามารถสร้าง OLAP คิวบ์ใน PostgreSQL ได้ไหม? …

1
จำกัด ระดับของการขนาน (DOP) ที่มีให้กับแบบสอบถาม
ใน Oracle Exadata (11gR2) เรามีฐานข้อมูลที่ค่อนข้างอ้วน cpu_count คือ 24 parallel_server_instances คือ 2 parallel_threads_per_cpu คือ 2 เราสังเกตเห็นว่าจากการสังเกตใน Oracle Enterprise Manager (OEM) ประสิทธิภาพนั้นแย่มากเนื่องจากมีการดำเนินการแบบสอบถามอย่างจริงจัง เพื่อแก้ไขปัญหานี้ตารางทั้งหมดมุมมองที่เป็นรูปธรรมและดัชนีถูกเปลี่ยนเพื่อใช้ประโยชน์จากความเท่าเทียม เช่น: ALTER TABLE SOME_TABLE PARALLEL (DEGREE DEFAULT INSTANCES DEFAULT); ระบบมีการเปลี่ยนแปลงเพื่อเปิด parallelisation: ALTER SYSTEM SET PARALLEL_DEGREE_POLICY = 'AUTO'; สิ่งนี้ส่งผลให้มีประสิทธิภาพที่ดีขึ้น แต่บางครั้งเราสังเกตเห็นใน OEM ว่าแบบสอบถามเดียวจะผูก DOP จาก 96 (ทรัพยากรที่มีอยู่ทั้งหมด) สิ่งนี้ทำให้เคียวรีลำดับต่อมาถูกลดระดับเป็น DOP เป็น 1 …

2
การออกแบบคลังข้อมูลสำหรับการรายงานข้อมูลกับเขตเวลาต่างๆ
เรากำลังพยายามปรับการออกแบบคลังข้อมูลให้เหมาะสมซึ่งจะสนับสนุนการรายงานข้อมูลสำหรับเขตเวลาต่างๆ ตัวอย่างเช่นเราอาจมีรายงานมูลค่ากิจกรรมหนึ่งเดือน (หลายล้านแถว) ที่ต้องแสดงกิจกรรมที่จัดกลุ่มตามชั่วโมงของวัน และแน่นอนว่าชั่วโมงของวันนั้นจะต้องเป็นชั่วโมง "ท้องถิ่น" สำหรับเขตเวลาที่กำหนด เรามีการออกแบบที่ทำงานได้ดีเมื่อเราเพิ่งสนับสนุน UTC และเวลาท้องถิ่น การออกแบบมาตรฐานของมิติวันที่และเวลาสำหรับ UTC และเวลาท้องถิ่นรหัสของบนตารางข้อมูลจริง อย่างไรก็ตามวิธีการดังกล่าวดูเหมือนจะไม่ขยายหากเราต้องสนับสนุนการรายงานสำหรับเขตเวลา 100+ ตารางความจริงของเรากว้างขึ้นมาก นอกจากนี้เราจะต้องแก้ปัญหาไวยากรณ์ใน SQL เพื่อระบุวันที่และเวลาที่จะใช้สำหรับการจัดกลุ่มในการเรียกใช้รายงานใด ๆ อาจเป็นคำสั่งกรณีที่มีขนาดใหญ่มาก? ฉันเห็นคำแนะนำเพื่อรับข้อมูลทั้งหมดตามช่วงเวลา UTC ที่คุณครอบคลุมจากนั้นส่งคืนไปยังเลเยอร์การนำเสนอเพื่อแปลงเป็นแบบโลคัลและรวมที่นั่น แต่การทดสอบที่ จำกัด กับ SSRS ชี้ให้เห็นว่าจะช้ามาก ฉันได้อ่านหนังสือบางเล่มเกี่ยวกับเรื่องนี้ด้วยและพวกเขาทั้งหมดพูดว่ามีเพียง UTC และแปลงเป็นไฟล์แสดงหรือมี UTC และหนึ่งในท้องถิ่น จะขอบคุณความคิดและข้อเสนอแนะใด ๆ หมายเหตุ: คำถามนี้คล้ายกับ: การจัดการโซนเวลาใน data mart / warehouseแต่ฉันไม่สามารถแสดงความคิดเห็นกับคำถามนั้นได้ดังนั้นรู้สึกว่าสมควรได้รับคำถามของตัวเอง อัปเดต:ฉันเลือกคำตอบของแอรอนหลังจากเขาทำการอัปเดตที่สำคัญและโพสต์โค้ดตัวอย่างและไดอะแกรม ความคิดเห็นก่อนหน้าของฉันเกี่ยวกับคำตอบของเขาจะไม่สมเหตุสมผลอีกต่อไปเนื่องจากพวกเขาอ้างถึงการแก้ไขคำตอบเดิม ฉันจะพยายามกลับมาและอัปเดตสิ่งนี้อีกครั้งหากรับประกัน

2
ฐานข้อมูลความจุ 100 TeraBytes - ทรัพยากรและการคาดการณ์เวลา
ฉันกำลังทำงานกับการคำนวณ 'ด้านหลังของซองจดหมาย' สำหรับการตั้งค่าฐานข้อมูลการรายงาน 100TB ฉันกำลังค้นหาความคิดจากผู้เชี่ยวชาญที่นี่ สภาพแวดล้อมที่เสนอ: ความจุ: 100TB ตาราง ~ 200 ขนาดตั้งแต่ 1GB ถึง 5TB ขนาดเฉลี่ยอาจอยู่ระหว่าง 100GB-200GB ETL - งานอาจต้องเข้าร่วมระหว่างตารางที่มี 10 ล้านแถวโดยมีคีย์การเข้าร่วมตั้งแต่ 10 ถึง 500 ไบต์ การเข้าร่วมดังกล่าวควรเสร็จสิ้นภายใน 2-5 นาที Live Selects - เริ่มแรกสนใจเฉพาะความเร็วที่เลือก ควรรองรับ 500 เลือก / วินาที การอัปเดต / วินาทีจะมีจำนวนน้อยกว่ามากและสามารถเพิกเฉยต่อการฝึกหัดนี้ได้ ต้องการความพร้อมในการ 24x7 2 เซิร์ฟเวอร์ฐานข้อมูลอิสระควรพร้อมให้บริการสำหรับการโทรที่เลือก (ด้วยการจำลองข้อมูล) คำถาม: ในปัจจุบันฉันกำลังดู Oracle ประสบการณ์ของคุณเป็นอย่างไรกับการค้าขาย …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.