Quelle est la meilleure façon d'expliquer les problèmes de stockage aux développeurs et aux autres utilisateurs

40

Lorsque le stockage sur le serveur devient faible, les développeurs commencent à se plaindre: «Je peux obtenir un disque dur de 1 To chez Walmart pour 100 dollars, quel est le problème».

Comment expliquer aux développeurs la complexité du stockage afin qu’ils comprennent pourquoi un lecteur de 1 To de Walmart ne fonctionne tout simplement pas.

ps Je suis un développeur et je veux aussi savoir:)

John Dyer
la source
5
Ou "Je peux obtenir un espace de stockage pour 0,15 USD par gigaoctet d'Amazon S3, quel est le problème?"
Chris Upchurch
@Chris Upchurch: Mais le problème est que vous devrez peut-être écrire un rapport sur le choix d'Amazon S3, Google App Engine ou ... Gosh, cela pourrait être fastidieux. ;)
dance2die
6
Je pourrais renverser la situation sur vous. Mon travail génère des revenus et j'ai besoin d'un peu plus de stockage pour faire mon travail efficacement. C'est un investissement solide, alors pourquoi ne pas acheter plus de stockage?
1
@Chris: Bien sûr, cela dépend toujours de la situation, mais j'ai découvert, au travers d'une expérience (coûteuse), qu'utiliser Amazon S3 pour le stockage de base n'était pas vraiment rentable. S3 est bien mieux utilisé pour gérer les pointes de trafic, de sorte que vous n’ayez pas à investir dans un système capable de gérer les pires scénarios, mais si vous commencez à l’utiliser pour des opérations quotidiennes, vous constaterez peut-être que votre situation est bien meilleure. payer le coût en capital ...
Mihai Limbăşan

Réponses:

53

Quelques vérités domestiques sur le stockage, ou pourquoi le stockage d'entreprise est-il si coûteux?

Les disques durs grand public offrent de grands volumes, de sorte que même les utilisateurs les plus avisés de * médias en streaming * toux * * toux * peuvent acheter suffisamment pour stocker une collection de plusieurs téraoctets. En fait, la capacité de disque a augmenté plus rapidement que le transistor ne compte sur le silicium depuis deux décennies maintenant.

Le stockage «d'entreprise» est un problème un peu plus complexe, car les données ont des exigences de performances et d'intégrité qui dictent une approche un peu plus lourde. Les données doivent avoir une garantie de disponibilité en cas de défaillance matérielle et doivent éventuellement être partagées avec un grand nombre d'utilisateurs, ce qui générera beaucoup plus de demandes de lecture / écriture qu'un seul utilisateur.

Les solutions techniques à ce problème peuvent être beaucoup, beaucoup plus chères par gigaoctet que les solutions de stockage grand public. Ils nécessitent également un entretien physique; les sauvegardes doivent être effectuées et souvent stockées hors site, de sorte qu'un incendie ne détruise pas les données. Ce processus ajoute des coûts permanents.

Performance

Sur votre lecteur de proximité ou même d'entreprise de 1 To, vous n'avez qu'une tête. Le disque tourne à 7200 tr / min, soit 120 tours par seconde. Cela signifie que vous pouvez obtenir au maximum 120 opérations d'E / S à accès aléatoire par seconde * en théorie * et un peu moins dans la pratique. Ainsi, la copie d'un fichier volumineux sur un seul volume de 1 To est relativement lente.

Sur une grappe de disques avec 14 disques de 72 Go, vous disposez de 14 disques centraux à (disons) 15 000 tr / min ou environ 250 tours par seconde. Cela vous donne un maximum théorique de 3 500 opérations d'E / S aléatoires par seconde * (encore une fois, un peu moins dans la pratique). Toutes choses égales par ailleurs, une copie de fichier sera beaucoup, beaucoup plus rapide.

*Vous pouvez obtenir plusieurs accès aléatoires par révolution du disque si la géométrie des lectures permet au lecteur de déplacer les têtes et de lire un secteur disponible au cours d'une révolution du disque. Si les accès au disque ont été largement dispersés, la moyenne sera probablement inférieure à un. Lorsqu'une matrice de disques formatée en bandes (voir ci-dessous), vous obtiendrez un maximum de bandes lues par tour de disque dans la plupart des circonstances et (selon le contrôleur RAID), peut-être moins d'une en moyenne.

