Linux üzerinde SQL Server özellikleri

Tamamlandı

Bir SQL Server'ın bütçe sahiplerine geçişini gerekçelendirmek için, SQL Server'ın hangi özelliklerinin sistemleriniz için rekabet avantajı sağlayabileceğini bilmenize yardımcı olur.

Linux üzerinde SQL Server ne olduğunu araştırdıktan sonra, mevcut özelliklerin Mevcut ve gelecekteki veri işleme için Wide World Importers gereksinimlerini karşıladığından emin olmak istediğinizi varsayalım.

Burada, Linux üzerinde SQL Server temel özellikleri hakkında bilgi edineceksiniz.

Performans

Linux üzerinde SQL Server, Karma İşlemSel Analitik İşleme (HTAP) çözümü sunarak hızlı işlem aktarım hızı ve duyarlı analiz için rakip gereksinimleri destekler. HTAP, SQL Server'ın temel performans teknolojilerinden bazılarını kullanır:

Bellek İçi Çevrimiçi İşlem İşleme (OLTP)

Bellek için iyileştirilmiş tabloları ve derlenmiş saklı yordamları birleştiren Wide World Importers, işlem tablolarında önemli performans kazanımları görebilir; örneğin, e-ticaret web sitesi için yazma ve okuma oturumu durumu.

Columnstore dizini

SQL Server hem satır verilerini hem de sıkıştırılmış sütun verilerini destekler. İşlem tablolarında analiz sorguları yazılırken satır deposu yerine kullanılan bir columnstore dizini de olabilir. Columnstore dizinlerinin kullanılması, geçerli analiz paketinin işlemsel performansı korumasına ve aynı zamanda işletimsel veriler üzerinde gerçek zamanlı raporlama sorguları çalıştırmasına olanak sağlar.

Sorgu Deposu

DBA ekibiniz, doğru sorgu planlarının kullanıldığından emin olmak için aylık performans ayarlama görevini tamamlar. Sorgu performansını izler ve yürütme planlarındaki değişikliklerin performansı etkilediği sorgu planlarını geri alır. Ekip ayrıca geliştirme liderine en uzun süre çalışan ilk 10 sorguyu bildirir ve kaynak kilitlerini denetler. Sorgu Deposu tüm bu görevleri destekler ve Transact-SQL ile etkinleştirebilirsiniz:

ALTER DATABASE <database name>
SET QUERY_STORE (OPERATION_MODE = READ_WRITE);

Otomatik Ayarlama ve Akıllı Sorgu İşleme

Sorgu Deposu etkinleştirildikten sonra otomatik plan seçimi düzeltmesini etkinleştirebilirsiniz. Otomatik Ayarlama etkinleştirildiğinde, SQL Server sorgu performansını izler. Yeni bir sorgu planı önceki sürümden daha kötüyse, yeni planı daha iyi performans gösteren önceki sürümle değiştirebilir. seçeneği, veritabanı düzeyinde bir ALTER deyimle kullanılabilir:

ALTER DATABASE <database name>
SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON );

Akıllı Sorgu İşleme (IQP), çoğu SQL Server 2019'da yeni olan ve iş yükünüzün performansını otomatik olarak geliştiren ve iyileştiren bir özellik kümesidir. IQP özellikleri şunlardır:

  • Uyarlamalı Birleştirmeler: SQL Server, gerçek giriş satırı sayısına göre çalışma zamanı sırasında dinamik olarak bir birleştirme türü seçer.
  • Yaklaşık Sayı Ayrı: SQL Server, büyük veri senaryolarının bu tür sorguları yüksek performans ve düşük bellek yüküyle çalıştırması için yaklaşık olarak farklı sonuçlar sağlar.
  • Bellek Verme Geri Bildirimi: Sorguda diske taşan işlemler varsa, SQL Server sonraki işlemler için daha fazla bellek ekleyebilir. Benzer şekilde, bir sorgu kendisine ayrılan belleğin yarısından fazlasını harcarsa, SQL Server kendisine atanan belleği azaltabilir.
  • Tablo Değişkeni Ertelenen Derleme: SQL Server, bir tablo değişkeninin gerçek kardinalitesini sabit tahmin yerine ilk derlemesinde kullanır.

