Mengabaikan seluruh debat NoSQL vs SQL, saya pikir pendekatan terbaik adalah menggabungkannya. Dengan kata lain, gunakan MySQL untuk beberapa bagian sistem (pencarian kompleks, transaksi) dan redis untuk bagian lain (kinerja, penghitung, dll).
Dalam pengalaman saya, masalah kinerja yang terkait dengan skalabilitas (banyak pengguna...) akhirnya memaksa Anda untuk menambahkan semacam cache untuk menghapus beban dari server MySQL dan redis/memcached sangat baik dalam hal itu.