Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

De quoi dépend la vitesse d'interrogation et d'insertion de la base de données ?

Pour avoir une comparaison approximative :l'enregistrement de référence TPC-C pour SQL Server est à environ 1,2 million de transactions par minute, et c'est comme ça depuis environ 4 ans (plafonné par la limite de 64 CPU OS). C'est quelque chose de l'ordre de ~16 000 transactions par seconde . C'est sur des machines super haut de gamme, 64 processeurs, beaucoup de RAM, des clients affinités par nœud NUMA et un système d'E/S dépouillé très court (seulement environ 1 à 2 % de chaque broche est utilisée). Gardez à l'esprit qu'il s'agit de transactions TPC-C, elles consistent donc en plusieurs opérations (je pense que c'est 4-5 lectures et 1-2 écritures chacune en moyenne).

Maintenant, vous devez réduire ce matériel haut de gamme à votre déploiement réel et vous saurez où définir vos attentes pour le traitement global des transactions OLTP .

Pour le téléchargement de données, le record du monde actuel est d'environ 1 To en 30 minutes (si c'est toujours d'actualité...). Plusieurs dizaines de milliers d'insertions par seconde est assez ambitieux, mais réalisable, lorsqu'il est correctement fait sur du matériel sérieux. L'article dans le lien contient des trucs et astuces pour un haut débit ETL (par exemple, utilisez plusieurs flux de téléchargement et affinez-les aux nœuds NUMA).

Pour votre situation, je conseillerais avant tout de mesurer donc vous découvrez les goulots d'étranglement et ensuite demandez spécifique se demande comment résoudre des goulots d'étranglement spécifiques. Un bon point de départ est le Livre blanc sur les attentes et les files d'attente .