Le disque dur à 1 200 tr / min à 7 200 tr / min sera probablement assez rapide pour les E / S séquentielles. Les baies de disques formatées en bandes (RAID-0, RAID-5, RAID-10, etc.) peuvent généralement lire au plus une bande par tour de disque. Avec une bande de 64 Ko, nous pouvons lire 64Kx250 = 16 Mo environ de données par seconde avec un disque de 15 000 tr / min. Cela donne un débit séquentiel d’environ 220 Mo par seconde sur un ensemble de 14 disques, ce qui n’est pas beaucoup plus rapide sur papier que 150 Mo / s ou environ pour un disque SATA moderne de 1 To.

Pour le streaming vidéo (par exemple), une grappe de 4 disques SATA dans un RAID-0 avec une taille de bande importante (certains contrôleurs RAID prendront en charge des tailles de bande allant jusqu'à 1 Mo) offre un débit séquentiel assez important. Cet exemple pourrait théoriquement diffuser environ 480 Mo / s, ce qui est suffisamment confortable pour effectuer un montage vidéo HD non compressé en temps réel. Ainsi, les propriétaires de Mac Pro et de matériel similaire peuvent effectuer des tâches de composition vidéo HD qui auraient nécessité une machine avec une matrice de fibres à connexion directe il y a quelques années à peine.

L'avantage réel d'une grappe de disques réside dans le travail sur la base de données, qui se caractérise par un grand nombre de petites requêtes d'E / S dispersées. Sur ce type de charge de travail, les performances sont limitées par la latence physique des bits de métal dans le disque, qui va et vient. Cette métrique est appelée IOPS (opérations d'E / S par seconde). Plus vous avez de disques physiques, quelle que soit leur capacité, plus vous pouvez théoriquement faire d'IOPS. Plus d'IOPS signifie plus de transactions par seconde.

Intégrité des données

De plus, la plupart des configurations RAID vous offrent une certaine redondance des données, ce qui nécessite par définition plus d'un disque physique. La combinaison d'un schéma de stockage avec une telle redondance et d'un plus grand nombre de disques permet à un système de servir de manière fiable une charge de travail transactionnelle importante.

L'infrastructure des baies de disques (et des réseaux de stockage (SAN) dans le cas le plus extrême) n'est pas exactement un élément du marché de masse. En outre, c’est l’un des éléments qui ne peut vraiment, vraiment pas échouer. Cette combinaison de construction standard et de volumes de marché moins élevés n’est pas bon marché.

Coût total du stockage, sauvegarde comprise

En pratique, les coûts les plus importants pour la maintenance de 1 To de données sont probablement la sauvegarde et la restauration. Un lecteur de bande et 34 jeux de bandes SDLT ou Ultrium pour un cycle complet de sauvegarde et de restauration de votre grand-père coûteront probablement plus cher qu'une baie de disques de 1 To. Ajoutez à cela les coûts de stockage hors site et le salaire d'un simple singe à bande, et tout à coup, votre 1 To de données n'est plus aussi économique.

Le coût des disques est souvent assez juste dans la hiérarchie des coûts de stockage dominants. Dans une banque, j’avais eu l’occasion de travailler pour le stockage SAN, c’est 900 £ / Go pour un système de développement et 5 000 £ / Go pour un disque sur un serveur de production. Même au prix du fournisseur de l’entreprise, le coût physique des disques n’était qu’une infime fraction de cela. Je sais qu'un autre exemple concerne un SAN IBM Shark (relativement) configuré, qui leur a coûté plus d'un million de livres sterling. Seul le stockage physique sur ce disque coûte environ 9 £ / gigaoctet, soit environ 9 000 £ pour un espace équivalent à votre disque dur grand public de 1 To.

Préoccupé parTonbridgeWells
la source
40

Dites simplement: "Oui, et je peux obtenir un programmeur Java au large pour 5 $ / heure."

Portman
la source
8
Maintenant c'est bon!
John Dyer
3
C'est une remarque assez spirituelle, mais je ne peux pas sembler y revenir, car cela ne répond pas vraiment à la question, à laquelle j'ai hâte de trouver une réponse
dance2die
1
@ dance2die Je pense que cela répond très clairement à la question.
Joe Phillips
11
Je pense que c'est une réponse valable. Le fait est que nous avons chacun notre propre domaine d’expertise et que les membres d’une équipe doivent se faire confiance. En retournant la question au développeur, cela l'aidera à se rendre compte à quel point il est inutile d'essayer de deviner l'autre.
Portman
2
Une autre réponse valable serait que le gars de Geek Squad pourrait probablement trouver un moyen de le faire, de le faire moins cher et d’avoir une attitude bien meilleure à cet égard. Sérieusement, pourquoi est-ce la réponse la plus votée pour cette question? J'ai eu un bon rire en le lisant, mais si c'est ce que les membres du site répondront à des questions naïves, je m'en tiendrai à Google et à Exchange Experts.
Dfjacobs
14

