bases de données NoSQL - bons candidats pour le traitement des journaux / agrégation et Rollup? [fermé]

StackOverflow https://stackoverflow.com/questions/4746606

  •  13-10-2019
  •  | 
  •  

Question

J'ai une base de données MS SQL qui est utilisé pour la capture des statistiques de bande passante. Nous avons une table de données brutes et pour améliorer la vitesse des rapports à différents niveaux vers le bas forage et les données que nous regroupons enroulables sur une base horaire, quotidienne et hebdomadaire à des tables séparées.

Would une base de données NoSQL tels que Mongo ou Raven être un bon candidat pour ce type d'application?

Était-ce utile?

La solution

Les différentes solutions NoSQL résoudre différents problèmes pour différents usages - donc d'abord la meilleure chose à faire est de regarder votre problème et de le décomposer

  • Vous écrivez très pour le stockage, donc la vitesse d'écriture est important pour vous
  • Vous souhaitez effectuer des opérations d'agrégation sur ces données et ont les résultats de cette interrogeable facilement
  • Vitesse de lecture n'est pas important du son des choses, du moins pas dans une « application web doit être vraiment réactif pour des millions de personnes » sorte de façon
  • Je ne sais pas si vous avez besoin des requêtes dynamiques ou non

Regardons au canapé, et Raven dans Mongo un très haut niveau, de manière généralisée

Raven

  • Ecriture rapide
  • Les requêtes rapides (éventuellement cohérentes, précalculée, agrégation via map / reduce)
  • dynamique requêtes possibles, mais pas vraiment adapté à votre cas d'utilisation, comme vous allez le plus susceptible d'être l'interrogation par date etc

Mongo

  • aveuglante rapide écrit (à mon avis, parce que le pouvoir dangereusement aller de perte de données, des moyens -))
  • lit lent (relativement), l'agrégation via map / reduce, non précalculée
  • Les requêtes dynamiques sont juste what_you_do, mais vous avez probablement de définir des index sur vos colonnes si vous voulez une sorte de performances sur ce type de données

Couch

  • Ecriture rapide
  • lit rapide ish (précalculée, mais mis à jour que lorsque vous lisez (IIRC)
  • dynamique des requêtes pas possible, tous les pré-définies par carte ou map / reduce fonctions

Donc, en gros - avez-vous besoin de requêtes dynamiques sur ce type de données? La vitesse de lecture incroyablement important pour vous? Si vous avez besoin des requêtes dynamiques, vous aurez envie Raven ou Mongo (Pour ce genre de chose Couch est probablement pas ce que vous cherchez quand même).

FWIW, seul cas d'utilisation de Mongo à mon avis pour l'exploitation forestière, de sorte que vous pourriez avoir un anwer là.

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