SQL Server bölümleme ile hiç çalışmadım ama şu anda birimlerin muhtemelen onu garanti ettiği bir veritabanı tasarlamakla karşı karşıya kaldım. Sistem kuponlar içindir. Kuponlar periyodik olarak, genellikle altı haftada bir düzenlenecektir, ancak geçici bir düzenleme de yapılacaktır - örneğin özel bir etkinlik için. 15 milyon müşteri var ve her ihraç etkinliği için, her müşteri 6 farklı kupon türü alacak ve toplam 90 milyon kupon örneği verecek. Kupon örneği itfa verilerini izlememiz ve bunu 6 ay boyunca korumamız gerekir, ancak tipik olarak bir kupon yalnızca altı hafta boyunca geçerlidir. Geçersiz bir kupon için herhangi bir itfa talebi veritabanına ulaşmayacaktır çünkü POS tarafından onaylanacaktır.
Altı aylık bir süre boyunca Kupon Örneği tablosunda 360 milyon satır ve Tekliften yararlanma tablosunda 72 milyon adede kadar (maksimum% 20 ödeme oranı varsayılır) depolamamız gerekecek. Bu sayıların tek bir disk bölümü için çok büyük olduğunu hissediyorum?
Benim sorum - bölüm anahtarı olarak ne kullanılır? Belirgin bir aday, yaklaşık 6 bölüm verecek şekilde düzenleme etkinliği olacaktır. Ama sonra, bunun bile en iyi performans için çok büyük bir bölüm boyutu vereceğini düşünüyorum. İki anahtarla bölümleme yapmak mümkün müdür, örneğin düzenleme etkinliği + müşteri kimliğinin son basamağı gibi? Yani mantık şöyle olur:
If issuance event = 1 and last digit of customer id < 5 then
Store in partition 1
Else if issuance event = 1 and last digit of customer id >4 then
Store in partition 2
Else if issuance event =2 and last digit of customer id <5 then
Store in partition 3
Else if issuance event =2 and last digit of customer id >4 then
Store in partition 4
Etc...
Ayrıca, ihtiyacımız olacak veritabanı sunucusunun spec emin değilim. 16GB ve 8CPU'lar yeterli olacak mı? Db, bir saniyeden daha kısa bir sürede sayısal bir barkod değeri üzerinde anahtarlanmış kupon örneği tablosundan bir sonuç döndürmek gerekir. Validate (select) ve redeem (insert) için beklenen işlem talebinin dakikada yaklaşık 3.500'e ulaşması bekleniyor.
SQL Server 2008r2 64bit db sunucusu, yüksek performanslı ve yüksek kapasiteli SAN'a erişimi olan çok güçlü bir ana bilgisayardan VM olarak sağlanacaktır.
Benzer birimleri yönetmek için bir SQL Server çözümü dağıtmış olanlardan tavsiye için çok minnettar olurum.
Saygılarımızla
Rob.