Bu konu, RDS örneklerinin depolama kapasitesiyle ilgili sık sorulan soruları yanıtlar.
Depolama alanı büyütme: süreç ve etkiler
Depolama kapasitesini doğrudan artırabilirsiniz. Mevcut sunucuda yeterli depolama alanı yoksa sistem, yeterli depolama alanına sahip bir sunucuda otomatik olarak yeni bir birincil/ikincil örnek çifti oluşturur ve verileri orijinal örnekten senkronize eder.
Depolama kapasitesinin nasıl artırılacağı ve bu işlemin geçici bir bağlantı kesintisine neden olup olmadığı hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Depolama ölçeklendirmesi nasıl faturalandırılır?
Bir RDS örneğinin depolama kapasitesini artırdığınızda faturalandırma değişir. Daha fazla bilgi için bkz. Yapılandırma değişiklikleri için faturalandırma kuralları.
Ani depolama artışlarının giderilmesi
Instances sayfasına gidin. Üst gezinme çubuğunda bir bölge seçin ve ardından hedef RDS örneğinin ID değerine tıklayın.
Sol gezinme bölmesinde Monitoring and Alerts öğesine tıklayın. Açılan sayfada disk space çizgi grafiğini görüntüleyin. Bu grafik, toplam disk alanı kullanımını gösterir ve bunu data space usage, log space usage, temporary file space usage ile system file space usage olarak ayrıntılı şekilde sunar. Ani artışa hangi kategorinin neden olduğunu belirlemek için bu bilgileri kullanın.
Alan nasıl boşaltılır
Daha fazla bilgi için aşağıdaki konulara bakın:
Boş veritabanları neden alan kaplar
Bir veritabanını başlatmak; hesaplar, izinler ve diğer meta veriler gibi bilgileri depolamak için sistem tabloları oluşturur. Ayrıca redo ve undo günlükleri gibi veritabanı sistem günlükleri de disk alanı kaplar.
MySQL'e aktarılan verilerin alan kullanımı
Farklı veritabanı depolama motorları verileri farklı şekilde işler. Sıkıştırma desteği ve alanların dizine alınmış olup olmadığı gibi faktörler kullanılan depolama alanını etkileyebilir.
Depolama kapasitesi yedekleme depolamasını içerir mi?
Hayır. Konsolda bir RDS örneğinin Basic Information sayfasındaki Usage Statistics bölümündeki Storage Capacity değeri yalnızca örneğin depolama kapasitesini gösterir ve yedekleme depolamasını içermez. Yedekleme depolama kullanımınızı görüntülemek için bkz. Yedekleme boyutu.
Dolu depolama nedeniyle örnek kilitlemelerinin ele alınması
Bir RDS örneğinin depolama alanı tükendiğinde örnek otomatik olarak kilitlenir. Sistem denetimi gecikmesi nedeniyle durum değişikliği gecikebilir.
Bir RDS örneği kilitlendiğinde buna veri yazamazsınız. Örneğinizin dolu depolama nedeniyle kilitlenmesini önlemek için uyarıları yapılandırmanızı öneririz. Ayrıca otomatik depolama genişletmeyi etkinleştirebilirsiniz. Depolama yetersiz olduğunda örnek depolama kapasitesini otomatik olarak genişletir. Daha fazla bilgi için aşağıdaki konulara bakın:
-
Bir ApsaraDB RDS for MySQL örneği için bkz. Otomatik depolama genişletmeyi yapılandırın.
ApsaraDB RDS for MySQL örnekleri için parçaları temizlemek ve depolama alanını geri kazanmak üzere otomatik parça geri kazanımını da etkinleştirebilirsiniz.
Bir ApsaraDB RDS for PostgreSQL örneği için bkz. Otomatik depolama genişletmeyi yapılandırın.
Bir ApsaraDB RDS for SQL Server örneği için bkz. Otomatik depolama genişletmeyi yapılandırın.
Çözüm:
Örneğiniz kilitlenirse çözümler için bkz. Bir örneğin depolama alanı dolduğunda ne yapılmalı.
SQL Server'ın alanı neden geri kazanmadığı
Bir ApsaraDB RDS for SQL Server örneğinden büyük miktarda veriyi silmek için bir DELETE işlemi çalıştırdığınızda disk alanı hemen geri kazanılmaz. Bu davranış, veritabanı yönetim sisteminin tasarımından ve günlük kaydı mekanizmalarından kaynaklanır:
İşlem günlüğü kaydı: Veri tutarlılığını ve kurtarılabilirliğini sağlamak için SQL Server,
DELETEdahil olmak üzere her veri işlemini işlem günlüğünde kaydeder. Bu, veriler silinmek üzere işaretlendikten sonra bile ilgili günlük girişlerinin disk alanını kaplamaya devam ettiği anlamına gelir; bu da disk kullanımının azalmak yerine artmasına neden olabilir.Serbest bırakılmayan veri sayfaları: SQL Server'da veriler veri sayfalarında saklanır. Veriler silindiğinde sistem bu sayfaları hemen geri kazanmak yerine yeniden kullanılabilir olarak işaretler. Bu tasarım, sık fiziksel disk yeniden düzenlemelerinden kaçınarak sonraki ekleme işlemlerinin verimliliğini artırır. Bu nedenle veriler mantıksal olarak silinse de fiziksel alan işletim sistemine hemen iade edilmez.
Tablo ve dizin parçalanması: Veri silme işlemi, tablolarda ve dizinlerde boş boşluklar bırakarak depolama alanının parçalanmasına neden olabilir. Ancak veritabanı bu parçalanmış alanı hala tahsis edilmiş olarak kabul eder.
Bu alanı geri kazanmak için aşağıdaki adımları uygulamanızı öneririz:
-
Veritabanını veya dosya gruplarını küçültün: Kullanılmayan alanı geri kazanmak ve veri dosyalarının boyutunu azaltmak için
DBCC SHRINKDATABASEveyaDBCC SHRINKFILEkomutunu kullanın.ÖnemliBu işlem zaman alıcı olabilir ve sık küçültme işlemi performansı olumsuz etkileyebilir. Daha fazla bilgi için bkz. Dolu depolama nedeniyle bir ApsaraDB RDS for SQL Server örneğinin otomatik olarak kilitlenmesini çözün veya ApsaraDB RDS for SQL Server örneğinde yetersiz depolama alanı.
Dizinleri yeniden oluşturun: Büyük miktarda veri sildikten sonra dizinler parçalanabilir. Bir dizini yeniden oluşturmak veri sayfalarını yeniden düzenlemeye, alanı geri kazanmaya ve sorgu performansını iyileştirmeye yardımcı olur.
İşlem günlüğünü yedekleyin: Tam kurtarma modelini kullanan veritabanları için işlem günlüğünün düzenli olarak yedeklenmesi günlüğü kısaltır ve günlük alanını boşaltır. Daha fazla bilgi için bkz. Günlükleri yönetin.
-
TRUNCATE TABLE kullanmayı düşünün: Uygun senaryolarda
TRUNCATE TABLEkomutuDELETEişleminden daha verimlidir. Çok sayıda günlük kaydı oluşturmadan doğrudan veri sayfalarını serbest bıraktığı için daha hızlıdır.ÖnemliTRUNCATEişlemi geri alınamaz ve birWHEREyan tümcesini desteklemez.
Özetle, disk alanı kullanımını etkili bir şekilde azaltmak için veritabanı depolamanızı optimize etmek amacıyla bu adımları birleştirmeniz gerekebilir.
Depolama alanı büyütme ile yedekleme kotası artar mı?
Evet, bir RDS örneği için ücretsiz yedekleme kotası depolama kapasitesine bağlıdır. Örneğin depolama kapasitesini artırdığınızda ücretsiz yedekleme kotası da artar. Cloud disk kullanan bir örnek için ücretsiz yedekleme kotası depolama kapasitesinin %200'üdür. Premium Local SSD kullanan bir örnek için ücretsiz yedekleme kotası depolama kapasitesinin %50'sidir. Ücretsiz kota gigabayt (GB) cinsinden ölçülür ve her zaman en yakın tam sayıya yukarı yuvarlanır.