2009-05-11 9 views
0

J'ai un défi intéressant de construire une base de données qui importe des données d'environ 500 sources différentes.Question de modèle de conception de base de données relationnelle - base de données Massive Read Only

Chaque source a son propre schéma, et beaucoup sont très différents. Cependant, ils sont tous des données sur une entité commune. Ma première pensée est un schéma entité/attribut/valeur typique, mais après avoir converti l'import dénormalisé d'une source (550k lignes) en AEV, je me retrouve avec 36 millions de lignes dans la table Attribute_Value. Avec des index corrects, cela reste très rapide, mais ce n'est qu'une source d'importation sur 500 dans la mesure où elle est encore disponible. Je ne pense pas que cela évoluera, mais cela crée un très bon partitionnement logique, nous n'avons pas besoin de rejoindre les sources d'importation, donc nous pourrions construire (théoriquement) une cinquantaine de bases de données séparées. Je cherche des personnes qui ont travaillé avec des sources de données massives, et leur expérience avec la façon de gérer les choses lorsque le nombre de lignes est de plusieurs centaines de millions.

Répondre

2

Avez-vous considéré les solutions OLAP? Ils sont probablement conçus pour des situations comme la vôtre. Quantité massive de données à lire et analyser.

+1

Yup, c'est ce qu'ils sont pour. Et il y a beaucoup d'outils et un corps de sagesse grand et croissant. – dkretz

2

Je milliards + tables de ligne, le nombre de lignes est pas aussi critique que le niveau de fragmentation et la largeur de la table elle-même, la plus large de la table moins vous pouvez tenir sur une page

à côté OLAP/SSAS Avez-vous regardé l'utilisation de fonctions partitionnées (nouveau dans sql server 2005)

Vous pouvez également tirer parti de la compression au niveau de la page et de la ligne (nouveau dans sql server 2008) cela vous aidera à stocker plus de données dans la RAM, j'ai fait mon propre test avec compression, consultez ce lien pour voir comment il comparé à aucune compression A Quick Look At Compression In SQL 2008

Questions connexes