Bağlantılı SQL Sunucularından ne gibi büyük sınırlamalar beklemeliyim?


9

Ürünümüz Microsoft SQL Server tabanlıdır. Şu anda, üç veritabanı kullanıyoruz ve bunları her zaman bir SQL Server örneğine yerleştirdik.

Üç veritabanı OLTP, OLAP ve denetimdir. OLAP veritabanı, çapraz veritabanı sorguları kullanarak hem OLTP hem de denetimden EOD üzerinde büyük gelen verilere sahiptir.

Sorular

Bu üç veritabanını tek bir fiziksel sunucu içindeki üç ayrı Standart Sürüm örneğine dağıtacak ve SQL Server'ın Bağlı Sunucu özelliğini kullanarak bunları birbirine bağlayacak olsaydık :

  1. Uygulama koduna ne kadar şeffaf olacak? Ne kadar değişiklik beklemeliyim?
  2. OLAP'a gelen veriler 50k-100k satır, EOD başına 200-500MB yük olarak hesaplandı. Ne kadar performans düşüşü beklemeliyim?
  3. Başka ne gibi büyük sınırlamalar beklemeliyim?

Arka fon

Şu anda potansiyel olarak ilk müşterimizi 500'den fazla eşzamanlı kullanıcıyla paylaşıyoruz.

64 çekirdek ve 256 GB RAM içeren bir sunucu spesifikasyonu hazırlıyoruz. SQL Server'ın tüm bu bol kaynakları kullanması için, istemcinin SQL Server 2016 için yalnızca çekirdek başına lisanslamada kullanılabilen Enterprise Edition'ı satın alması gerekir.

Sadece lisans maliyetinin (64 x 7400 $) bunları düşüreceğinden korkuyoruz. Bu yüzden, veritabanını Standard Edition'ın üç örneğine bölmeyi düşünüyorum ve bağlantı özelliğinin uygulama kodundan şeffaf olmasını umarak birbirine bağladık.

Yanıtlar:


14

Uygulama koduna ne kadar şeffaf olacak? Ne kadar değişiklik beklemeliyim?

Hiç şeffaf değil. Büyük değişiklikler bekliyoruz.

Performansta önemli bir düşüşe hazırlıklı olmalısınız.

Dağıtılmış Sorgu (bağlı sunucular için çerçeve), diğer uçtaki sunucu ne olursa olsun genel bir OLEDB modeli kullanır. Bir SQL Server hedefinin daha eksiksiz bilgi (meta veriler, istatistikler vb.) Sunabileceği doğrudur, ancak sonuç hala sıkı bir şekilde entegre edilmiş veya yerel bir çapraz veritabanı işlemi kadar yetenekli değildir.

Uzak sorgular, yavaş performans ve optimize edici tarafından kötü plan seçimleriyle tanınmış bir üne sahiptir. Verileri değiştiren ifadeler (silme, ekleme, güncelleme, birleştirme), temel model genellikle imlecinki olduğu için özellikle eğilimlidir.


Eğer gerçekleştirmek için gereken hiçbir zaman geçici çapraz örnek sorgular, sen belki kabul edilebilir performans için her saklanan sorgu el ayarlamak mümkün olabilir, ama bu çok iş olduğunu ve başarı hiçbir şekilde garanti olduğunu.

Çapraz örnek toplu işlemleri için, çok daha iyi gerçek toplu işlemler kullanılarak kapalı olacağını ( bcp, BULK INSERT, SSIS ... vb.) Bağlantılı sunucuları kullanarak daha örneği arasında.


Bütün bunlar, temel fikir benim için değerden çok daha fazla sorun gibi görünüyor. Standard Edition kısıtlamaları dahilinde çalışacak donanımı belirtin; veya müşteri daha yüksek performans gerektiriyorsa, daha büyük bir sunucu edinin ve Enterprise Edition'ı kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.