Ma base de données a une taille d'environ 1 Go (selon le fichier mdf de ma base de données). Mon serveur de base de données a 4 Go de RAM. En regardant la consommation de mémoire de l'ordinateur lorsqu'il est actif, on constate qu'il est utilisé à environ 85 % (y compris le système d'exploitation, etc.).
Cela signifie-t-il que toute l'activité de lecture de la base de données fonctionne uniquement en mémoire (c'est-à-dire que toute la base de données se trouve en mémoire) ? ou existe-t-il encore un cas où elle devrait aller sur le disque ?
1 votes
À titre de comparaison, quelle est l'utilisation lorsque l'application n'est pas active ? En général, l'un des avantages d'un système de base de données est qu'il n'a pas besoin de tout le fichier en mémoire, mais qu'il gardera en mémoire ce que vous en tirez jusqu'à ce que vous l'effaciez ailleurs. Je vais devoir répondre "non".
0 votes
@Mr. Disappointment : Je reconnais qu'il s'agit d'un avantage, mais dans le cas où il s'agit d'un avantage, il est nécessaire d'en tenir compte. peut mettre le fichier complet en mémoire (comme dans le cas présent), n'est-ce pas ?
0 votes
Si cela s'avère nécessaire, alors oui. Mais à la demande des appelants et des données dont ils ont besoin, et non pas de manière naturelle. Donc, en général, si vous avez un problème de mémoire de base de données, ce sera avec le code d'appel ou le logiciel d'appui, ou un mélange des deux.
1 votes
Un exemple pour mettre en perspective : Je connais une très grande société Internet qui possède plusieurs très grands sites portails. Ils diffusent environ 300 millions de publicités à partir de leurs propres serveurs publicitaires pour ces portails. La structure des serveurs publicitaires est telle qu'il y a une grande base de données Oracle avec toutes les informations pour la comptabilité et le ciblage, mais il y a 32 grands serveurs (32GB RAM) qui contiennent des bases de données plus petites (avec seulement les publicités actives). en RAM . Ils ne touchent pas un disque, ils ne doivent pas le faire : ils n'ont que 1/1000 de seconde pour trouver une annonce à placer lorsque la requête arrive, et tout accès au disque rendrait cet objectif impossible à atteindre.
1 votes
Voici deux lectures msdn.microsoft.com/en-us/library/ms178067.aspx y sqlserverperformance.wordpress.com/2008/08/06/
0 votes
@Mörre : Bien qu'il s'agisse d'un bel exemple, il est très spécifique - Je pense que l'idée de l'OP est de déterminer la nature fondamentale des bases de données, et non les possibilités extrêmes.
0 votes
Hum, le commentaire n°2 de ma part devrait se lire "supporting hardware" à la fin. Oups.
0 votes
M. Déception : Je sais, mais je n'ai pas pu ajouter "hors sujet" car il ne me restait que 3 lettres. J'ai ajouté le commentaire parce que quelqu'un a écrit une réponse (maintenant supprimée) remettant en question la nécessité d'avoir une DB complète en mémoire. Comme je l'ai dit : "pour la perspective".
0 votes
@Mörre : C'est un excellent point, ne vous méprenez pas. Etait Juste pour dire pour ainsi dire :)
0 votes
Vous devez vous rappeler que les pages de données ne sont pas les seuls consommateurs de mémoire dans le serveur SQL. Le cache de plan et même les verrous peuvent également occuper de grandes quantités de mémoire. En outre, les pages sales sont écrites sur le disque à chaque point de contrôle, de sorte qu'il y a toujours une certaine activité sur le disque.
0 votes
Je ne suis pas sûr que cela ait de l'importance, mais s'agit-il d'un système d'exploitation 32bit ou 64bit ?