Peut-être leur poser quelques questions sur leur lecteur Walmart:

  • quel est son temps moyen d’échec?
  • que se passe-t-il si cela échoue de façon catastrophique?
  • à quelle fréquence est-il sauvegardé?
  • Quelle est la quantité de stockage requise par 12 mois de sauvegarde?
  • Comment peut-il être sauvegardé hors site?
  • comment pourrait-il être restauré? (en tout? un seul fichier? deux répertoires?)
  • combien coûte le stockage des sauvegardes?
  • Comment va-t-il garantir la sécurité des sauvegardes? garantir?
  • De quelle assurance dispose-t-il pour couvrir la perte de données vitales?

... Comparez ces réponses avec un lecteur fonctionnant dans le cadre d'une matrice RAID 5 dans un centre de données bien géré.

(Divulgation: je suis aussi un développeur - je ne fais que deviner!)

UN J.
la source
1
+1 pour une bonne approche globale du "pourquoi" de la question.
Avery Payne
4

Peut-être devriez-vous envisager un stockage différencié.

Votre développeur pourrait avoir besoin de plus d’espace, mais peut-être n’est-ce pas l’espace disque «classe entreprise» qu’il cherche. Peut-être a-t-il simplement besoin d'un lieu de stockage pour stocker les fichiers .vhd et ISO. En cas de panne du disque, il peut être téléchargé à nouveau à partir de MSDN. Peut-être que les tests nécessitent de grands besoins en espace transitoire qui ne doivent être présents que pour la durée du test. Pour tout cela, un lecteur Wallmart de 50 $ peut être une solution valable.

Peter Stuer
la source
3

La première chose que les gens doivent comprendre à propos du stockage, c'est qu'il y a une grande différence entre la capacité et les IOPS. Des choses comme la durabilité, etc. sont généralement discutables, cela revient presque toujours à IOPS par rapport à la capacité.

Mark S. Rasmussen
la source
4
IOPS: Opérations d'entrée / sortie par seconde
Sam Hasler
2

Cela dépend de quel type de serveur il demande. Pour un développeur de base ou un serveur de test, un lecteur tb de Wallmart est probablement suffisant. Si vous avez affaire à un serveur haut de gamme qui n'utilise pas de composants standard, demandez-leur s'ils construiraient une voiture de course et achèteraient des pneus dans un magasin de pièces automobiles pour économiser quelques dollars.

Jared
la source
1
Je recommanderais de ne pas utiliser cette technique sur les gestionnaires cependant. La réponse peut très bien être "oui".
Jason Baker
1

La façon dont je l'explique est la suivante. Si votre patron va signer l'achat. Je vais mettre un signe sur le lecteur de Wal-Mart qui dit ..

"Le système publicitaire a reçu pour instruction de placer ceci ici contre sa volonté et son instinct." Et quand le lecteur meurt, je remets le lecteur et note au développeur et leur demande comment faire mon travail cette fois-ci.

Je suis d'accord avec Portman ... faites confiance à l'équipe ou partez.

Thomas Denton
la source
0

Une réponse simple en une ligne: les lecteurs de 1 To sont généralement SATA, mais votre serveur est SCSI. (Même si le serveur n'est pas SCSI, cela pourrait arrêter la hiérarchie ... pour l'instant.)

Le prix d'un disque SCSI de 300 Go est généralement multiplié par quatre. Il est ensuite possible de sauvegarder les données existantes, d'organiser les temps morts, de procéder à l'installation, de rencontrer des problèmes, de faire des heures supplémentaires, etc. sortes de douleur - aucune dont le dev est directement responsable. Dire que vous pouvez acheter un lecteur standard qui répond au besoin actuel est sans aucun doute simpliste.

Mais vous savez que vous auriez dû mettre de plus gros disques dans ces satanés serveurs lorsque vous les avez achetés et que vous vous en moquez maintenant! Mais vous vouliez que les serveurs soient installés et qu'ils auraient ajouté au coût initial et qu'il aurait peut-être fallu procéder à un cycle d'approbation supplémentaire ... bienvenue dans le monde de la douleur du administrateur système ...

Cawflands
la source