Aracılığıyla paylaş


Saklama ilkesi

Bekletme ilkesi, tablolardan veya gerçekleştirilmiş görünümlerden verileri otomatik olarak kaldıran mekanizmayı denetler. Sürekli olarak bir tabloya akan ve alaka düzeyi yaşa dayalı olan verileri kaldırmak yararlıdır. Örneğin, ilke, iki hafta sonra ilgi çekici hale gelebilecek tanılama olaylarını barındıran bir tablo için kullanılabilir.

Bekletme ilkesi belirli bir tablo veya gerçekleştirilmiş görünüm için ya da veritabanının tamamı için yapılandırılabilir. İlke daha sonra veritabanındaki geçersiz kılmayan tüm tablolara uygulanır. İlke hem veritabanı hem de tablo düzeyinde yapılandırıldığında, tablodaki bekletme ilkesi veritabanı ilkesinden önceliklidir.

Sürekli veri alan kümeler için saklama ilkesi ayarlamak önemlidir ve bu da maliyetleri sınırlandıracaktır.

Bekletme ilkesinin "dışında" olan veriler kaldırılma hakkına sahiptir. Kaldırma gerçekleştiğinde belirli bir garanti yoktur. Bekletme ilkesi tetiklense bile veriler "devam edebilir".

Saklama ilkesi, veri alımından bu yana verilerin yaşını sınırlamak için en yaygın olarak ayarlanır. Daha fazla bilgi için bkz . SoftDeletePeriod.

Not

  • Silme süresi kesin değil. Sistem, verilerin sınır aşılmadan önce silinmeyeceğini garanti eder, ancak bu noktadan hemen sonra silme işlemi gerçekleşmez.
  • 0 geçici silme süresi tablo düzeyinde saklama ilkesinin bir parçası olarak ayarlanabilir, ancak veritabanı düzeyinde saklama ilkesinin parçası olarak ayarlanamaz.
  • Bu işlem tamamlandığında, alınan veriler kaynak tabloya işlenmez ve verilerin kalıcı olması gerekmez. Sonuç olarak, Recoverability yalnızca olarak Disabledayarlanabilir.
  • Bu tür bir yapılandırma, temel olarak veriler bir tabloya alınırken kullanışlıdır. İşlem güncelleştirme ilkesi , bunu dönüştürmek ve çıkışı başka bir tabloya yönlendirmek için kullanılır.

İlke nesnesi

Bekletme ilkesi aşağıdaki özellikleri içerir:

  • SoftDeletePeriod:
    • Verilerin sorgulanabilir durumda tutulduğundan emin olduğu süre. Süre, verilerin alındığı zamandan başlayarak ölçülür.
    • varsayılan değeridir 1,000 years.
    • Tablo veya veritabanının geçici silme süresini değiştirirken, yeni değer hem mevcut hem de yeni veriler için geçerlidir.
  • Kurtarılabilirlik:
    • Veriler silindikten sonra veri kurtarılabilirliği (Etkin/Devre Dışı).
    • varsayılan değeridir Enabled.
    • olarak ayarlanırsa Enabledveriler geçici olarak silindikten sonra 14 gün boyunca kurtarılabilir.
    • Kurtarılabilirlik süresini yapılandırmak mümkün değildir.

Yönetim komutları

Defaults

Varsayılan olarak, veritabanı veya tablo oluşturulduğunda, tanımlı bir bekletme ilkesi yoktur. Normalde, veritabanı oluşturulur ve ardından bilinen gereksinimlere göre oluşturucusu tarafından hemen bekletme ilkesi ayarlanır. İlke ayarlanmamış bir veritabanının veya tablonun bekletme ilkesi için bir .show komut çalıştırdığınızda olarak Policy nullgörünür.

Yukarıda belirtilen varsayılan değerlere sahip varsayılan bekletme ilkesi aşağıdaki komut kullanılarak uygulanabilir.

.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"

