MySQL, Federated Hakkında

MySQL Federated

Varsayılan olarak gelmeyen MySQL’in desteklediği bir diğer tablo yapısı da federated‘dir. Ender olarak kullanılsa da farklı bir özelliği içeren federated tablo yapısı ile replication ve cluster teknolojilerini kullanarak 2 database sunucusu kullanılacaksa federated tablo yapısını kullanmak bulunmaz nimettir.

Database server’imizin bir yedeğini de farklı bir makinede tutmak istediğimizi düşünürsek en pratik yöntem ikinci makinede tablolarımızla aynı şekilde tabloları federated olarak oluşturmaktır. Somutlaştırmak gerekirse;

Önce database server’imize örnek bir tablo olusturalim

Bu tabloyu oluşturduktan sonra, bu tabloya girilecek değerlerin otomatik olarak ikinci sunucu’ya da girilmesini sağlamak için diğer tabloyu da oluşturalım;

Tabi şunu unutmamak lazım, 2. server’ın 1. server’a bağlanabilmesi için gerekli kullanıcı yetkilendirmesi yapılması gerekmektedir. Aksi takdirde bağlantı hatayla sonuçlandırılacak ve herhangi bir sonuç elde edemeyeceğiz.

Federated tablo yapısını donanım bilginiz yeterli düzeyde ise RAID bağlantılarına benzetebilirsiniz.

2.server üzerinde kaydettiğimiz tablonun yapısını FEDERATED olarak tanımladıktan sonra CONNECTION komutuna 1.server’a erişebileceğimiz bir kullanıcı kimliği girdikten sonra, server’ın hos adresi ve port numarasını da belirttikten sonra, database ve dinlenecek tablo adını giriyoruz. Burada tablo isimleri aynı olacak diye bir kaide yok. Sonuçta 2. server, 1. server’ı dinleyip veri bütünlüğünü sağlar. Şimdi 1. server’daki tabloya bir kayıt ekleme, güncelleme veya silme işlemi yaptığımızda 2.server’ın datası da aynı olacaktır.

Bir diğer farklı durum ise, 2.server’da da herhangi bir hareket yaptığımızda aynı işlem 1.server’da da gerçekleştiğini göreceksiniz. Fakat burada belirtmem gereken diğer bir nokta ise, dinleme işlemi sadece veri için geçerlidir. Şayet herhangi bir server’daki tablo üzerinde yapısal bir değişiklik yaparsak, diğer server’da bu değişiklik uygulanmayacaktır. Haliyle diğer server’da da bu değişikliği uygulamamız gerekmektedir.

Leave a Reply

Your email address will not be published. Required fields are marked *