Forum

SQL Server Database...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SQL Server Database Replication ya da Mirror Yöntemi;

3 Yazılar
2 Üyeler
0 Likes
1,073 Görüntüleme
(@VahapOc)
Gönderiler: 23
Eminent Member
Konu başlatıcı
 

Merhaba,

Ubuntu üzerinde çalışan MSSQL Server içerisindeki veritabanımı, birden fazla sunucuya dağıtmak ve read yapılabileceği şekilde yapılandırmak istiyorum.

SQL Always ON yapısını denedim ancak kullandığım alt yapıda floating IP mantığı desteklenmediğinden listener IP diğer sunuculara geçmiyor. Yapı haliyle çöküyor. Ayrıca maksimum 5 node eklenebiliyor.

Database mirroring gördüğüm kadarıyla SQL Server 2017 Linux Edition üzerinde desteklenmiyor, 2019 Edition'da preview durumda.

Bana bu konuda önerebileceğiniz bir mimari var mı? 1 node read/write yapacak diğer nodelar üzerinden sadece read yapılacak. read/write yapılan master node üzerinde veriler replike olacak. İhtiyacım olan bildiğin mirroring ama onu da desteklemiyor işte...

Teşekkürler.

 
Gönderildi : 09/10/2019 17:11

(@cankaya)
Gönderiler: 117
Üye
 

Merhaba,

Floating ip desteğiniz yoksa hibrit bir yapıya ve failover operasyonlarını sizin yönettiğiniz gerek elle gerekse de script ile bir çözüme gitmeniz gerekmektedir. 

Dolayısıyla bu durumda diğer yüksek erişilebilirlik çözümleriniz hep single point of failure durumunda olacaktır. Mirroring de yapsanız, log shipping de yapsanız PRIMARY/master node (RW node) tek makina olacak ve olası bir problem durumunda en iyi ihtimalle write yapamayacaksınız. 

Sizin durumunuzda Always ON basit availability group kullanıp PRIMARY node u bulmak için basit bir load balancer konumlandırmalısınız. HAProxy kullanmıştım daha once ben. Oracle cloud da ayı sorun vardı. Floating ip kullanılamıyordu. 

read only node olarak 5 node a takıldığınızdan bahsetmişiniz. Kaç adet node a ihtiyacınız var ?  Maintenance, sürdürülebilirlik, RTO, RPO gibi konuları etraflıca düşünüp bir mimari seçmek gerekli. Node sayınızın fazla olması size faydasından çok zararı da olabilir. 

Bu gibi konuların yanında R/W oranınız çok yüksek olacaksa yazılım tarafında two phase commit tarzında yönelimlerden de faydalanabilirsiniz. 

Çok büyük derya deniz bir konu. Umarım faydalı olabilmişimdir. 

Saygılar,

 
Gönderildi : 10/10/2019 12:45

(@VahapOc)
Gönderiler: 23
Eminent Member
Konu başlatıcı
 

Can Bey merhaba,

Yanıtınız için çok teşekkür ederim. Tek bir R/W yapan node olması sorun değil. İş hacmim read üzerine olduğu için database üzerinde read yükünü dağıtmak istiyorum. Bu nedenle de read-replica yapıya ihtiyaç duydum. Sadece oldu ki R/W yapan master node erişilemez oldu, otomatik olarak read makinalardan birine geçsin istiyor(d)um.

Gönderen: @cankaya

Sizin durumunuzda Always ON basit availability group kullanıp PRIMARY node u bulmak için basit bir load balancer konumlandırmalısınız. HAProxy kullanmıştım daha once ben.

Bunu nasıl yapmıştınız? HaProxy master node nasıl algılıyordu?

Gönderen: @cankaya

read only node olarak 5 node a takıldığınızdan bahsetmişiniz. Kaç adet node a ihtiyacınız var ?  Maintenance, sürdürülebilirlik, RTO, RPO gibi konuları etraflıca düşünüp bir mimari seçmek gerekli. Node sayınızın fazla olması size faydasından çok zararı da olabilir. 

Bu yapıyı Alibaba Cloud üzerinde kurduğum için yapıyı scale etmek istiyorum. Günde çift haneli rakamlarda milyonlarca request geliyor. Yapıda Redis clusterlarım yükü hafifletiyor ancak daha da optimize etme çabasındayım ve SQL Always ON'da 5 node kadar çıkılabiliyor, sanıyorum. İleride bu request çok daha artacak ve tanımladığım metriclere göre otomatik yeni bir node ayağa kalkacak şekilde yapıyı kurgulamaya çalışıyorum.

 
Gönderildi : 15/10/2019 10:45

Paylaş: