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

9
การบีบอัดข้อมูลทศนิยม
มีเครื่องมือใดที่ออกแบบมาเป็นพิเศษสำหรับการบีบอัดข้อมูลทางวิทยาศาสตร์จุดลอยตัวหรือไม่? หากฟังก์ชั่นราบรื่นมีความสัมพันธ์กันอย่างชัดเจนระหว่างตัวเลขที่แสดงถึงฟังก์ชันนั้นดังนั้นข้อมูลควรบีบอัดได้ดี Zipping / gzipping ข้อมูลเลขทศนิยมแบบไบนารีไม่ได้บีบอัดข้อมูล ฉันสงสัยว่ามีวิธีที่พัฒนาขึ้นเป็นพิเศษสำหรับการบีบอัดข้อมูลจุดลอย ที่ต้องการ: การบีบอัดแบบไม่สูญเสียข้อมูลหรือความเป็นไปได้ในการระบุจำนวนตัวเลขขั้นต่ำที่จะเก็บ (สำหรับบางแอปพลิเคชันdoubleอาจมากกว่าสิ่งที่เราต้องการในขณะที่floatอาจมีความแม่นยำไม่เพียงพอ) เครื่องมือการทำงานที่ผ่านการทดสอบเป็นอย่างดี (ไม่ใช่แค่กระดาษที่อธิบายวิธีการทางทฤษฎี) เหมาะสำหรับการบีบอัดข้อมูลตัวเลข 1D (เช่นอนุกรมเวลา) ข้ามแพลตฟอร์ม (ต้องทำงานบน Windows) มันจะต้องเร็ว --- โดยเฉพาะอย่างยิ่งไม่ช้ากว่า gzip ฉันพบว่าหากฉันมีตัวเลขที่เก็บไว้เป็น ASCII การบีบอัดไฟล์สามารถเพิ่มความเร็วในการอ่านและประมวลผล (เนื่องจากการดำเนินการอาจเป็น I / O ที่ถูกผูกไว้) โดยเฉพาะอย่างยิ่งฉันต้องการได้ยินจากผู้ที่ใช้เครื่องมือดังกล่าว

1
ทางเลือกแทน hdf5
ฉันใช้ HDF5 มาหลายปีแล้ว แต่เมื่อขนาดของชุดข้อมูลเพิ่มขึ้นฉันก็เริ่มพบปัญหาเดียวกันกับที่ระบุไว้ที่นี่ http://cyrille.rossant.net/moving-away-hdf5/ คุณสามารถชี้ให้ฉันเป็นรูปแบบเช่น HDF5 ด้วย - การสนับสนุนที่ดีสำหรับการเขียนแบบขนาน - สนับสนุนการเข้าถึงเมทริกซ์ขนาดใหญ่แบบ chunked กรณีใช้งานทั่วไปของฉันคือเมทริกซ์จำนวนเต็ม 100k x 100k ฉันต้องการที่จะให้มันเป็นไฟล์ทั้งหมดจากมุมมองเชิงตรรกะ แต่ฉันต้องเขียนมันด้วยการทำงานกับคนทำงานคู่ขนาน

