Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Yönetilen Veritabanı Örneği
Bellek içi teknolojiler uygulamanızın performansını artırmanıza ve SQL yönetilen örneğinizin maliyetini azaltmanıza olanak tanır. Bellek içi OLTP, Azure SQL Yönetilen Örneği'nin İş Kritik hizmet katmanında kullanılabilir.
Bellek içi teknolojiler ne zaman kullanılır?
Bellek içi teknolojileri kullanarak çeşitli iş yükleriyle performans geliştirmeleri elde edebilirsiniz:
- İşlemsel (çevrimiçi işlem işleme (OLTP)), isteklerin çoğunun daha küçük veri kümesini okuduğu veya güncellediği, örneğin oluşturma/okuma/güncelleme/silme (CRUD) işlemleri.
- Sorguların çoğunun raporlama amacıyla karmaşık hesaplamalara ve ayrıca yük (veya toplu yükleme) işlemleri gerçekleştiren ve/veya mevcut tablolara veri değişiklikleri yazan düzenli olarak zamanlanmış işlemlere sahip olduğu analitik (çevrimiçi analitik işleme (OLAP)). OLAP iş yükleri genellikle OLTP iş yüklerinden düzenli aralıklarla güncelleştirilir.
- Hem OLTP hem de OLAP sorgularının aynı veri kümesinde yürütüldüğü karma (karma işlem/analitik işleme (HTAP)).
Bellek içi teknolojiler, sorguların yerel derlemesini kullanarak veya temel alınan donanımda bulunan toplu işleme ve SIMD yönergeleri gibi gelişmiş işlemleri kullanarak işlenecek verileri bellekte tutarak bu iş yüklerinin performansını artırabilir.
Genel bakış
Azure SQL Yönetilen Örneği, aşağıdaki bellek içi teknolojileri destekler:
- Bellek içi OLTP saniye başına işlem sayısını artırır ve işlem işleme için gecikme süresini azaltır. Bellek içi OLTP'den yararlanan senaryolar şunlardır: alım satım ve oyun gibi yüksek aktarım hızına sahip işlem işlemleri, olaylardan veya IoT cihazlarından veri alımı, önbelleğe alma, veri yükü ve geçici tablo ve tablo değişkeni senaryoları.
- Kümelenmiş columnstore dizinleri depolama ayak izinizi azaltır (10 kata kadar) ve raporlama ve analiz sorgularının performansını artırır. Bunu, veritabanınıza daha fazla veri sığdırmak ve performansı geliştirmek için veri reyonlarınızdaki olgu tablolarıyla kullanabilirsiniz. Ayrıca, verileri arşivleyip 10 kata kadar daha fazla veri sorgulamak için işlemsel veritabanınızdaki geçmiş verilerle de kullanabilirsiniz.
- HTAP için kümelenmemiş columnstore dizinleri , pahalı bir ayıklama, dönüştürme ve yükleme (ETL) işlemi çalıştırmanıza ve veri ambarı doldurulmasını beklemenize gerek kalmadan işlemsel veritabanını doğrudan sorgulayarak işletmeniz hakkında gerçek zamanlı içgörüler elde etmenize yardımcı olur. Kümelenmemiş columnstore dizinleri OLTP veritabanında analiz sorgularının hızlı yürütülmesine olanak tanırken işletimsel iş yükü üzerindeki etkiyi azaltır.
- HTAP için bellek için iyileştirilmiş kümelenmiş columnstore dizinleri , hızlı işlem gerçekleştirmenize ve analiz sorgularını aynı verilerde çok hızlı bir şekilde eşzamanlı olarak çalıştırmanıza olanak tanır.
Columnstore dizinleri ve bellek içi OLTP sırasıyla 2012 ve 2014'te SQL Server'a sunulmuştur. Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve SQL Server, bellek içi teknolojilerin aynı uygulamasını paylaşır.
Not
Örnek veritabanını ve ostress.exe'yi kullanarak bellek içi OLTP teknolojisinin performans avantajlarını gösteren ayrıntılı bir adım adım öğretici için Azure SQL Yönetilen Örneği'nde bellek içi örnek bölümüne bakın.
Bellek içi teknolojinin avantajları
Daha verimli sorgu ve işlem işlemleri nedeniyle bellek içi teknolojiler maliyeti azaltmanıza da yardımcı olur. Azure SQL Yönetilen Örneği'nin İş Açısından Kritik hizmet katmanına girdikten sonra, performans kazançları elde etmek için SQL Yönetilen Örneği'ni genellikle yükseltmeniz gerekmez. Bazı durumlarda, bellek içi teknolojilerde performans iyileştirmeleri görmeye devam ederken fiyatlandırma katmanını da düşürebilirsiniz.
Bu makalede, bellek içi OLTP ve columnstore dizinlerinin Azure SQL Yönetilen Örneği özgü yönleri açıklanır ve örnekler de bulunur:
- Bu teknolojilerin depolama ve veri boyutu sınırları üzerindeki etkisini göreceksiniz.
- Bu teknolojileri kullanan veritabanlarının farklı fiyatlandırma katmanları arasındaki hareketinin nasıl yönetileceğini göreceksiniz.
- Bellek içi OLTP kullanımının yanı sıra columnstore dizinlerini gösteren iki örnek göreceksiniz.
SQL Server'da bellek içi OLTP hakkında daha fazla bilgi için bkz:
- Bellek içi (In-memory) OLTP'ye genel bakış ve kullanım senaryoları (müşteri vaka incelemelerine yapılan referanslar ve başlangıç bilgileri içerir)
- Bellek içi OLTP belgeleri
- Columnstore Dizinleri Kılavuzu
- Hibrit işlemsel/analitik işleme (HTAP), gerçek zamanlı operasyonel analiz olarak da bilinir.
Bellek İçi OLTP
Bellek içi OLTP teknolojisi, tüm verileri bellekte tutarak son derece hızlı veri erişimi işlemleri sağlar. Ayrıca OLTP iş yükünün performansını artırmak için özel dizinler, sorguların yerel derlemesi ve mandalsız veri erişimi kullanır. Bellek içi OLTP verilerinizi düzenlemenin iki yolu vardır:
Her satırın ayrı bir bellek nesnesi olduğu bellek için iyileştirilmiş satır deposu biçimi. Bu, yüksek performanslı OLTP iş yükleri için iyileştirilmiş klasik bir bellek içi OLTP biçimidir. Hafıza için optimize edilmiş satır deposu formatında kullanılabilecek iki tür bellek optimize edilmiş tablo vardır.
- Sunucu yeniden başlatıldıktan sonra belleğe yerleştirilen satırların korunduğu dayanıklı tablolar (SCHEMA_AND_DATA). Bu tür tablolar, bellek içi optimizasyonların sağladığı ek avantajlarla geleneksel bir satır tablosu gibi davranır.
- Satırların yeniden başlatıldıktan sonra korunmadığı, kalıcı olmayan tablolar (SCHEMA_ONLY). Bu tablo türü geçici veriler (örneğin, geçici tabloların değiştirilmesi) veya kalıcı bir tabloya (hazırlama tabloları olarak adlandırılır) taşımadan önce verileri hızla yüklemeniz gereken tablolar için tasarlanmıştır.
Verilerin sütunlu biçimde düzenlendiği bellek optimize edilmiş sütun deposu biçimi. Bu yapı, OLTP iş yükünüzün çalıştığı aynı veri yapısı üzerinde analiz sorguları çalıştırmanız gereken HTAP senaryoları için tasarlanmıştır.
Not
Bellek içi OLTP teknolojisi, bellekte tam olarak bulunabilen veri yapıları için tasarlanmıştır. Bellek içi veriler diske yüklenemediğinden, yeterli belleğe sahip SQL yönetilen örneği kullandığınızdan emin olun. Daha fazla bilgi için bkz . Bellek içi OLTP için veri boyutu ve depolama üst sınırı.
- Bellek içi OLTP için hızlı bir başlangıç: Hızlı Başlangıç 1: Daha Hızlı T-SQL Performansı için bellek içi OLTP Teknolojileri.
Bellek içi OLTP için veri boyutu ve depolama sınırı
Bellek içi OLTP, kullanıcı verilerini depolamak için kullanılan bellek için iyileştirilmiş tablolar içerir. Bu tablolar belleğe sığmak için gereklidir. Bu fikir, bellek içi OLTP depolama alanı olarak adlandırılır.
İş Açısından Kritik hizmet katmanı, sanal çekirdek sayısına göre belirlenen belirli miktarda Maksimum Bellek İçi OLTP belleği içerir.
Aşağıdaki öğeler bellek içi OLTP depolama sınırınıza doğru sayılır:
- Bellek için iyileştirilmiş tablolarda ve tablo değişkenlerinde etkin kullanıcı veri satırları. Eski satır sürümleri sınıra dahil edilmez.
- Bellek için optimize edilmiş tablolardaki dizinler.
- ALTER TABLE işlemlerinin operasyonel yükü.
Büyük harfe bastığınızda kota aşımı hatası alırsınız ve artık veri ekleyemez veya güncelleştiremezsiniz. Bu hatayı azaltmak için verileri silin veya veritabanının veya havuzun fiyatlandırma katmanını artırın.
Bellek içi OLTP depolama kullanımını izleme ve neredeyse sınırı aştığınızda uyarıları yapılandırma hakkında ayrıntılı bilgi için bkz . Bellek içi depolamayı izleme.
Donanım yapılandırmasını veya sanal çekirdek sayısını değiştirme
Donanım yapılandırmanızı veya sanal çekirdek sayınızı düşürmek SQL yönetilen örneğinizi olumsuz etkileyebilir.
Bellek için iyileştirilmiş tablolardaki veriler, donanım yapılandırmanız ve sanal çekirdek sayınız için bellek içi OLTP depolama sınırına sığmalıdır. Bellek içi OLTP depolama alanı yeterli olmayan bir ayara ölçeği azaltmayı denerseniz işlem başarısız olur.
Bellek içi nesnelerin mevcut olup olmadığını belirleme
SQL yönetilen örneğinizdeki belirli bir veritabanının bellek içi OLTP'yi destekleyip desteklemediğini anlamanın programlı bir yolu vardır. Aşağıdaki Transact-SQL sorgusunu yürütebilirsiniz:
SELECT DatabasePropertyEx(DB_NAME(), 'IsXTPSupported');
Sorgu döndürürse 1
, bu veritabanında bellek içi OLTP desteklenir.
Aşağıdaki sorgular, bellek içi teknolojiyi kullanan tüm nesneleri tanımlar:
SELECT * FROM sys.tables WHERE is_memory_optimized=1
SELECT * FROM sys.table_types WHERE is_memory_optimized=1
SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
Bellek içi sütun deposu
Bellek içi columnstore teknolojisi, tablolarda büyük miktarda veri depolamanıza ve sorgulamanıza olanak tanır. Columnstore teknolojisi, geleneksel satır odaklı depolamaya göre OLAP iş yüklerinde 10 kata kadar sorgu performansı elde etmek için sütun tabanlı veri depolama biçimini ve toplu sorgu işlemeyi kullanır. Ayrıca sıkıştırılmamış veri boyutuna göre 10 kata kadar veri sıkıştırma kazancı elde edebilirsiniz.
Verilerinizi düzenlemek için kullanabileceğiniz iki tür columnstore modeli vardır:
- Tablodaki tüm verilerin sütun biçiminde düzenlendiği kümelenmiş sütun deposu . Bu modelde, tablodaki tüm satırlar verileri yüksek oranda sıkıştıran ve tabloda hızlı analitik sorgular ve raporlar yürütmenizi sağlayan sütun biçiminde yerleştirilir. Verilerinizin doğasına bağlı olarak, verilerinizin boyutu 10x-100x azaltılabilir. Küme kolon deposu modeli, 100.000 satırdan büyük büyük veri partileri diske kaydedilmeden önce sıkıştırıldığından, büyük miktarda verinin (toplu yükleme) hızlı bir şekilde alınmasını da sağlar. Bu model, klasik veri ambarı senaryoları için iyi bir seçimdir.
- Verilerin geleneksel rowstore tablosunda depolandığı ve columnstore biçiminde analiz sorguları için kullanılan bir dizin bulunduğu kümelenmemiş columnstore. Bu model, Hibrit İşlem Analizi İşleme'yi (HTAP) etkinleştirir: İşlemsel bir iş yükünde yüksek performanslı gerçek zamanlı analiz çalıştırabilme özelliği. OLTP sorguları küçük bir satır kümesine erişmek için iyileştirilmiş rowstore tablosunda yürütülürken, OLAP sorguları taramalar ve analizler için daha iyi bir seçim olan columnstore dizininde yürütülür. Sorgu iyileştiricisi, sorguyu temel alan satır deposu veya sütun deposu biçimini dinamik olarak seçer. Özgün veri kümesi herhangi bir değişiklik yapılmadan özgün satır deposu tablosunda tutulduğundan, kümelenmemiş columnstore dizinleri verilerin boyutunu küçültmez. Ancak, ek columnstore dizininin boyutu, eşdeğer B ağacı dizinine göre bir büyüklük mertebesi daha küçük olmalıdır.
Not
Bellek içi columnstore teknolojisi yalnızca bellekte işleme için gereken verileri tutarken, belleğe sığamayan veriler diskte depolanır. Bu nedenle, bellek içi columnstore yapılarındaki veri miktarı kullanılabilir bellek miktarını aşabilir.
Columnstore dizinleri için veri boyutu ve depolama
Columnstore dizinlerinin belleğe sığması gerekmez. Bu nedenle, dizinlerin boyutundaki tek sınır, toplam veritabanı boyutunun üst sınırıdır. Daha fazla bilgi için Azure SQL Yönetilen Örneği kaynak sınırları'na bakın. Azure SQL Yönetilen Örneği, tüm katmanlardaki sütun deposu dizinlerini destekler.
Kümelenmiş columnstore dizinlerini kullandığınızda, temel tablo depolaması için sütunlu sıkıştırma kullanılır. Bu sıkıştırma, kullanıcı verilerinizin depolama ayak izini önemli ölçüde azaltabilir ve bu da veritabanına daha fazla veri sığdırabileceğiniz anlamına gelir. Ayrıca sütunlu arşiv sıkıştırma ile sıkıştırma daha da artırılabilir. Elde edebileceğiniz sıkıştırma miktarı verinin doğasına bağlıdır, ancak 10 kat sıkıştırma olağandışıdır.
Örneğin, boyutu en fazla 1 terabayt (TB) olan bir veritabanınız varsa ve columnstore dizinlerini kullanarak sıkıştırmanın 10 katını elde ediyorsanız, veritabanına toplam 10 TB kullanıcı verisi sığdırabilirsiniz.
Kümelenmemiş columnstore dizinlerini kullandığınızda, temel tablo hala geleneksel satır deposu biçiminde depolanır. Bu nedenle, depolama tasarrufları kümelenmiş columnstore dizinleri kadar önemli değildir. Ancak, birçok geleneksel kümelenmemiş dizini tek bir sütun depolama diziniyle değiştirirseniz, tablonun depolama alanında genel olarak bir azalma sağlayabilir ve bu şekilde tasarruf etmeye devam edebilirsiniz.
İlgili içerik
- Azure SQL Yönetilen Örneği'nde Bellek İçi Örnek
- Hızlı Başlangıç 1: Daha hızlı T-SQL Performansı için bellek içi OLTP Teknolojileri
- Mevcut bir Azure SQL uygulamasında bellek içi OLTP kullanma
- Bellek içi OLTP'ye genel bakış ve kullanım senaryoları
- Bellek içi OLTP depolama alanını izleme
- Bellek içi OLTP hakkında bilgi edinin
- columnstore dizinleri hakkında bilgi edinin
- Gerçek zamanlı operasyonel analiz hakkında bilgi edinin
- Teknik makale: Bellek içi OLTP – SQL Server 2014'te Yaygın İş Yükü Desenleri ve Geçiş Konuları