DBA Günlükleri #3: SQL Server In-Memory Natively Compiled SP Performans Etkisi(Insert&Update)

Hüseyin Demir
2 min readMay 4, 2019

--

Bu serinin son yazısında, In-Memory tablo kullanımında performans artışının zirve yaptığı bir yoldan bahsedeceğim. SQL Server natively compiled SP kullanarak insert ve update performansınızı DBA Günlükleri #2 yazısındaki sonuçlarına kıyasla daha da fazla arttırmanız mümkün. Bunun tek önkoşulu yazılım ekiplerinin ad-hoc sorgu yerine SP çağırmasıdır.

Natively compiled SP’lerin nasıl ve neden daha hızlı çalıştığı konusuna burada değinmiyorum. Bu yazıda sadece sonuçlarla ilgileneceğiz. Natively compiled SP’lerin çalışma doğası hakkında detaylı bilgi edinmek için aşağıdaki kaynakları kontrol edebilirsiniz.

Natively Compiled SP ve Insert Performans Karşılaştırması

Bir önceki yazıda in-memory ve disk-based tabloların insert performansını karşılaştırmıştık. Burada, natively compiled SP’yi de oyuna dahil ettim ve sonuçlar daha da iç açıcı :) Görüleceği üzere, natively compiled SP ile insert işlemlerinde disk-based tablonun 10 katı sıradan in-memory tablonun 5 katı hızlı performans kazanımı mümkündür.

Natively Compiled SP ve Update Performans Karşılaştırması

Insert işlemlerinde olduğu gibi update işlemlerinde de natively compiled SP diğer opsiyonlara göre tercih edilecek kadar dramatik bir performans kazanımı sunuyor.

Insert&Update işlemlerinde Natively Compiled SP’nin farkı gözle görülecek kadar büyük ve olumlu. Bu nedenle in-memory geçişinin yanında yazılım tarafının natively compiled SP entegrasyonu da bu geçişin daha da kazançlı hale gelmesini sağlayacaktır. Hele ki, yüksek yazma ve güncelleme alan sistemlerde(e-ticaret,kargo ve üniversite course&registration sistemi — Boğaziçi üniversitesi ders seçim ekranı seri üzgün — etc…) farkını daha da hissettirecektir.

Insert&Update işlemlerinden performans kazanımı sağlamak istiyorsanız;

  • FK’lardan kurtulun.
  • In-Memory teknolojisine geçin.
  • Natively compiled SP’ye entegre olun.

Bu yazı serisinde yaptığım bütün testleri github’dan bir kaynaktan ve bir başka kaynaktan alıntıladım. Amerika’yı yeniden keşfetmedim yani :) Aşağıda linklerini bırakıyorum. Bu testleri in-memory vs disk-based olarak da kullanabilirsiniz ya da in-memory(8 core cpu+6GB memory…..) vs in-memory(32483323 core cpu+3423423849GB memory) şeklinde de karşılaştırmalar yapabilirsiniz. Yani, donanım kaynaklarının da in-memory üzerindeki etkisini öğrenebilirsiniz.

--

--

No responses yet