DMS'de Geçmiş Veri Temizliği özelliğini kullanarak büyük tablolardaki eski verileri periyodik olarak kaldırın, depolama alanı açın ve sorgu performansını artırın.
Önkoşullar
Veritabanı MySQL olmalıdır.
Veritabanı örneği Stable Change veya Security Collaboration control mode kullanmalıdır.
Yordam
DMS 5.0 oturumunu açın.
-
Üst gezinme çubuğunda seçeneğini belirleyin.
NotDMS basit modunda sol üst köşedeki
simgesine tıklayın, ardından yolunu izleyin. -
Data Change bileti başvuru sayfasında bilet parametrelerini yapılandırın ve Submit seçeneğine tıklayın.
Temel parametreler:
Parametre
Açıklama
Database
Değişiklik izninizin olduğu bir veritabanı seçin. Salt okunur veya tablo düzeyindeki izinler yeterli değildir. İzinlerimi Görüntüle.
Deletion Settings
Table Name, Time Field, Time Accuracy, Retention Period (Days) ve Filter Condition (Nullable) bilgilerini girin. Sistem bu bilgilere dayanarak otomatik olarak bir temizleme betiği oluşturur.
Not-
Mantıksal tablolar için mantıksal tablo adını girin.
-
Saklama süresi, verilerin ne zaman otomatik olarak silineceğini tanımlar. Örneğin, 7 günlük saklama süresi 7 günden eski verileri kaldırır.
Örneğin: Tablo Adı
api_call_record_11, Zaman Alanıgmt_create, Saklama Süresi7ve Filtre Koşulustatus = 1 or status=2ise aşağıdaki SQL deyimi oluşturulur:DELETE FROMapi_call_record_11WHEREgmt_create< SUBDATE(CURDATE(),INTERVAL 7 DAY) AND (status = 1 or status=2);Schedule
DMS, birincil anahtara veya null olmayan benzersiz bir anahtara göre verileri toplu işler halinde kaldırır. Performans etkisini en aza indirmek için temizlemeyi düşük sıklıkta ve yoğun olmayan saatlerde zamanlayın.
Not-
Gerçek çalıştırma, planlanan zamandan en fazla bir dakika sapabilir.
-
Zamanlanmış çalıştırma için minimum aralık bir saattir. Görev varsayılan olarak her gün 02:00'da çalışır.
Policy Configuration
Bir çalıştırma süresi belirtin. Görev, yoğun saatlerde hizmetleri etkilememek için belirtilen süre sonunda otomatik olarak duraklar.
-
Execute Task Without End Time.
-
Specify End Time (Hours): DTS veya AnalyticDB gibi aşağı akış senkronizasyon işlem hatlarının etkilenmemesi için bir süre sınırı ayarlayın.
Süreyi belirttikten sonra, varsayılan olarak devre dışı olan Periodically Optimize Table (parça birleştirme) özelliğini etkinleştirebilirsiniz. Bu özellik, belirli sayıda temizleme döngüsünden sonra OPTIMIZE TABLE komutunu çalıştırır. Varsayılan: her 60 döngüde bir.
Not-
OPTIMIZE TABLEözelliği yalnızca RDS for MySQL ve PolarDB for MySQL veritabanları için desteklenir. -
OPTIMIZE TABLEişlemi, ilke yapılandırmasındaki çalıştırma süresine bağlıdır.OPTIMIZE TABLEişlemi bu süre sona erdiğinde durur.
Change Stakeholder
Belirtilen paydaşlar bileti görüntüleyebilir ve üzerinde iş birliği yapabilir. Aksi takdirde buna yalnızca yöneticiler ve DBA'lar erişebilir.
-
-
Bileti gönderdikten sonra çoğaltma gecikmesi denetimini etkinleştirebilir, bir eşik ayarlayabilir veya SQL'i değiştirebilirsiniz.
-
(İsteğe bağlı) Birincil/standby geçişlerini aşırı gecikmenin etkilemesini önlemek için çoğaltma gecikmesi denetimini etkinleştirin.
Basic Information bölümünde çoğaltma gecikmesi eşiğini saniye cinsinden ayarlamak için chunk option seçeneğine tıklayın. Gecikme bu eşiği aşarsa SQL yürütmesi kesintiye uğrar.
NotŞu anda bu özellik yalnızca ApsaraDB RDS for MySQL veritabanları için desteklenmektedir.
-
(İsteğe bağlı) SQL'i değiştirin.
Sistem otomatik olarak bir SQL ön denetimi çalıştırır. Ön denetim başarısız olursa SQL'i hata nedenine göre değiştirip yeniden deneyin.
NotOnaya göndermeden önce toplu iş yürütme ve zamanlama yapılandırmalarını değiştirebilirsiniz. Gönderildikten sonra bu ayarlar değiştirilemez.
-
Submit seçeneğine tıklayın. Security Collaboration modunda bilet, yapılandırılan kurallara göre onaya gönderilir. Stable Change modunda otomatik olarak onaylanır.
-
Onaydan sonra sistem zamanlanmış bir görev oluşturur ve bilet sahibine e-posta gönderir. Zamanlama ayrıntılarını görüntülemek için Basic Information bölümünde View Scheduled Tasks seçeneğine tıklayın. Ayrıca şunları yapabilirsiniz:
-
Zamanlamayı Duraklat
NotZamanlamayı kalıcı olarak devre dışı bırakmak için bilet ayrıntıları sayfasını açın, sağ üst köşede Close Ticket seçeneğine tıklayın, bir neden girin ve Submit seçeneğine tıklayın.
-
Zamanlamayı Devam Ettir
NotBir bilet kapatıldıktan sonra zamanlamayı devam ettirmek için yeni bir bilet göndermeniz gerekir.
-
Bilet Sahibini Değiştir
Gönderen varsayılan olarak bilet sahibidir. Zamanlamayı yalnızca sahibi duraklatabilir veya devam ettirebilir ve yürütme bildirimleri yalnızca sahibine gönderilir.
-
-
Sistem, temizleme SQL'ini zamanlama ilkesine göre yürütür. Zamanlama ayrıntılarını ve yürütme geçmişini bilette görüntüleyin.
NotPlanlanan zamanda bir temizleme görevi zaten çalışıyorsa yeni bir görev oluşturulmaz. Yürütme sıklığını buna göre yapılandırın.
SSS
-
S: Geçmiş Veri Temizliği görevinin bir parçası olarak
OPTIMIZE TABLEçalıştırmak işi etkiler mi?C: Duruma bağlıdır. Lock-free Schema Change etkinleştirildiğinde
OPTIMIZE TABLEişi etkilemez. Etkin değilseOPTIMIZE TABLEkomutunu yoğun olmayan saatlerde çalıştırın. Lock-free Schema Change özelliğini etkinleştirmek için bkz. Lock-free schema change özelliğini etkinleştirme ve devre dışı bırakma. -
S: Çok uzun süren bir
OPTIMIZE TABLEişlemini nasıl durdurabilirim?C: Ticket Details sayfasına gidin ve Execute bölümünde görevi duraklatın.
-
S: DMS dışında
OPTIMIZE TABLEçalıştırırken Geçmiş Veri Temizliğini duraklatmalı mıyım?C: Evet, önce görevi duraklatın.
OPTIMIZE TABLEgeçici olarak tablo boyutunun iki ila üç katı kadar kaynak tüketir ve aynı anda DELETE tabanlı bir temizlik çalıştırmak disk baskısını artırarak görevin başarısız olmasına neden olabilir. Örneklerin, geri kazanılacak tablo alanı kadar boş disk alanına sahip olduğundan emin olun veOPTIMIZE TABLEişlemini yoğun olmayan saatlerde çalıştırın. İşlem tamamlandıktan sonra Geçmiş Veri Temizliğini devam ettirin.