Question

Je suis coincé dans un monde MSSQL / MySql maintenant quelques années, et j'ai décidé de répandre mes ailes un peu plus loin. En ce moment je fais des recherches qui SGBD est bonne choses nécessaires lors de l'archivage des données. Par exemple. beaucoup d'écriture et bas lit.

Je l'ai vu la croisade NoSQL, mais j'ai un SGBDR très état d'esprit, donc je suis un peu sceptique.

Quelqu'un a des suggestions? Ou même des pointeurs vers où il y a des points de repère etc pour ce genre de choses.

Merci :) Thomas


modifier

Comme il y avait une question, je vais essayer de donner un peu plus d'informations sur ce que je pense

Je vais lancer un service sur plusieurs serveurs, qui ont tous leur base de données locale. Ces bases de données auront une énorme quantité de hits (1/1 lecture / écriture), donc je suis en train de les garder aussi vide que possible pour garder requête temps d'arrêt. Mon estimation initiale est que la ligne ne siégera dans cette base de données pendant plus de 30 minutes. Exécution d'une db archive sur chacun de ces services, semble comme un gaspillage de ressources, donc une architecture d'archives central semble mieux.

Je vais essayer de ascii une architecture de réseau rapide

     ___________    ___________    ___________
    | service 1 |  | service 2 |  | service 3 |
     -----------    -----------    -----------
          |____________|_______________|
                   ____|____
                  | Archive |
                   ---------

Comme vous le savez peut-être, MSSQL et MySQL redimensionnée qu'à la verticale lorsque le traitement de l'écriture (ne sais pas si c'est une chose SGBDR). Je cherche donc à obtenir les meilleures performances du SGBD que possible archives.

Était-ce utile?

La solution

Si la structure des données que vous archivez est vous pouvez relativement simple envisager d'archiver directement les fichiers plats. Bon pour l'écriture, pas si bon pour la lecture. Il y a une discussion sur ce sujet dans cette question: des bases de données de fichiers plats tout bon

Sinon, je bâton avec MySql et assurez-vous qu'il est correctement réglé pour haute écriture / utilisation de faible lecture.

Autres conseils

donc je suis en train de les garder aussi vide que possible pour garder la requête vers le bas temps

Tout d'abord, la vitesse ne sont pas directement Query est proportionnelle à la taille de la base de données, à moins que vous faites que des scans de table. Un index unique est recherche proportionnelle à la profondeur de l'indice. A partir du moment un indice bloc racine se divise pour la prochaine fois, il divise pourrait être des millions de lignes supplémentaires. En fait la suppression de lignes pour maintenir la base de données « aussi vide que possible » ne peut pas réellement faire la base de données plus petite. Jusqu'à ce que vous reconstruisez l'index, vous pourriez avoir branche très clairsemée et des blocs de feuilles Numérisation d'index de fabrication prennent plus de temps et plus.

Je ne sais pas comment remplir MSSQL ou MYSQL pages partiellement vides, mais vous ne pouvez pas voir les économies d'espace tout de suppressions.

Dans Oracle, je vous suggère de partitionnement et des gouttes sur les suppressions pour garder en fait une base de données d'une certaine taille.

Mais je l'ai dit tout ce que vous encourager à déployer vos ailes dans une base de données en utilisant une Dans de mémoire pour votre utilisation du serveur, au lieu de se concentrer sur votre utilisation des archives. Dans ce cas, vous avez dit rien qui me fait penser à un SGBDR n'est pas la meilleure solution pour l'archivage.

Oracle ou PostgreSQL sont également SGBD très puissants. Mais si vous connaissez déjà et utilisé MySQL, pourquoi changer? MySQL est gratuit, performant, bien documenté ...

Mais si vous avez la plupart des opérations d'écriture et pas beaucoup de lectures, et vous ne voulez plus des SGBD couramment utilisés, alors vous pouvez envisager un SGBD document basé sur

Je vous recommande de jeter un oeil à eXist db et DB Mongo

Hope this helps!

Vous pouvez voir le résultat de performances de lecture / écriture de base de données diferent avec cette (GNU GPL) Logiciel de référence de base de données qui convient de trouver des réponses.

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