Switch Database ve Ölçeklenebilirlik

Mert Sarac
Switch Database
Published in
2 min readJul 4, 2017

Switch Database altında yüksek performans gerektiren ya da yüksek hacimli verileri saklamak istediğimizde kaynakların yatay olarak ölçeklendirilebilmesi için 3 seçenek mevcuttur.

1- Performans Ölçeği
Yüksek I/O ihtiyacına cevap verebilmek için sunucu havuzuna yeni sunucular eklenir ve bu sunucular replication ile aynı veritabanı için hizmet sağlayacak hale getirilir. Bu aşamadan sonra Switch API sunucuları gelen istekleri load-balancer kurallarıyla inceler ve Master-Slave replication desteği sayesinde farklı sunuculara dağıtarak ihtiyaca cevap verir. Bu ölçekte secondary serverlar arasındaki iletişim primary server tarafından yönetilir ve primary server hiçbir isteğe cevap vermez. Ancak bu yöntemde secondary serverlar arasındaki iletişim asenkron olduğundan veri tutarlılığı önemli olan uygulamalar için sharding ile ölçeklendirme tavsiye edilir.

2- Cluster Ölçeği

Farklı konumlardan gelen veritabanı istekleri için Switch API’ın CDN sunucularıyla aynı veri merkezinde yeni bir cluster oluşturulur ve bu cluster sunucusu replication ile aynı veritabanı için hizmet sağlayacak hale getirilir. Switch API bu CDN noktasına gelen istekleri direkt olarak aynı veri merkezindeki cluster ile döndürür. Bu sayede çok hızlı cevap süreleri elde edilir.

3- Data Ölçeği

Yüksek veritabanı boyutuna cevap verebilmek için sunucu havuzuna yeni replica set’ler eklenir ve bu replica setler sharding desteği sayesinde aynı veritabanının farklı parçalarını kendi üzerinde barındırır. Switch API gelen okuma isteklerini her bir replica set’e iletir ve her birinden gelen cevapları birleştirerek tek bir sonuç olarak döndürür. Bu ölçek 1 milyar döküman ya da 12 TB data büyüklüğüne ulaşıldıktan sonra daha fazla dikey ölçeklendirilebilme yapılamayacağı için ve tutarlılığı kaybetmeden performans ölçeklendirmesi yapılmak istendiğinde kullanılmalıdır.

--

--

Mert Sarac
Switch Database

Mert is a Co-founder at Switch Database on Istanbul, Turkey and studied Anadolu University. https://www.mertsarac.com/