Konuyu Açan
#1
MariaDB'de tablo büyümesini düzenli olarak izlemek, veritabanı performansı ve kapasite planlaması açısından kritik öneme sahiptir. Bu script, belirli aralıklarla tabloların boyutlarını kaydeder ve zaman içindeki değişimi raporlar. Ayrıca, büyük artışlar veya beklenmedik büyümeleri tespit etmek için temel bir analiz sağlar.
İlk olarak, MariaDB'de tablo boyutlarını sorgulamak için aşağıdaki sorguyu kullanabilirsiniz. Bu sorgu,
Bunu düzenli olarak çalıştırmak ve sonuçları kaydetmek için, örneğin günlük bir cron job veya Windows Task Scheduler kullanabilirsiniz. Her çalıştırmada, sonuçları bir dosyaya veya veritabanına kaydetmek, zaman serisi analizi yapmak açısından faydalı olur.
Örneğin, günlük bir çıktı almak için bash script örneği:
Daha gelişmiş analiz için, her gün alınan verileri bir veritabanında tutabilir ve zaman içindeki büyüme oranlarını hesaplayabilirsiniz. Bu sayede, özellikle büyüme hızını anlık takip edip, kapasite planlaması yaparken kritik noktaları öngörebilirsiniz.
Büyük artış gösteren tablolar veya yüksek büyüme oranları tespit edildiğinde, indekslerin optimize edilmesi veya verilerin arşivlenmesi gibi önlemler alınabilir. Ayrıca, disk alanı yönetimi ve performans iyileştirmeleri açısından bu izleme kritik rol oynar.
Sorular veya kendi izleme stratejileriniz varsa, paylaşabilirsiniz. Sizler bu tarz izleme otomasyonlarını nasıl entegre ediyorsunuz?
İlk olarak, MariaDB'de tablo boyutlarını sorgulamak için aşağıdaki sorguyu kullanabilirsiniz. Bu sorgu,
information_schema içindeki TABLES tablosundan alınan bilgileri kullanır:KOD
12345678910111213
SELECT
table_schema,
table_name,
data_length,
index_length,
(data_length + index_length) AS total_size
FROM
information_schema.TABLES
WHERE
table_schema NOT IN ('mysql', 'information_schema', 'performance_schema')
ORDER BY
total_size DESC;
Bunu düzenli olarak çalıştırmak ve sonuçları kaydetmek için, örneğin günlük bir cron job veya Windows Task Scheduler kullanabilirsiniz. Her çalıştırmada, sonuçları bir dosyaya veya veritabanına kaydetmek, zaman serisi analizi yapmak açısından faydalı olur.
Örneğin, günlük bir çıktı almak için bash script örneği:
KOD
123
#!/bin/bash
mysql -u kullanıcıadı -pşifre -e "SELECT ... " > /path/to/logs/table_sizes_$(date +%Y%m%d).txt
Daha gelişmiş analiz için, her gün alınan verileri bir veritabanında tutabilir ve zaman içindeki büyüme oranlarını hesaplayabilirsiniz. Bu sayede, özellikle büyüme hızını anlık takip edip, kapasite planlaması yaparken kritik noktaları öngörebilirsiniz.
Büyük artış gösteren tablolar veya yüksek büyüme oranları tespit edildiğinde, indekslerin optimize edilmesi veya verilerin arşivlenmesi gibi önlemler alınabilir. Ayrıca, disk alanı yönetimi ve performans iyileştirmeleri açısından bu izleme kritik rol oynar.
Sorular veya kendi izleme stratejileriniz varsa, paylaşabilirsiniz. Sizler bu tarz izleme otomasyonlarını nasıl entegre ediyorsunuz?
