Merhabalar,
Öyle kafadan popülist bir şekilde NoSQL kullanın, PostgreSQL'e geçin veya sunucuyu yükseltin demek kadar saçma bir şey olamaz. İş doğru yapılmaz ise veritabanı ve sunucu kaynağı seçiminiz ne olursa olsun verim alamazsınız!!!
1. Öncelikle MySQL yapılandırmanız doğru mu?
2. İşletim sistemi ve veritabanı tarafında yapılandırmada optimizasyon yapıldı mı?
3. Veritabanında çalışan sorgularda bir hata var mı?
4. İndeksler ne durumda? Eksik indeks var mı?
5. Tablolarda bloating var mı?
6. Partitioning yapıldı mı?
7. MySQL'de hangi versiyonu kullanıyorsunuz?
8. MySQL'de kulllanılan veritabanı motoru nedir?
9. Caching kullanılıyor mu? Nerelerde kullanılabilir veya kullanılabilir mi?
........
Bu liste uzayıp gider. 2 milyon satır veri miktarı olarak MySQL için bile küçük.
Sistem incelenir, yapılabilecek optimizasyonlar değerlendirilir daha sonra kaynak artırımı gündeme gelir.
Yok yapısal bir sınırlandırmaya takılıyor iseniz veya büyüme planınız var ise o zaman PostgreSQL'e göç edilir. PostgreSQL yetersiz kalır ise, EDB PAS'a geçiş yapılır. İş analiz edilmeden adım atılır ise daha büyük iş, daha büyük maliyet çıkar ve günün sonunda hem performans alamazsınız hem de pişman olursunuz. Belirli bir noktadan sonra geriye dönüşü de yapamazsınız.
Açıkçası sadece indekslerin düzenlenmesi ve mysql yapılandırmasının gözden geçirilmesi bile sizi kurtaracaktır diye düşünüyorum.
NoSQL çözümlerini listeye eklemiyorum bile. Doğru şeyi doğru yerde kullanmak gerekir. NoSQL çözümüne gitmek demek bütün uygulamanızı yeniden yazmanız demektir. Yapısal olmayan bir veri tutuyorsanız onu MySQL veya PostgreSQL üzerindeki json kolonlarda tutmak çok daha mantıklı olacaktır. Hem yapısallığı ve ilişkiselliği korursunuz, hem de yapılsal olmayan veriler üzerinde konforlu bir şekilde çalışabilirsiniz.
İyi günler.