Domanda

Pensi che l'utilizzo di un database MongoDB JSON per memorizzare i file di log da applicazione è una buona idea e perché?

L'unico vantaggio per me è l'astrazione dello schema, ma penso che sia anche una debolezza, non siamo in grado di garantire l'integrità di un file di log.

È stato utile?

Soluzione

Ovviamente io sono di parte (io lavoro su MongoDB), ma penso che funziona molto bene per i registri.

I motivi:

  • E 'veloce per gli inserti e gli aggiornamenti ... si può fare migliaia al secondo
  • Così come query normali, è possibile eseguire analisi e generare report utilizzando JavaScript. Si potrebbe avere un job cron in esecuzione di notte che fa bella cose MapReduce per il vostro log.
  • È possibile utilizzare collezioni innevate, che sono la raccolta che si comportano come le code, a mantenere solo le ultime N KBS / MB / GB di tronchi

Non sono sicuro di cosa si intende "garantire l'integrità di un file di log" ... vuoi dire siete preoccupati di non sapere quello che i campi del documento che si sta tirando fuori ha? Se è così, penso che lo troverete non è più difficile è trattare con i campi nulli in un database relazionale e molto più flessibile.

Si veda anche: post del blog MongoDB ad accedere su .

Altri suggerimenti

sto usando MongoDB per memorizzare i log da molte applicazioni e che sta funzionando molto bene finora.

Si potrebbe voler dare un'occhiata al diapositive da un presentazione sulla registrazione Application Behavior a MongoDB che ho dato a Mongo SV e all'ultimo MongoDB SF Meetup per più di fondo sul perché penso che sia un bene per la registrazione, così come per informazioni su librerie per Java, Python, Ruby , PHP e C # che supportano la registrazione di MongoDB.

Sono ora il committer principale log4mongo-java, appenders Log4J per MongoDB. Quindi, non è probabilmente troppo sorprendente che questo è quello che sto usando.

Per quanto riguarda il login integrità, suppongo che voi dire la fiducia che non è stato modificato dopo che è stato scritto. Una possibilità che hai, per lo meno con log4mongo-java, per memorizzare gli eventi di registrazione in una banca dati che richiede l'autenticazione. Che limiterebbe in una certa misura il numero di utenti che potrebbero aggiungere, eliminare o aggiornare gli eventi.

Inoltre, è possibile impostare uno schiavo replica che è strettamente bloccato. backup frequenti dello slave sarebbero almeno limitare il tempo durante il quale l'insieme di eventi registrati potrebbe essere modificata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top