IQP, herhangi bir kodu yeniden yazmanızı veya veritabanı şemanızı değiştirerek en iyi performansı elde etmenizi gerektirmez. Tek yapmanız gereken veritabanını 150 veya sonraki bir uyumluluk düzeyine yükseltmektir:

ALTER DATABASE <database name> SET COMPATIBILITY_LEVEL = 150;

Güvenlik

Linux üzerinde SQL Server diskteki, bellekteki veya aktarımdaki verileri korumak için Always Encrypted, satır düzeyi güvenlik ve dinamik veri maskeleme gibi gelişmiş güvenlik özelliklerini destekler. Bu özelliklerin tümü, Standard Sürümü dahil olmak üzere tüm sürümlerde desteklenir:

  • Saydam Veri Şifrelemesi (TDE), veritabanı dosyalarında depolandığında bekleyen verileri şifreler. Veriler hem veritabanında hem de yedeklemelerde kötü amaçlı kullanıcılara karşı korunur.

  • Always Encrypted , verileri yalnızca veri sahibi olan kullanıcıların görüntüleyebilmesini ve işleyebilmesini sağlar. Veritabanı yöneticileri gibi verileri yöneten kullanıcılar verileri görüntüleyemez. Always Encrypted kullanıyorsanız:

    • Şifrelenmiş verileri önce şifresini çözmeden sorgulayabilirsiniz.
    • Bekleyen veriler, sunucu belleğine taşındığında ve sunucudan güvenilen istemci uygulamasına taşındığında korunur.
    • şifreleme ve şifre çözme istemci sürücüsünde gerçekleşir, böylece işlem istemci uygulamaları için saydam olur.
    • Verilere yalnızca güvenilen uygulamalar ve veri sahipleri erişebilir. Uygulama geliştiricilerinin ve veritabanı yöneticilerinin Sütun Şifreleme Anahtarı'na (CEK) erişimi yoktur.
  • Denetim, veritabanı altyapısında gerçekleşen ve bu olayları yürüten olayları izler. Denetlenen olaylar olay günlüklerinde veya denetim dosyalarında depolanabilir ve bunları saldırılar ve veri ihlalleri gibi sorunları araştırmak için kullanabilirsiniz.

  • Satır düzeyi güvenlik , sorguyu kimin yürüttüğüne bağlı olarak tablo içindeki belirli satırlara erişimi denetler. Verilere kimlerin erişebileceğini, örneğin grup üyeliğine veya yürütme bağlamını denetlersiniz.

  • Dinamik veri maskeleme , verilerin bir bölümünü maskeler. Dört farklı maske türü mevcuttur: bir sütundaki tüm verileri maskeleme, e-posta adreslerini maskeleme, sayısal veriler için rastgele sayı maskeleme ve özel dize maskeleme. Örneğin, bir Sosyal Güvenlik Numarasındaki son dört basamak dışında tümünü maskeleme amacıyla özel dize maskeleme kullanabilirsiniz.

  • Veri Bulma ve Sınıflandırma , veritabanlarınızdaki kişisel veriler gibi hassas verileri tanımlar, etiketler ve raporlar. SQL Server Management Studio (SSMS) içinde bulunan ve veri gizliliği mevzuatına uymayı ve en değerli verileri içeren veritabanlarını sağlamlaştırmayı kolaylaştıran bir araçtır. Veri Bulma ve Sınıflandırma, Gelişmiş Veri Güvenliği (ADS) paketinin parçası olan bir hizmettir.

  • Güvenlik Açığı Değerlendirmesi veritabanlarınızdaki güvenlik açıklarını tanımlar. Sunucu yapılandırmanızın ve veritabanı tasarımlarınızın neden olabileceği zayıflıkları fark ettikten sonra bunları hafifletebilir ve yaygın saldırıları önleyebilirsiniz. Güvenlik Açığı Değerlendirmesi başka bir ADS hizmetidir.