Komut, veritabanına veya tabloya aşağıdaki ilke nesnesinin uygulanmasını sağlar.

{
  "SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}

Veritabanının veya tablonun bekletme ilkesini temizleme işlemi aşağıdaki komut kullanılarak yapılabilir.

.delete database DatabaseName policy retention
.delete table TableName policy retention

Örnekler

, ve MySpecialTabletablolarını MyTable2MyTable1içeren adlı MyDatabasebir veritabanı olan bir küme için.

Yedi günlük geçici silme süresi ve kurtarılabilirlik devre dışı

Veritabanındaki tüm tabloları yedi günlük geçici silme süresine ve kurtarılabilirliği devre dışı bırakacak şekilde ayarlayın.

  • Seçenek 1 (Önerilen): Veritabanı düzeyinde bir bekletme ilkesi ayarlayın ve tablo düzeyinde ilke ayarlanmamış olduğunu doğrulayın.

    .delete table MyTable1 policy retention        // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention        // optional, only if the table previously had its policy set
    .delete table MySpecialTable policy retention  // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled
    .alter-merge materialized-view ViewName policy retention softdelete = 7d 
    
  • Seçenek 2: Her tablo için yedi günlük geçici silme süresi ve kurtarılabilirlik devre dışı bırakılmış bir tablo düzeyinde bekletme ilkesi ayarlayın.

    .alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
    

Yedi günlük geçici silme süresi ve kurtarılabilirlik etkin

  • Tabloları MyTable1 ayarlayın ve MyTable2 yedi günlük geçici silme süresine sahip olacak ve kurtarılabilirlik devre dışı bırakılmıştır.

  • Geçici silme süresi 14 gün olacak şekilde ayarlanır MySpecialTable ve kurtarılabilirlik etkinleştirilir.

  • 1. Seçenek (Önerilen):Veritabanı düzeyinde saklama ilkesi ayarlama ve tablo düzeyinde saklama ilkesi ayarlama.

    .delete table MyTable1 policy retention   // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention   // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
    
  • Seçenek 2: Her tablo için, ilgili geçici silme süresi ve kurtarılabilirlik ile bir tablo düzeyinde bekletme ilkesi ayarlayın.

    .alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
    

Yedi günlük geçici silme süresi ve MySpecialTable verilerini süresiz olarak tutar

Yedi günlük geçici silme süresine sahip olmak ve MySpecialTable verilerini süresiz olarak tutmak için tabloları MyTable1 MyTable2 ayarlayın.

  • 1. Seçenek: Veritabanı düzeyinde saklama ilkesi ayarlama ve geçici silme süresi 1.000 yıl olan varsayılan bekletme ilkesi olan tablo düzeyinde bekletme ilkesi MySpecialTableayarlayın.

    .delete table MyTable1 policy retention   // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention   // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d
    .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
    
  • 2. Seçenek: tablolar MyTable1 ve MyTable2için bir tablo düzeyinde bekletme ilkesi ayarlayın ve için veritabanı düzeyi ile tablo düzeyi ilkesinin MySpecialTable ayarlanmamış olduğunu doğrulayın.

    .delete database MyDatabase policy retention   // optional, only if the database previously had its policy set
    .delete table MySpecialTable policy retention   // optional, only if the table previously had its policy set
    .alter-merge table MyTable1 policy retention softdelete = 7d
    .alter-merge table MyTable2 policy retention softdelete = 7d
    
  • Seçenek 3: tablolar MyTable1 ve MyTable2için tablo düzeyinde saklama ilkesi ayarlayın. tablosu MySpecialTableiçin, varsayılan bekletme ilkesi olan 1.000 yıllık geçici silme süresine sahip bir tablo düzeyinde bekletme ilkesi ayarlayın.

    .alter-merge table MyTable1 policy retention softdelete = 7d
    .alter-merge table MyTable2 policy retention softdelete = 7d
    .alter table MySpecialTable policy retention "{}"