हमारे पास एक ऐसी प्रणाली है जो डेटा स्टेशनिंग इंटरफ़ेस को उजागर करते समय कई स्टेशनों से डेटा की बड़ी मात्रा में समेकित रूप से सम्मिलित होती है।लेनदेन स्तर, नोलॉक/रीडपास्ट और समरूपता
[SyncTable]
SyncID
StationID
MeasuringTime
[DataTypeTable]
TypeID
TypeName
[DataTable]
SyncID
TypeID
DataColumns...
डाटा प्रविष्टि एक "तुल्यकालन" में किया और इस तरह से चला जाता है है (हम केवल प्रणाली में डेटा सम्मिलित है, हम कभी नहीं अद्यतन)
: स्कीमा कुछ इस तरह (गरीब स्वरूपण के बारे में खेद) लग रहा हैINSERT INTO SyncTable(StationID, MeasuringTime) VALUES (X,Y); SELECT @@IDENTITY
INSERT INTO DataTable(SyncID, TypeID, DataColumns) VALUES
(SyncIDJustInserted, InMemoryCachedTypeID, Data)
... lots (500) similar inserts into DataTable ...
और प्रश्नों इस प्रकार है (किसी दिए गए स्टेशन, measuringtime और डेटाप्रकार के लिए)
SELECT SyncID FROM SyncTable WHERE StationID = @StationID
AND MeasuringTime = @MeasuringTime
SELECT DataColumns FROM DataTable WHERE SyncID = @SyncIDJustSelected
AND DataTypeID = @TypeID
मेरा प्रश्न है कि हम कैसे आवेषण और NOLOCK/READP पर लेन-देन के स्तर का गठजोड़ कर सकते हैं है प्रश्नों पर एएसटी संकेत ताकि:
- हमने अपने सिस्टम में संगामिति को अधिकतम आवेषण के पक्ष में है, जबकि (हम डेटा का एक बहुत स्टोर करने के लिए की जरूरत है, 2000 + के रूप में उच्च कुछ रिकॉर्ड एक दूसरे)
- प्रश्नों केवल "प्रतिबद्ध" सिंक्रनाइज़ेशन से डेटा लौटाएं (हम आधा डालने वाले सिंक्रनाइज़ेशन के साथ परिणाम सेट नहीं करना चाहते हैं या लॉक-स्किपिंग के कारण कुछ छोड़े गए प्रविष्टियों के साथ सिंक्रनाइज़ेशन नहीं चाहते हैं)
- हमें परवाह नहीं है कि "नवीनतम" डेटा शामिल है या नहीं क्वेरी में, हम "लाइव" और अद्यतित डेटा
यह बहुत विरोधाभासी लक्ष्य हो सकता है और उच्च लेनदेन अलगाव स्तर की आवश्यकता हो सकती है लेकिन मुझे सभी चाल और अनुकूलन में रुचि है ताकि दोनों प्रविष्टियों और चयनों पर उच्च प्रतिक्रिया प्राप्त हो सके। अगर मैं अधिक बदलाव और चाल को दूर करने के लिए अधिक जानकारी की आवश्यकता है तो मुझे विस्तार से प्रसन्नता होगी।
अद्यतन: भविष्य के उत्तरों के लिए बस कुछ और जानकारी जोड़ना। हम शुरुआत में 5+ टीबी स्टोरेज के साथ एक SAN नेटवर्क पर SQL Server 2005 (2008 को छह महीने के भीतर) चला रहे हैं। मुझे यकीन नहीं है कि एसएएन किस प्रकार की RAID स्थापित है और ठीक है कि हम कितने डिस्क उपलब्ध हैं।
"समाधान" का हिस्सा के बाद से जवाब के रूप में यह अंकन सही ढंग से एक विशेष डिस्क सिस्टम की स्थापना जो बहुत throughput –