Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
Katılım
7 Nis 2025
Konular
367
Mesajlar
780
Çözümler
1
Tepkime puanı
121
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Veritabanı sistemlerinin sağlıklı ve performanslı çalışması için düzenli olarak yapılması gereken çeşitli görevler bulunur. Bunlar arasında yedekleme alma (Bölüm 12), indeksleri ve istatistikleri güncelleme (Bölüm 13, 17), eski verileri temizleme veya arşivleme (Bölüm 13), tutarlılık kontrolleri yapma (Bölüm 13) ve belirli raporları çalıştırma gibi işlemler yer alır. Bu görevlerin manuel olarak yapılması hem zaman alıcıdır hem de hata riskini artırır. İşte bu noktada Veritabanı Görev Zamanlayıcıları (Job Schedulers) devreye girer.

Görev Zamanlayıcıları (Job Schedulers) Nedir?

Bir Görev Zamanlayıcı, veritabanı sistemi içinde veya işletim sistemi seviyesinde çalışan bir araç veya bileşendir. Amacı, belirli veritabanı veya işletim sistemi görevlerini önceden tanımlanmış bir programa (schedule) göre otomatik olarak çalıştırmaktır.

Yaygın Görev Zamanlayıcı Örnekleri:

  • SQL Server Agent: Microsoft SQL Server ile birlikte gelen güçlü bir görev zamanlama ve otomasyon aracıdır.
  • pg_cron: PostgreSQL için cron tabanlı bir görev zamanlama eklentisidir.
  • İşletim Sistemi Zamanlayıcıları: Linux/Unix sistemlerinde cron, Windows sistemlerinde Task Scheduler kullanarak veritabanı scriptlerini veya komut satırı araçlarını (mysqldump, pg_dump vb.) belirli zamanlarda çalıştırabilirsiniz.
Otomasyonun Faydaları

Görev zamanlayıcıları kullanmanın birçok faydası vardır:

  • Güvenilirlik ve Tutarlılık: Görevlerin insan müdahalesi olmadan, her zaman aynı şekilde çalışmasını sağlar.
  • Zamanlama Kontrolü: Kaynak kullanımının düşük olduğu, genellikle mesai saatleri dışındaki zamanlara göre görevleri planlama imkanı sunar.
  • Verimlilik: Tekrarlayan manuel işleri ortadan kaldırarak DBA'ların veya geliştiricilerin daha önemli işlere odaklanmasını sağlar.
  • Hata Yönetimi ve Bildirim: Görevlerin başarılı veya başarısız olma durumlarını kaydeder ve hata durumunda yöneticilere e-posta gibi yollarla bildirim gönderebilir.
  • İş Sürekliliği: Yedekleme gibi kritik felaket kurtarma görevlerinin düzenli olarak çalışmasını garanti eder.
Zamanlanmış Bir Görevin Bileşenleri

Bir görev zamanlayıcıda yeni bir görev (Job) tanımlarken genellikle şu bilgileri sağlarsınız:

  1. Görev Adımı (Job Step): Gerçekleştirilecek eylem. Bu bir SQL scripti, bir saklı yordam çalıştırma, bir komut satırı programı çalıştırma veya bakım planı adımı olabilir. Bir görev birden fazla adımdan oluşabilir.
  2. Program (Schedule): Görevin ne zaman ve ne sıklıkla çalışacağı. Tek seferlik, günlük, haftalık, aylık, belirli aralıklarla (örn: her 15 dakikada bir) veya veritabanı motoru başladığında gibi farklı zamanlama seçenekleri bulunur.
  3. Kullanıcı/Kimlik Bilgileri: Görevin hangi veritabanı kullanıcısı veya işletim sistemi kimliği ile çalışacağı. Görevin ihtiyaç duyduğu izinlere sahip bir kimlik kullanılmalıdır.
  4. Kayıt (Logging): Görevin çalışma geçmişinin, başarı/başarısızlık durumunun ve varsa hata mesajlarının kaydedilmesi.
  5. Bildirimler (Notifications): Görevin başarılı veya başarısız olması durumunda belirli kullanıcılara (genellikle DBA'lara) e-posta veya başka yollarla bildirim gönderilmesi.
Örnek Zamanlanmış Görevler

Görev zamanlayıcıları kullanılarak otomatikleştirilebilecek yaygın veritabanı görevlerine bazı örnekler:

  • Günlük Tam Veritabanı Yedeklemesi Alma: Her gece belirli bir saatte otomatik olarak tam yedek alınması (Bölüm 12).
  • Haftalık İndeks Bakımı Çalıştırma: Hafta sonu düşük yoğunluklu bir zamanda indeksleri yeniden düzenleme veya yeniden oluşturma (Bölüm 13, 17).
  • İstatistikleri Düzenli Güncelleme: Belirli tabloların istatistiklerini günlük veya daha sık güncelleme (Bölüm 13, 17).
  • Eski Verileri Arşivleme/Temizleme: Belirli bir yaştan büyük verileri arşiv tablosuna taşıyan veya silen scriptleri çalıştırma (Bölüm 13).
  • Performans Raporları Oluşturma: Belirli performans metriklerini toplayan veya özetleyen sorguları çalıştırıp raporları kaydetme.
  • Veritabanı Tutarlılık Kontrolleri: Veritabanının bozulma olup olmadığını kontrol eden komutları çalıştırma (Bölüm 13).
Görevleri İzleme

Zamanlanmış görevleri tanımlamak kadar, bunların düzgün çalışıp çalışmadığını izlemek de önemlidir. Görev zamanlayıcıları genellikle her görevin çalışma geçmişini, başlangıç/bitiş zamanını, süresini ve çıkış mesajlarını (varsa hata mesajları dahil) gösteren arayüzler sunar. Başarısız olan görevler için bildirimlerin doğru yapılandırıldığından emin olmak hayati önem taşır.

Görev zamanlayıcıları, veritabanı yönetiminin operasyonel yükünü azaltan ve sistemin güvenilirliğini artıran temel araçlardır. Rutin görevlerin otomasyonu, DBA'ların veritabanının genel mimarisi ve performansı gibi daha stratejik konulara odaklanmasına olanak tanır.

Bu bölümde, veritabanı görevlerinin otomasyonunu sağlayan görev zamanlayıcıları konusunu ele aldık. Bu, veritabanı yönetiminin pratik yönlerinin önemli bir parçasıdır.

Veritabanı ve SQL dünyası oldukça geniş ve sürekli gelişen bir alandır. Temellerden başlayarak ileri seviye konulara ve yönetimsel görevlere kadar birçok farklı yöne baktık.

Serimizin bu aşamasını, modern veritabanı ekosistemine genel bir bakış atarak ve belki de bulut veritabanı hizmetlerinin sunduğu imkanlara kısaca değinerek tamamlayabiliriz. Bulut veritabanları, bu seride bahsettiğimiz bazı yönetimsel görevleri (HA, ölçekleme, yedekleme gibi) soyutlayarak kolaylık sağlayan popüler bir seçenektir.

Bir sonraki bölümde, bulut veritabanlarının temel faydalarına ve farklı hizmet modellerine (PaaS, IaaS) kısa bir bakış atabiliriz.


 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri