Aracılığıyla paylaş


In-Memory OLTP Çöp Toplama

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Veri satırı, artık etkin olmayan bir işlem tarafından silindiyse eski olarak kabul edilir. Eski bir satır çöp toplama için uygundur. In-Memory OLTP'de atık toplamanın özellikleri şunlardır:

  • Engelleyici değil. Atık toplama, iş yükü üzerinde en az etkiyle zaman içinde dağıtılır.

  • Kooperatif. Kullanıcı işlemleri, çöp toplama ana iş parçacığıyla beraber çöp toplama sürecine katılır.

  • Verimli. Kullanıcı işlemleri, kullanılan erişim yolundaki (dizin) geçersiz satırların bağlantısını keser. Bu, satır nihayet kaldırıldığında gereken çalışmayı azaltır.

  • Duyarlı. Bellek baskısı agresif çöp toplamaya yol açar.

  • Ölçeklenebilir. İşlemeden sonra, kullanıcı işlemleri çöp toplama işinin bir bölümünü yapar. İşlem etkinliği ne kadar fazlaysa, işlemler bayat satırların bağlantısını o kadar çok koparır.

Çöp toplama, ana çöp toplama iş parçacığı tarafından denetleniyor. Ana çöp toplama iş parçacığı dakikada bir veya işlenen işlem sayısı iç eşiği aştığında çalışır. Çöp toplayıcının görevi:

  • Bir satır kümesini silmiş veya güncelleştirmiş ve en eski etkin işlemden önce kaydedilmiş işlemleri tanımlayın.

  • Bu eski işlemler tarafından oluşturulan kimlik satırı sürümleri.

  • Eski satırları her biri 16 satırlık bir veya daha fazla birim halinde gruplandırın. Bu, çöp toplayıcının çalışmasını daha küçük birimlere dağıtmak için yapılır.

  • Bu iş birimlerini, her bir zamanlayıcı için bir tane olacak şekilde çöp toplama kuyruğuna taşıyın. Ayrıntılar için çöp toplayıcı DMV'lerine bakın: sys.dm_xtp_gc_stats (Transact-SQL), sys.dm_db_xtp_gc_cycle_stats (Transact-SQL) ve sys.dm_xtp_gc_queue_stats (Transact-SQL).

Kullanıcı işlemi işlendikten sonra, üzerinde çalıştırıldığı zamanlayıcıyla ilişkili tüm kuyruğa alınmış öğeleri tanımlar ve belleği serbest bırakır. Zamanlayıcıdaki çöp toplama kuyruğu boşsa, geçerli NUMA düğümündeki boş olmayan kuyrukları arar. İşlem etkinliği düşükse ve bellek baskısı varsa, ana çöp toplama iş parçacığı herhangi bir kuyruktan çöp toplama satırlarına erişebilir. Çok sayıda satır silindikten sonra (örneğin) işlem etkinliği yoksa ve bellek baskısı yoksa, silinen satırlar işlem etkinliği devam edene veya bellek baskısı oluşana kadar çöp toplanmaz.

Ayrıca Bkz.

In-Memory OLTP için Belleği Yönetme