İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL Server
  3. SQL Server 2019 Yenilikleri – Batch Mode on rowstore

SQL Server 2019 Yenilikleri – Batch Mode on rowstore

sql-server-2019-new-features-min-850x365
JFORCE - Dell Technologies İşbirliği Başlıyor!

SQL Server 2019 ile gelen yenilikleri anlatmaya devam ediyoruz. Bu yazıda özelliğinden bahsedip demo yapacağız. Bu özellik SQL Server 2019’un Intelligent Query Processing (Akıllı Sorgu İşleme) adı altındaki özelliklerden biridir.

SQL Server 2012 versiyonu ile hayatımıza giren columnstore index kavramı, özellikle warehouse ve analitik raporlama veritabanlarındaki tablolarda kullanılmaya başlanmıştı. Columnstore index kullanımı bu yapılarda performansı açısından çok önemlidir. SQL Server 2019 ile beraber akıllı sorgu işleme adı altında topladığı özelliklerden biri olan Batch Mode on rowstore, mevcuttaki yapıyı kullanarak columnstore index yapısı gibi sorgularımızı çağırmamızı sağlar. Bu sayede columnstore index oluşturmadan aynı performansı elde etmiş ve ek bir maliyet oluşturmamaktadır. Tabi bu ortamı sağlarken sistem üzerindeki kaynaklarını bir miktar tüketmektedir. Özellikle analitik sorgulamalar da kullanıldığını varsaydığımızda CPU kaynak kullanımı olması yüksek ihtimaldir. Bu sebeple performans açısından olumlu bir etki yaratsa da kaynak kullanımlarını izlemek ve kontrollü bir şekilde yönetmek gerekmektedir. Bu özelliği kullanmak için de veritabanımızın Compatibility Level 150 (SQL Server 2019) olması yeterlidir.

Şimdi bu özellikle ilgili bir demo yapalım.

Öncelikle bu uygulamada veritabanı olarak Microsoft’un WideWorldImportersDW isimli test veritabanını kullanacağım. İlgili veritabanına buradan ulaşabilirsiniz.

Veritabanını restore ettikten sonra aşağıdaki script ile çalışma yapacağım tabloyu büyütüyorum.

 

İlgili işlem sonucunda log file büyüdüğü için shrink ediyorum.

 

İlk olarak veritabanımın compatibility level ayarını 150 (SQL Server 2019) yapıyorum. Ardından sorgumu ilgili özellik olmadan çalıştırıyorum. Bunun için DISALLOW_BATCH_MODE hinti kullanılmıştır.


Resim – 1

Görüldüğü üzere sorgu 5 sn. sürmüş, Stream Aggregate operatöründe vakit kaybetmiş durumdadır. Table Scan operatörünün Properties alanına baktığımızda Actual Execution Mode alanında Row yazdığını görüyoruz.

Şimdi aynı sorguyu hint kullanmadan yani Batch Mode on rowstore özelliği aktif haliyle çalıştıracağım.


Resim – 2

Resim – 2’de görüldüğü üzere sorgu 1 sn. sürdü. Actual Execution Mode alanında Batch ifadesi yazmakta ve Stream Aggregate operatörünün kaybolduğunu görmekteyiz. Ayrıca tüm operatörlerde sürelerin azaldığına da dikkat etmenizi istiyorum.

Eğer sorguda kullandığımız hintler yerine veritabanı bazında bu özelliği aktif/pasif edebilmek için aşağıdaki sorguları kullanabilirsiniz.

Bu yazımızda SQL Server 2019 ile gelen yeniliklerden Batch Mode on rowstore özelliğini anlatıp, performans olan etkisini demo yaparak göstermiş olduk. SQL Server 2019 ile gelen yenilikleri anlatmaya devam edeceğiz. Bir sonraki yazıda görüşmek üzere.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://www.mshowto.org

https://techcommunity.microsoft.com/t5/azure-sql/introducing-batch-mode-on-rowstore/ba-p/386256

TAGs: SQL Server 2019, SQL Server 2019 yenilikleri, SQL 2019, Batch Mode, rowstore, columnstore, batch mode on rowstore, row, batch, intelligent query processing

JFORCE - Dell Technologies İşbirliği Başlıyor!
Yorum Yap

Yazar Hakkında

1993 yılında İstanbul’da doğdum. İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği ve Işık Üniversitesi İşletme Yüksek Lisans (MBA) mezunuyum. Lisans mezuniyetimin sonrasında iş hayatına Piri Medya (Albayrak Holding) şirketinde Veritabanı Geliştiricisi olarak başladım. Daha sonra buradaki veritabanı deneyimimi geliştirmek için Bilge Adam’da NBUY (Nitelikli Bilişim Uzmanı Yetiştirme) Veri Analizi ve Raporlama programını başarıyla tamamladım ve MCPS sertifikasını aldım. Program sonrasında kısa süreli SQL Developer olarak çalıştıktan sonra önce Ebebek’te ardından da Mavi’de DBA olarak çalıştım. Ana uzmanlık alanım MS SQL Server yönetimidir. Fakat bu deneyimler ile beraber çeşitli teknoloji ve uygulama üzerinde de yetkinlik kazandım. Bunlar; SAP Basis, SAP HANA DB, Oracle Exadata, Sybase DB, EMC Datadomain, Avamar, HP Storeonce, Idera SQL Tools, Solarwinds, AppDynamics, Oracle Cloud Control. Kariyerime Türkiye Finans Katılım Bankası bünyesinde DBA olarak çalışmaya devam ediyorum.

Yorum Yap