SQL Server 2016 ‘dan 2022 sürümüne kadar eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak
- SQL Server 2016
- 1.Always Encrypted
- 2.Query Store
- 3.Dynamic Data Masking
- 4.PolyBase
- 5.Stretch Database
- 6.JSON Desteği
- 7.Temp İyileştirmeleri
- 8.Yedekleme ve Geri Yükleme Geliştirmeleri
- SQL Server 2017
- Linux Desteği
- Python Desteği (Machine Learning Services)
- High Availability and Disaster Recovery (Yüksek Erişilebilirlik ve Felaket Kurtarma) İyileştirmeleri
- Adaptive Query Processing (Uyarlanabilir Sorgu İşleme)
- SQL Server 2019
- Intelligent Query Processing
- Batch Mode on Rowstore
- Adaptive Joins
- Memory Grant Feedback
- Table Variable Deferred Compilation
- Otomatik Veritabanı Kurtarma (Accelerated Database Recovery – ADR)
- (Persisted Version Store – PVS)
- Logical Revert
- Instant Rollback
- Büyük Veri Kümeleri (Big Data Clusters – BDC)
- Memory-Optimized Temp Metadata
- SQL Server 2022
- Query Store for Cardinality Estimation
- Contained Database Authentication(Database Seviyesinde LOGİN Olma)
- Improved Backup and Restore
- Extended Availability Groups (EAG)
Bu yazımızda SQL Server 2016 ,SQL Server 2017, SQL Server 2019, SQL Server 2022 sürümlerinin yeniliklerini nelerdir ?
Bu sürümler ile göze çarpan ve ortamlara göre kullanılması gereken etkenler ne olmalıdır sorularına cevap vermeye çalışacağım
SQL Server 2016
1.Always Encrypted
SQL Server’da verilerin hem hareket halindeyken hem de depolandığında şifreli kalmasını sağlar.
Veritabanı yöneticisi bile şifrelenmiş verilerin içeriğini göremez.
Şifreleme, istemci tarafında yapılır.
Kolon bazlı şifreleme desteklenir.
CPU kullanımına dikkat edilmelidir.
2.Query Store
Sorgu performansını izlemek, analiz etmek ve optimize etmek için güçlü bir araçtır. Özellikle performans sorunlarına neden olan sorguların takip edilmesi ve performans gerilemelerinin tespit edilmesi için kullanılır.
3.Dynamic Data Masking
Dinamik Veri Maskesi, hassas verilerin görünürlüğünü sınırlandırarak yalnızca yetkili kullanıcıların verilere tam erişmesini sağlar.
4.PolyBase
PolyBase, T-SQL sorgularıyla Hadoop ve Azure Blob Storage gibi harici veri kaynaklarından veri almayı sağlar.
Verilere SQL Server üzerinden sorgu yapmanıza olanak tanır.
5.Stretch Database
Stretch Database, sıcak (hot) verileri SQL Server’da tutarken, daha az erişilen soğuk (cold) verileri Azure’a taşıyarak veritabanının depolama maliyetlerini azaltır.
Veritabanı hem yerel hem de bulut ortamında çalışır.
6.JSON Desteği
SQL Server 2016, JSON formatını destekleyerek JSON verilerini SQL Server’da kolayca saklamanızı, sorgulamanızı ve işleyebilmenizi sağlar.
JSON verileri SQL’e dönüştürülebilir veya tersi yapılabilir.
7.Temp İyileştirmeleri
SQL Server 2016, Temp için önerilen dosya yapılandırmalarını iyileştirmiştir. Birden fazla Temp veri dosyası (data files) oluşturmak, özellikle büyük ve karmaşık sorgularla çalışan sistemlerde I/O (Girdi/Çıktı) darboğazlarını azaltır.
8.Yedekleme ve Geri Yükleme Geliştirmeleri
- Backup Encryption (Yedekleme Şifreleme)
- Improved Backup Compression (Yedekleme Sıkıştırma İyileştirmeleri)
- Backup and Restore with Filegroups (Dosya Grupları ile Yedekleme ve Geri Yükleme)
- PITR (Point-In-Time Restore) İyileştirmeleri
- Delayed Durability (Gecikmeli Dayanıklılık)
- Backup and Restore for the Entire Instance (Tüm Sunucu İçin Yedekleme ve Geri Yükleme)
- Yedekleme İçin Dosya (File-Level) Yedekleme
- Online Backup (Çevrimiçi Yedekleme)
- Yedekleme İzleme ve Performans İyileştirmeleri
SQL Server 2017
-
Linux Desteği
SQL Server 2017 ile gelen en büyük yeniliklerden biri Linux işletim sisteminde çalışabilme özelliğidir. Artık SQL Server, yalnızca Windows üzerinde değil, aynı zamanda Linux üzerinde de çalışabilir.
-
Python Desteği (Machine Learning Services)
Machine Learning Services altında Python desteği eklemiştir. Python, veritabanı içindeki verilerle doğrudan etkileşim kurarak veri analizi ve makine öğrenimi modelleri geliştirmeyi sağlar.
-
High Availability and Disaster Recovery (Yüksek Erişilebilirlik ve Felaket Kurtarma) İyileştirmeleri
Özellikle Always On Availability Groups ve Windows Server Failover Clustering (WSFC) özelliklerinin optimizasyonları dikkat çekmektedir.
SQL Server 2017 ile failover işlemleri hızlanmıştır. Birincil sunucu arızalandığında, ikincil sunucuya geçiş süresi çok daha kısa sürmektedir. Bu, kesintisiz erişim sağlar ve iş sürekliliğini garanti eder.
-
Adaptive Query Processing (Uyarlanabilir Sorgu İşleme)
sorgu planlarını daha dinamik bir şekilde optimize etmek, parametre değerlerinin değişken olduğu durumlarda sorgu performansını iyileştirir.
SQL Server 2019
-
Intelligent Query Processing
-
Batch Mode on Rowstore
Eskiden Batch Mode, yalnızca Columnstore Index kullanılan sorgularda devreye girerken, SQL Server 2019 ile Rowstore (klasik satır tabanlı depolama) için de kullanılabilir.
Row Mode : Her seferinde bir satır işlenir.
Batch Mode : 64 KB’lik veri grupları (batch) halinde işlenir.
-
Adaptive Joins
Sorgu çalışma zamanında (runtime) Nested Loop Join veya Hash Join arasında dinamik olarak seçim yaparak daha verimli bir plan ortaya çıkarır.
SQL Server önceden tahmin edilen satır sayısına (cardinality estimate) göre bir eşik değeri (threshold) belirler.
Çalışma zamanında (runtime) küçük veri kümeleri tespit edilirse Nested Loop Join kullanılır. Büyük veri kümeleri tespit edilirse HASH JOİN kullanılır.
-
Memory Grant Feedback
SQL Server’da bir sorgu çalıştırıldığında, sort (sıralama), hash join veya hash aggregate işlemleri için belirli bir miktarda bellek tahsis edilir.
yanlış tahmin edilen satır sayıları nedeniyle bazen bellek tahsisi gereğinden fazla veya yetersiz olabilir.
Memory Grant Feedback bir sorgunun ilk çalıştırılmasında bellek tahsisinin doğru olup olmadığını analiz eder ve sonraki çalıştırmalarda bellek tahsisini otomatik olarak ayarlar.
Fazla Bellek Ayrılması: Sistem kaynakları boşa harcanır, diğer sorgular için yetersiz bellek kalabilir.
Eksik Bellek Ayrılması: Bellek yetersiz olduğunda temp (disk) kullanılır, bu da sorgu performansını düşürür.
-
Table Variable Deferred Compilation
SQL Server 2017 ve önceki sürümlerde, tablo değişkenleriyle çalışan sorgular derleme (compilation) aşamasında sabit bir satır tahmini (genellikle 1 satır) olarak değerlendirilir.
Eğer tablo değişkeni aslında binlerce satır içeriyorsa, yanlış bir Nested Loop Join veya Index Seek gibi hatalı planlar seçilebilir.
Kötü performans nedeniyle gereksiz temp kullanımı veya gereksiz disk IO oluşabilir.
SQL Server 2019 ile sorguyu çalıştırırken tablo değişkeninin içindeki satır sayısını belirler.
Bu özellik sayesinde Query Optimizer, artık tablo değişkenlerini statik 1 satır gibi görmez, gerçek satır sayısını hesaba katar!
-
Otomatik Veritabanı Kurtarma (Accelerated Database Recovery – ADR)
Geleneksel kurtarma süreci üç ana aşamadan oluşur:
Analysis (Analiz): Transaction log’un tamamı okunur ve geri alınması veya tamamlanması gerekir.
Redo (Yeniden İşleme): Committed işlemler tekrar yürütülerek veri tutarlılığı kontrol edilir.
Undo (Geri Alma): Tamamlanmamış (rollback edilmesi gereken) işlemler geri alınır.
örneğin milyonlarca satır içeren bir DELETE işlemi sistem çökerse veya yeniden başlatılırsa kurtarma süreci çok uzun sürecektir bu durum da UNDO aşaması zaman alacaktır.
ADR’ne işe yarar ADR adımları şunlardır.
-
(Persisted Version Store – PVS)
Değiştirilen her satırın eski versiyonları PVS (Persisted Version Store) içinde saklanır.
Böylece, bir işlem geri alınmak zorunda kalırsa, SQL Server logları baştan taramak yerine bu versiyonları kullanarak hızlı rollback yapabili
-
Logical Revert
Bir işlem rollback edildiğinde, undo işlemi logları değil PVS’yi kullanarak anında tamamlanır.
-
Instant Rollback
Büyük işlemlerin geri alınmasını anında yapar. UNDO aşaması artık gereksiz hale gelir.
-
Büyük Veri Kümeleri (Big Data Clusters – BDC)
Spark ve HDFS entegrasyonu ile Büyük veri kümeleri ile çalışmaya olanak tanır.
Hem ilişkisel (structured) hem de ilişkisel olmayan (unstructured) verileri tek bir platformda yönetir.
HDFS, Apache Spark ve SQL Server aynı sistemde çalışır.
-
Memory-Optimized Temp Metadata
SQL Server 2019, TempD’nin meta verisini bellek içinde saklayarak bu darboğazı azaltan bir özelliktir.
bellek içi hale getirilen önemli temp işlemleri
System Tables Geçici tablolar
Allocation Pages (GAM, SGAM, PFS) Page tahsisleri
Object Allocation Metadata Sys.allocation_units vb gibi tablolar
Amaç :I/O yükü azalır . Temp LATCH beklemeleri yaşanmaz. İşlemci ve bellek optimizasyonu sağlar
SQL Server 2022
-
Query Store for Cardinality Estimation
SQL Server, Query Store üzerinden cardinality estimation hatalarını takip eder ve bu hatalar nedeniyle ortaya çıkan performans sorunlarını raporlar.
Hatalı Sorgu Planlarını Tespit Etme
Alternatif Plan Seçimi
Plan İyileştirmeleri
Query Store’da yanlış cardinality estimation hataları tespit edilirse, SQL Server bu hatalı planları değiştirebilir ve alternatif sorgu planları önerilebilir. Bu sayede daha verimli planlar seçilir.
-
Contained Database Authentication(Database Seviyesinde LOGİN Olma)
SQL Server 2022’de veritabanı düzeyinde kimlik doğrulama işlemleri yapılmasını sağlar.
Kullanıcıların kimlik bilgileri veritabanı içinde saklanır. Bu, veritabanının farklı sunuculara taşınması sırasında kimlik bilgileriyle ilgili sorunları ortadan kaldırır.
Bu özellik, veritabanı taşıma ve veritabanı yedekleme işlemleri sırasında daha esnek bir yapı sağlar.
-
Improved Backup and Restore
SQL Server 2022, veritabanı yedekleme işlemlerini gerçek zamanlı izleyebilir ve yedekleme işlemleri sırasında oluşan değişiklikleri dinamik olarak yakalayabilir.
üyük veritabanları için daha hızlı yedekleme yapılabilmesi adına yedekleme dosyaları parçalara bölünebilir.
Backup Verification SQL Server 2022, yedekleme işlemi sırasında veri bütünlüğünü sürekli kontrol eder
-
Extended Availability Groups (EAG)
Always On AG özelliklerinde, genellikle maksimum 8 replikaya kadar destek vardır. Ancak Extended Availability Groups ile, ekstra replikalar eklenebilir.
- Fiziksel olarak farklı konumlarda iki ayrı cluster tutarak felaket kurtarma stratejisi oluşturabilirsiniz.
- Bir bölgedeki çökme diğer bölgeyi etkilemez, çünkü iki farklı Failover Cluster Instance (FCI) bağımsız şekilde yönetilir.
- SQL Server 2022’de, Extended Availability Groups farklı domain’ler arasında da çalışabilir.
- İki farklı ağ (subnet) üzerinde cluster barındırabilirsiniz.
0 Yorum