Quale sarebbe il database adatto per seguire? Sono particolarmente interessato alle tue esperienze con i sistemi non relazionali NoSQL. Sono utili per questo tipo di utilizzo, quale sistema è stato utilizzato e consigliato, oppure devo andare con il normale database relazionale (DB2)?Quali sono le buone soluzioni di database NoSQL e non relazionali per il database di controllo/registrazione
Ho bisogno di raccogliere informazioni di tipo audit trail/logging da un gruppo di fonti a un server centralizzato in cui posso generare report in modo efficiente ed esaminare cosa sta accadendo nel sistema.
Tipicamente un evento di controllo/registrazione consisterebbe sempre di alcuni campi obbligatori, per esempio
id- globalmente unico (alcuni come generato dal programma che ha generato l'evento)
- timestamp
- tipo di evento (cioè utente connesso, errore è accaduto ecc)
- alcune informazioni sulla fonte (server1, server2)
Inoltre, l'evento potrebbe contenere coppie di valori-chiave 0-N, dove il valore potrebbe essere fino a pochi kilobyte di testo.
- Essa deve essere eseguito su server Linux
- dovrebbe funzionare con elevata quantità di dati (100 GB per esempio)
- dovrebbe sostenere una sorta di efficace ricerca a testo integrale
- Si dovrebbe consentire la lettura simultanea e scrittura
- Dovrebbe essere flessibile per aggiungere nuovi tipi di eventi e aggiungere/rimuovere coppie chiave-valore a nuovi eventi. Flessibile = nessuna modifica deve essere richiesta allo schema del database, l'applicazione che genera gli eventi può semplicemente aggiungere nuovi tipi di eventi/nuovi campi secondo necessità.
- dovrebbe essere efficiente per eseguire query sul database. Per riferire ed esplorare cosa è successo. Ad esempio:
- Quanti eventi con tipo = X si sono verificati in un determinato periodo di tempo.
- ottenere tutti gli eventi in cui il campo A contiene valore Y.
- Ottenere tutti gli eventi di tipo X e campo Una ha valore 1 e il campo B non è 2 e evento verificatosi nell'ultima 24h
Intendevi MongoDB? –
MongoDB è fantastico per il logging: http://blog.mongodb.org/post/172254834/mongodb-is-fantastic-for-logging – kristina