3
แนวปฏิบัติที่ดีที่สุดสำหรับการจัดเก็บข้อมูลการจำลองแบบลำดับชั้น
TL, DR แนวปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับในวงการคำนวณทางวิทยาศาสตร์คืออะไรสำหรับการจัดเก็บข้อมูลที่มีโครงสร้างเป็นลำดับชั้นจำนวนมาก ตัวอย่างเช่น SQL ไม่สามารถเล่นได้ดีกับเมทริกซ์กระจัดกระจายขนาดใหญ่ มีเครื่องมือที่ดีสำหรับการจัดโครงสร้างคลังสินค้าและการวิเคราะห์ข้อมูลประเภทนี้หรือไม่? พวก LHC ใช้อะไร? ใช้รายละเอียดเคส ฉันต้องการจัดเก็บข้อมูลจากการจำลองโปรตีนตามลำดับชั้นดังต่อไปนี้: protein |__simulation conditions |____|__residues |____|____|__conformers |____|____|____|__atoms โปรตีนทุกชนิดควรตระหนักถึงสิ่งตกค้างแต่ละอะตอมทุกอะตอมควรรู้เงื่อนไขที่ใช้ในการจำลองสถานการณ์ ฯลฯ และในทางกลับกัน แต่เดิมฉันคิดว่าฐานข้อมูลเชิงสัมพันธ์จะสมบูรณ์แบบสำหรับแอปพลิเคชันนี้และดังนั้นฉันจึงเขียนโปรแกรมโดยใช้ python และ sqlalchemey ที่เก็บข้อมูลในฐานข้อมูล SQL อย่างไรก็ตามในทางปฏิบัติโปรแกรมนี้ทำงานได้ไม่ดีนัก ปัญหาที่ใหญ่ที่สุดเกี่ยวข้องกับความจริงที่ว่ามีเมทริกซ์ N x N ที่ระดับข้อมูลผู้ตรวจสอบที่เก็บพลังงานที่มีศักยภาพเนื่องจากการมีปฏิสัมพันธ์ระหว่างคู่ที่เป็นไปได้ทุกคู่ที่เป็นไปได้ รายการส่วนใหญ่ในเมทริกซ์เป็นศูนย์ดังนั้นฉันจึงจัดเก็บเมทริกซ์ในตารางแยกต่างหากในฐานข้อมูลในรูปแบบที่กระจัดกระจายหนึ่งแถวต่อรายการ น่าเสียดายที่การจำลองที่เกี่ยวข้องกับผู้ใช้หลายพันคนโต๊ะคู่ยังคงจบลงด้วยแถวหลายแสนแถวและ: a) การสร้างและการสืบค้นช้ามาก (ชั่วโมง) b) ใช้ลำดับความสำคัญของพื้นที่บนฮาร์ดไดรฟ์ของฉันมากกว่าการแสดงข้อความธรรมดาที่เทียบเท่ากันของข้อมูลในฐานะที่เป็นเมทริกซ์ที่ไม่หรี่ c) ใช้หน่วยความจำมากกว่าสิบกิกะไบต์ ตารางถูกอ่านในหน่วยความจำ เป้าหมายสูงสุดของฉันคือการจัดเก็บการวิ่งนับหมื่นนับพัน (มาจากโปรตีนหลายพันภายใต้เงื่อนไขการจำลองหลายโหล) ในฐานข้อมูลเพื่อให้พวกเขาสามารถวิเคราะห์ร่วมกัน นี่หมายความว่าตารางที่แสดงถึงเมทริกซ์การจับคู่ที่น่าจะเติบโตประมาณหนึ่งพันล้านแถว ขณะนี้ดูเหมือนว่าฉันจะต้อง Cray หรือสัตว์ประหลาดหน่วยความจำที่ใช้ร่วมกันอื่น …

3
ไฟล์ HDF5 เหมาะสมสำหรับการควบคุมการแก้ไข git หรือไม่?
ฉันไม่คุ้นเคยกับรูปแบบไฟล์ที่ใช้ใน HDF5 แต่ฉันสงสัยว่าไฟล์ HDF5 เหมาะสมสำหรับการควบคุมการแก้ไขด้วย git (หรือตัวอย่างเช่น Mercurial หรือ Subversion) หรือไม่ ฉันเดาว่าฉันหมายถึงอะไร: ไฟล์ HDF5 เหมาะสำหรับการกระจายแบบ line-based หรือคอมไพล์จะต้องรักษา HDF5 เป็นไบนารี่ขนาดใหญ่หนึ่งไฟล์และจัดเก็บสำเนาทั้งหมดสำหรับการแก้ไขแต่ละครั้งหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.