La base de données de choix pour les gros volume de données?
Je suis sur le point de commencer un nouveau projet, qui devrait disposer d'une assez grande base de données.
Le nombre de tables ne seront pas large (<15), la majorité des données (99%) est contenue dans une grande table, ce qui est presque insérer/en lecture seule (pas de mises à jour).
L'estimation de la quantité de données dans une table va croître à 500.000 dossiers un jour, et nous devons nous tenir au moins 1 an d'entre eux pour être en mesure de faire différents rapports.
Il doit y avoir (en lecture seule) répliqué base de données de sauvegarde/de basculement, et peut-être pour le déchargement des rapports dans les heures de pointe.
Je n'ai pas l'expérience de première main avec de grandes bases de données, donc je demande à ceux qui ont de la DB qui est le meilleur choix dans cette situation. Je sais que Oracle est la valeur sûre, mais je suis plus intéressé si quelqu'un a une expérience avec Postgresql ou Mysql similaires l'installation.
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé PostgreSQL dans un environnement où nous assistons à 100K-2M de nouvelles lignes par jour, en plus ajouté à une seule table. Cependant, ces lignes ont tendance à être réduite à des échantillons, puis supprimée dans quelques jours, donc je ne peux pas parler de performance à long terme avec plus de ~100M lignes.
J'ai trouvé que la performance de l'insert est tout à fait raisonnable, surtout si vous utilisez la COPIE en bloc. Les performances de la requête est bien, bien que le choix de l'aménageur rend parfois le puzzle de moi, en particulier lorsqu'faire des Jointures /EXISTE. Notre base de données nécessite assez un entretien régulier (à VIDE/ANALYSER) pour en assurer le bon déroulement. J'ai pu éviter certains de cela plus soigneusement, optimisation de l'autovacuum et d'autres paramètres, et ce n'est pas un problème en soi si vous ne faites pas beaucoup de Suppressions. Dans l'ensemble, il y a des domaines où je pense que c'est plus difficile à configurer et à maintenir ce qu'il devrait être.
Je n'ai pas utilisé Oracle et MySQL uniquement pour les petits jeux de données, donc je ne peux pas comparer les performances. Mais PostgreSQL ne travail amende pour grands ensembles de données.
Avez-vous un exemplaire de "Le Data Warehouse Toolkit"?
La suggestion à faire ce qui suit.
De séparer les faits (mesurables, numérique) les valeurs des dimensions qui se qualifier ou d'organiser ces faits. Une grande table n'est pas vraiment la meilleure idée. C'est un fait de la table qui domine la conception, plus un certain nombre de petites tables de dimension pour permettre de "trancher et couper en dés les faits".
Garder les faits dans de simples fichiers à plat jusqu'à ce que vous voulez faire de type SQL reporting. Ne pas créer et sauvegarder une base de données. Créer et sauvegarder des fichiers; charger une base de données uniquement pour les rapports, vous devez le faire à partir de SQL.
Si possible créer résumé ou extra datamarts pour l'analyse. Dans certains cas, vous pouvez avoir besoin de charger le tout dans une base de données. Si vos fichiers de refléter votre conception de table, toutes les bases de données en bloc chargeur d'outils qui peuvent remplir d'index et de tables SQL à partir des fichiers.
Google BigTable de la base de données et Hadoop sont deux moteurs de base de données qui peut gérer de grandes quantités de données.
La quantité de données (200 m par an) n'est pas vraiment grand et doit aller avec n'importe quel standard de moteur de base de données.
Le cas est encore plus facile si vous n'avez pas besoin de vivre dans leurs rapports. J'avais miroir et preaggregate de données sur un autre serveur dans quotidiennes par exemple lot. Comme S. Lott a suggéré, vous pouvez lire sur l'entreposage de données.
Quelques points intéressants concernant Google BigTable il y a...
Bigtable Vs SGBD
J'ai mis en évidence les Jointures et Pas de prise en charge SQL comme vous l'avez mentionné, vous devez exécuter une série de rapports. Je ne sais pas combien (le cas échéant) de ne pas avoir la abililty à faire que cela va avoir sur vous en cours d'exécution de rapports si vous utilisez ce.
Nous utilisons Firebird pour un vraiment énorme base de données (conservation des données pendant plus de 30 ans maintenant) et il évolue très bien.
Le meilleur, c'est que vous avez propriétés pour configurer, mais contrairement à à savoir Oracle de l'installer et il fonctionne très bien sans la nécessité de commencer la configuration avant de pouvoir l'utiliser.