Bonjour,
Dernièrement face à une problématique lors de la conception d'une fonctionnalité d'un site pour mon boulot, j'ai du migrer des données (initialement sous MySQL) sur Redis, pour des raisons de performances principalement. Cependant, au début j'ai tout de même passé un peu de temps à structurer ma base Redis pour qu'elle aussi simple d'utilisation que sous MySQL.
Du coup pour m'amuser j'ai commencé à développer une sorte d'ORM sous Symfony pour Redis, c'était cool et j'arrivais à avoir de bons résultats, mais ce n'était pas encore assez rapide à mon goût et bien trop critique. En gros mon ORM ce chargeait de récupérer les données directement de Redis puis de faire des traitements en PHP, ce qui peut être très lourd lors de la manipulation de données.
Prochaine étape, j'ai développé un moteur de base de données relationnelle Redis sous Node.js. Par conséquent, je lui envoie un requête de type SQL et je récupère la réponse, je gère presque toutes les requêtes "simples" (tout ce qui concerne la structure et données de la base de données).
En terme de performance, et avec un système de cache, j'arrive à des temps d’exécution assez faible, mais toujours inférieur à MySQL...mais seulement quand ça concerne peu de données, par contre le moteur a une bonne scalabilité et c'est ce que je recherche.
La ou j'ai besoin de votre avis, pensez-vous que je devrais revoir tout mon moteur et l'adapté plutôt en C/C++ ou Golang ? Pour de meilleurs performances.
J'ai vraiment des doutes, et même si j'ai déjà une bonne version beta de mon moteur sous Node.js, je trouve ça pas très portable, alors qu' un moteur implémenté en C/C++ est certainement beaucoup plus simple d'installation sur des serveurs (ou pas, peut être que je me goure complet).
J'attends vos avis.
Merci
Partager