Je travaille sur un calcul du `` dos de l'enveloppe '' pour une configuration de base de données de rapports de 100 To. Je recherche les réflexions des experts ici. Environnement proposé:
- Capacité de stockage ~ 100 To
- Tables ~ 200, tailles allant de 1 Go à 5 To. la taille moyenne peut se situer entre 100 Go et 200 Go
- ETL - les travaux peuvent nécessiter une jointure entre des tables de 10 millions de lignes, avec des clés de jointure allant de 10 octets à 500 octets. ces jointures devraient se terminer en moins de 2 à 5 minutes
- Live Selects - initialement, uniquement intéressé par certaines vitesses. devrait prendre en charge 500 sélections / seconde. Les mises à jour / seconde seront relativement plus petites et peuvent être ignorées pour cet exercice.
- besoin de disponibilité 24x7. 2 serveurs DB indépendants devraient être disponibles pour servir certains appels (avec réplication des données).
Des questions:
- À l'heure actuelle, je regarde Oracle. Quelle a été votre expérience avec d'autres solutions open source commerciales (ou) pour de grandes bases de données?
- Quel OS matériel avez-vous vu fonctionner le mieux? Je prévois Linux sur Dell.
- Le stockage réseau, tel que NetApp, est-il indispensable? Quels problèmes prévoyez-vous avec l'utilisation de disques disponibles dans le commerce?
- Une fois le matériel et le système d'exploitation prêts, combien de temps mettriez-vous de côté pour installer, configurer la base de données, le stockage, etc.
- Quelles compositions d'équipe ont le mieux fonctionné dans les environnements que vous avez observés? Je veux dire, les différents administrateurs (OS Admin, Oracle DB Admin?) Nécessaires pour gérer et faire fonctionner une telle configuration. Combien d'entre eux pourraient être nécessaires pour atteindre un temps de disponibilité de 24x7.
- Toute approximation / plage sur les licences DB, les coûts de stockage réseau.
Je sais que je n'ai pas tous les détails de l'environnement. Je ne cherche pas les détails exacts, une approximation suffit. Bien que certaines des questions puissent être mieux traitées par les gestionnaires, je suis intéressé par la perspective des administrateurs. J'apprécie votre contribution.
Réponses:
Premières impressions
Selon vos exigences de performances, 100 To est un volume de données assez agressif. Si vous voulez Oracle, vous devriez vérifier leurs systèmes Exadata. Jetez également un œil aux offres de Netezza ou Teradata. Avec ce volume de sélections, vous voudrez peut-être examiner un frontal basé sur OLAP ou au moins une utilisation assez agressive des vues matérialisées et de la réécriture des requêtes. Vous n'obtiendrez pas 500 balayages de table / sec de quoi que ce soit.
Pour les choses avec des exigences de latence moins strictes, vous voudrez peut-être envisager un plus grand nombre de data marts pour fournir la capacité de génération de rapports à votre communauté d'utilisateurs. Dans ce cas, SQL Server et SSAS peuvent être une option pour les data marts car les licences sur un plus grand nombre de serveurs seront moins chères que d'essayer de faire de même avec Oracle.
Voir (1). Le matériel conventionnel sur une architecture de disque partagé est susceptible d'être lent sur cet ensemble de données de taille.
NON! Si quelqu'un suggère à NFS de lui donner un bon coup de pied. Soit un stockage à connexion directe ou un SAN à plusieurs contrôleurs avec de nombreux contrôleurs de milieu de gamme. Pensez en termes de peut-être une douzaine de contrôleurs de la série MD3000 ou quelque chose de similaire - si vous ne choisissez pas une plate-forme de «Big Data» spécialement conçue.
Obtenez un spécialiste du stockage avec une expérience des plates-formes d'entrepôt de données de la gamme PB. Vous êtes probablement prêt pour un travail de développement ETL important et beaucoup de travail de test si vous devez respecter un SLA rigide.
Le 24x7 sur un entrepôt de données est ambitieux dans le meilleur des cas. S'agit-il d'une plateforme de reporting opérationnel? Peut-être pourriez-vous élaborer un peu sur vos besoins.
Sphincter-puckeringly cher, et dépend de vos exigences de performance. La dernière fois que j'ai vu (il y a quelques années) Netezza citait 20 000 $ / To pour les systèmes TwinFin, ce qui rend votre plate-forme 2 millions de dollars pour 100 To plus le coût de votre serveur redondant et de votre matériel de sauvegarde. Exadata est, je crois, un peu moins cher, mais je n'ai pas de prix à portée de main.
Jetez un œil à Netezza, Exadata et une plate-forme Teradata pour comparaison, et les coûts pour Ab Initio en tant qu'outil ETL.
Il s'agit d'un ensemble d'exigences assez agressif - 24 heures sur 24, 7 jours sur 7, dans un entrepôt de données, ce qui n'est généralement pas fait et les volumes de données sont suffisamment importants pour vous placer dans le domaine d'une plate-forme de «Big Data». Si vous avez une exigence de rapport opérationnel, vous devez examiner attentivement ce que c'est. Gardez-le séparé de vos analyses, sauf si vous avez une raison spécifique (par exemple, un flux de données de marché à faible latence) de ne pas le faire. Mélanger les exigences opérationnelles et analytiques sur la même plate-forme est un mauvais mojo.
Je pense que vous avez vraiment besoin de faire appel à des spécialistes pour évaluer vos besoins. Sans regarder de plus près ce que vous essayez de réaliser, tout ce que je peux vous donner, c'est quelques suggestions empiriques sur ce qu'il faut faire ou ne pas faire.
la source
Voici d'autres options à considérer lorsque vous traitez des volumes de données massifs comme celui-ci:
Ne prévoyez pas de lésiner sur les coûts de matériel n'importe où. Un système avec ce genre de spécifications va vous coûter cher.
la source