SQL Server Agent

SQL Server Agent bakım işlerini ve zamanlanmış, otomatik görevleri çalıştırır. SQL Server Aracısı aşağıdaki üç iş yükünü destekler:

  • Transact-SQL işleri
  • VERITABANı postası
  • Günlük aktarma

Varsayılan olarak, SQL Server Aracısı devre dışıdır, ancak yüklüdür ve komut satırı mssql-conf yardımcı programı kullanılarak etkinleştirilebilir.

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server

Yüksek kullanılabilirlik

SQL Server'ın kabul edilebilir hataya dayanıklılık düzeyini belirtmenin birçok yolu vardır. Linux üzerinde SQL Server Always On kullanılabilirlik gruplarını ve Always On yük devretme kümesi örneklerini destekler. Bu seçeneklerin her ikisi de her sunucuda mssql-server-ha paketinin yüklü olmasını gerektirir. Linux, konak işletim sistemiyle sıkı bir şekilde tümleştirilmese de Windows Server Yük Devretme Kümelemesi'ne (WSCF) eşdeğer olan Pacemaker aracılığıyla kümelemesi destekler.

Kapalı kalma süresi için kabul edilebilir düzeyde daha fazla esneklik varsa SQL Aracısı aracılığıyla Günlük Gönderimi, sunucu kaybından kurtarmak için kullanabileceğiniz sıcak bekleme süreleri sağlayabilir.

Linux üzerinde SQL Server için bir diğer çözüm de Kubernetes gibi araçlarla düzenlenmiş kapsayıcılarda çalışabilmesidir. Düzenleme araçları her zaman SQL Server çalıştıran bir düğüm olmasını sağlar. Bu düğüm başarısız olursa, başka bir örnek otomatik olarak önyüklenir. Daha sağlam kullanılabilirlik gerektiğinde kapsayıcılarda Always On kullanılabilirlik grubu çalıştırılabilir.

Diğer önemli özellikler

PolyBase

Birçok kuruluşun farklı sistemlerde verileri vardır. Bunun nedeni, başka bir şirketle birleştiğiniz veya başka bir geçmiş nedenden dolayı farklı ekiplerin kendi sistemini seçtiklerinde farklı gereksinimleri olması olabilir. Geleneksel olarak, kullanıcılara yönelik soruları yanıtlamak için verileri bu sistem sınırları boyunca tümleştirmek zor olmuştur.

SQL Server'da ürün kataloğunuz için satışları kaydeden verileriniz olduğunu, ancak ürünlerinizi hazırlamanın ne kadar maliyetli olduğunu kaydeden verilerin sap HANA veritabanında olduğunu varsayalım. Kar marjlarını analiz eden bir rapor oluşturmak istiyorsunuz. Her iki veritabanından da bilgi almanız gerekir. Geçmişte şunları yapabilirdin:

  • Verileri bir veritabanı sisteminden diğerine geçirmek için Ayıklama, Dönüştürme, Yükleme (ETL) paketi kullanın.
  • Her iki veritabanını da sorgulayın ve ardından sonuçları tek bir rapora eklemek ve tümleştirmek için bazı özel kodlar yazın.

Bu yaklaşımların her ikisi de karmaşıktır ve doğruya ulaşmak için önemli geliştirme süresi gerektirebilir.

