2
การออกแบบฐานข้อมูล SQL Server สำหรับข้อมูล“ เก็บถาวร แต่พร้อมใช้งาน”
เรามีฐานข้อมูลขนาดใหญ่นี้ (> 1TB) ที่เราตั้งใจจะ "ลดขนาด" ฐานข้อมูลหมุนรอบเอนทิตีหลักหนึ่งเรียกว่า "เยี่ยมชม" สำหรับการอภิปรายสมมติว่ามันเป็นฐานข้อมูลสำหรับการปฏิบัติทางการแพทย์ มี "ประเภท" การเข้าชม 30 ครั้งเช่นขั้นตอนรายปีการติดตามการฉีดวัคซีนและอื่น ๆ แต่ละรายการเป็นตารางเงินอุดหนุนสำหรับ "การเยี่ยมชม" เช่น "visit_immuno" ฐานข้อมูลได้สะสมข้อมูล 12 ปีมาตั้งแต่ปี 2000 มีคนเสนอว่าเราเก็บข้อมูลประมาณ 3 ปีในรุ่น "สด" และให้เวลาที่เหลืออยู่ในฐานข้อมูล "old_data" วันที่จะถูกเก็บไว้เฉพาะในตาราง "เยี่ยมชม" เนื่องจากมันถูกทำให้เป็นมาตรฐาน ตารางเยี่ยมชมยังมีROWVERSIONคอลัมน์และคอลัมน์BIGINTหลอก (คลัสเตอร์) สำหรับ intents และวัตถุประสงค์สมมติว่ากุญแจสำคัญในการจัดกลุ่มเป็นประชากรโดยลำดับ (SQL Server 2012 องค์กร) - cidเราจะตั้งชื่อมันว่า คำสั่งvisit.dateนี้ไม่ได้อยู่ในลำดับเดียวกับคีย์การจัดกลุ่มตัวอย่างเช่นเมื่อแพทย์ไปตรวจเยี่ยมเพิ่มเติมและกลับมาพร้อมกับข้อมูล "กระเป๋าเอกสาร" ของเขามันจะถูกรวมเข้าไว้ในตารางหลัก นอกจากนี้ยังมีการปรับปรุงบางอย่างเพื่อ "ไปที่" ตารางที่จะทำให้ROWVERSIONคอลัมน์ที่จะออกจากซิงค์กับทั้งสองcidและdateคอลัมน์ - จะนำมันก็ไม่ROWVERSIONหรือcidจะทำให้คีย์พาร์ทิชันที่เหมาะสมด้วยเหตุผลนี้ …