Question

Je me demandais ce que vous faites lorsque vous développez une nouvelle application en termes d'estimation de la taille de la base de données.

E.g. Je prévois de lancer un site Web et j'ai du mal à estimer la taille de ma base de données. Je ne m'attends pas à ce que vous me disiez quelle sera la taille de ma base de données, mais j'aimerais savoir s'il existe des principes généraux pour estimer cela.

E.g. Lorsque Jeff a développé StackOverflow, il a (vraisemblablement) estimé la taille et la croissance de sa base de données.

Mon dilemme est que je vais chercher une solution hébergée pour mon application Web (son coût est à ce stade), et préférez ne pas me tirer une balle dans le pied en n'achetant pas assez d'espace SQL Server (ils facturent une prime pour cela).

Était-ce utile?

La solution

Si vous avez un schéma de base de données, le dimensionnement est assez simple ... il ne s'agit que de lignes estimées * taille moyenne des lignes pour chaque table * un facteur pour les index *, un autre facteur pour la surcharge. Compte tenu du prix ridiculement bas du stockage de nos jours, le dimensionnement ne pose souvent pas un problème, sauf si vous avez l’intention d’avoir un site très fréquenté (ou de créer une application pour une grande entreprise).

Pour mes propres exercices de dimensionnement, j'ai toujours créé une liste Excel:

  • col 1: chaque table qui s'agrandira
  • col 2: taille estimée de la colonne en octets
  • col 3: nombre estimé de lignes (par an ou maximum, en fonction de l'application)
  • col 4: facteur d'indexation (je le règle toujours sur 2)
  • col 5: facteur de surcharge (je règle toujours cette valeur sur 1.2)
  • col 6: colonne totale (col 2 X 3 X 4 X 5)

La somme de la colonne 6 (colonne totale) et de la taille initiale de votre base de données sans table de croissance correspond à votre estimation de taille. Vous pouvez être beaucoup plus scientifique, mais c’est ma façon rapide et sale.

Autres conseils

Le coût de l'estimation risque d'être supérieur au coût du stockage

La plupart des hébergeurs vendent leur capacité en fonction de la quantité utilisée à la fin de chaque mois, laissez-la donc s'exécuter

Déterminer:

  • combien de visiteurs par jour, V
  • combien d'enregistrements de chaque type seront créés par visite, N1, N2, N3 ...
  • la taille de chaque type d'enregistrement, S1, S2, S3 ...

ÉDITER: facteur d'indexation oublié, selon lequel une bonne règle empirique est 2 fois

Croissance totale par jour = 2 * V * (N1 * S1 + N2 * S2 + N3 * S3 + ...)

Mes règles empiriques à suivre sont

  • combien d'utilisateurs dois-je espérer?
  • quel contenu peuvent-ils publier?
  • quelle est la taille d'un enregistrement d'utilisateur?
  • quelle est la taille de chaque élément de contenu qu'un utilisateur peut ajouter?
  • combien va-t-on ajouter I ?
  • combien de temps ces éléments de contenu vivront-ils? pour toujours? juste quelques semaines?

Multipliez la taille de l'enregistrement utilisateur par le nombre d'utilisateurs. ajouter le nombre d'utilisateurs multiplié par la taille de l'élément de contenu; multiplier par deux (pour un facteur de fudge commode).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top