PolyBase ile SQL Server'da bir dış tablo oluşturabilirsiniz. Dış tablo, bir dış sisteme ve orada barındırılan bir veri kümesine bağlantıdır. İstemciler oluşturulduktan sonra, iç tablolara yaptıkları gibi dış tabloya da sorgu gönderebilir. JOIN sorgular, dış tablolardaki verileri iç tablolarla tümleştirebilir. Gördüğünüz gibi PolyBase, farklı sistemlerin verilerinize uyguladığı sınırları kaldırabilir ve konumu ne olursa olsun iş verilerinizde ihtiyacınız olan analizleri yapmanızı kolaylaştırabilir.

Dekont

Linux işletim sistemlerinde PolyBase, SQL Server 2019 veya sonraki sürümlerde desteklenir. Bunu kullanmak için SQL Server 2019'a ek olarak mssql-server-polybase paketini yüklemeniz gerekir.

Machine Learning Services

Makine öğrenmesinde, büyük veri kümeleri bazı karmaşık sistemlerin davranışını modellemek için kullanılır. Sistemin gözlemlenen davranışını doğru tahmin eden bir model geliştirildiğinde, sistemin gelecekte nasıl davranabileceğini tahmin etmek için kullanılır. Genellikle açık kaynak kod kitaplıkları, veri kümenizi hazırlayan, bu veri kümesine özellik ekleyebilen, modeli eğitebilen, eğitilen modelin doğruluğunu değerlendirebilen ve diğer istemcilerin çağırabileceği bu modelleri dağıtabilen gelişmiş kod kitaplıkları geliştirilmiştir. Bu kitaplıklar R ve Python dillerinde yazılır.

SQL Server Machine Learning Services, bu R ve Python betiklerini SQL Server veritabanlarınızdaki verilere karşı çalıştırmanıza olanak tanır. PyTorch, TensorFlow, SciKit-Learn ve diğerleri gibi popüler makine öğrenmesi ve veri bilimi çerçevelerini ekleyebilirsiniz.

Dekont

Linux işletim sistemlerinde SQL Server Machine Learning, SQL Server 2019 veya sonraki sürümlerde desteklenir. Bunu kullanmak için ek paketler eklemeniz gerekir. Örneğin, python'ı tüm makine öğrenmesi kodları için kullanmak istiyorsanız mssql-mlservices-mlm-py-9.4.7 paketini yükleyin. R için eşdeğer paket, mssql-mlservices-mlm-r-9.4.7'yi yükler.

Graf desteği

SQL Server, graf tabanlı verileri depolamak ve sorgulamak için yerel desteğe sahiptir. SQL Server, verileri bir dizi varlık (düğüm) ve aralarındaki ilişkiler (kenarlar) olarak depolar.

Tam metin aramaları, kullanıcıların dil kurallarına saygı gösteren metin verilerine karşı sorgu çalıştırmasına olanak sağlar. Örneğin, "çalıştır" sözcüğünü aradığınızda, tam metin araması "çalıştır" ve "çalışıyor" gibi "çalıştır" sözcüklerini içeren sonuçları döndürür.

Bu özellik varsayılan olarak yüklenmez. Linux'ta paketi yükleyerek mssql-server-fts etkinleştirebilirsiniz.

ETL iş yükleri

SQL Server Integration Services (SSIS) paketleri Linux üzerinde SQL Server üzerinde çalıştırılabilir. Yalnızca Linux üzerinde SQL Server karşı çalıştırılmaları kısıtlanmaz. Bu paketler, şirket içinde veya bulutta Windows üzerinde çalışan Microsoft SQL Server'a veya kapsayıcıda çalışan SQL Server'a da bağlanabilir.

SQL Server Veri Araçları çalıştıran bir Windows makinesinde SSIS paketleri yazmanız ve tutmanız gerekir.

Bilgilerinizi kontrol edin

1.

Linux üzerinde SQL Server iş sürekliliğini desteklemek için hangi özellikleri sağlar?

2.

Veriler Always Encrypted kullanılarak şifrelenirse verilerin şifresi ne zaman çözülür?