Forum
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.
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,
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.
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?
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.