Bonjour,
Voila j'ai 2 ou 3 problèmes liés à des choix techniques que je ne connais pas forcément.
Je suis en charge de la création d’un site Internet avec beaucoup d'utilisateurs connectés simultanément (environ 10000 en période normale et jusqu'à 20000 en périodes de pointe), sur des sessions d’une durée moyenne de 20 minutes. Ces utilisateurs se connecteront à une base de données ce qui impliquera un fort taux de transferts.
Les activités des utilisateurs sur le site feront qu’il y aura énormément de requêtes SQL basées en premier lien sur les "select" ainsi que les "insert" et dans une moindre mesure sur les "update" et "delete".
De plus on devrait avoir plusieurs serveurs web sous Linux (Debian) avec la techno Apache / PHP, ainsi qu’un frontal pour faire du Load Balancing sur ces serveurs web. Le ou les serveurs SQL seront sur des machines dédiées.
Viennent ensuite les interrogations:
On parle du triplet Apache/php/mysql, mais dans mon cas est ce que MySQL peut tenir le coût niveau performance et rapidité, cela j’en doute vu mes premiers tests ? Ou alors voir du coté de PostgresQL ou y a t il d'autres SGBD intéressant par rapport aux critères cités ci-dessus? (plutôt OpenSource ou pas trop cher, en évitant Oracle à 12000€)
Est-ce que MySQL ou POstgresQL peuvent gérer des tables de plusieurs millions voire centaines de millions de lignes ?
Y a-t-il des options dans MySQL, PostgresQL ou une meilleure base de données, qui permettraient un meilleur temps dans le traitement des Query ?
On pense utiliser une seule base de données, va-t-il y avoir un problème de surcharge et donc obliger d’avoir plusieurs serveurs SQL? en sachant qu’on va purger la base de données au minimum une fois par jour.
Si il y a plusieurs serveurs SQL, la solution du Clustering est elle viable ?
Est-ce performant ? Ou bien ralentit elle le temps de réponses des serveurs de base de données ? Y a-t-il des solutions de « clustering » performantes à faible coût à votre connaissance ?
Et par rapport au choix de la base de données, celle-ci tient elle bien le clustering ?
Quel pourraient être les optimisations possibles pour accélérer les performances au niveau temps de réponses entre les serveurs BD et le client ? J'ai pensé au RAID 5 ou RAID 1+0 comme solution technique pour les disques durs contenant les bases de données, est ce un bon choix de RAID par rapport à votre expérience? Mais y a t il d'autres points que je n'est pas vu ?
Merci de vos réponses et désolé si il y a des infos que j'ai pas vu sur le forum.
Partager