Domanda

Stiamo cercando di identificare le posizioni di alcune informazioni memorizzate in tutta la nostra impresa, al fine di renderlo conforme con le nostre politiche sui dati. Sul lato di file, stiamo usando Nessus per la ricerca in diversi file, ma mi chiedo circa alla fine del database.

Utilizzando Nessus sembrerebbe in gran parte inutile perché sarebbe uscita i dati grezzi e non ci avrebbe detto cosa tavolo o riga era in, o darci molte informazioni utili, soprattutto se si considera questi database sono abbastanza grandi (centinaia di gigabyte).

Vale anche la pena notare, questo sistema deve essere in grado di fare il pattern matching-based (come l'utilizzo di espressioni regolari). Non solo una "ricerca muto" del motore.

Ho studiato l'uso di Data Mining e Data Warehousing al fine di trovare questi dati, ma sembra come se fossero di più per l'analisi dei dati che in realtà solo trovare i dati.

Esiste un metodo migliore di ricerca attraverso grandi quantità di dati in un database per cercare di trovare queste informazioni? Stiamo utilizzando sia Oracle 11g e SQL Server 2008 ed è necessario eseguire le ricerche su entrambi, quindi mi piacerebbe stare lontano da paradigmi specifici del server (anche se devo riscrivere il codice per tradurre da T-SQL per PL / SQL, e viceversa, non mi dispiace)

È stato utile?

Soluzione

In SQL Server per la ricerca attraverso grandi quantità di testo, si può guardare in ricerca full-text.

Per saperne di più qui http://msdn.microsoft.com/en- us / library / ms142559.aspx

Ma se sto leggendo a destra, si vuole ragno il database in un modo simile a come una ricerca sul web spider dei motori di siti web e pagine web.

Si potrebbe utilizzare una serie di query full text che riportano i risultati che abbracciano più tabelle.

Altri suggerimenti

Oracle supporta espressioni regolari con la funzione REGEXP_LIKE () e dovrebbe essere abbastanza semplice per automatizzare la generazione del codice necessario sulla base Metadate sistema (per trovare tutte le colonne di testo più di una certa lunghezza, per esempio, e includerli in un predicato againt quel tavolo per trovare le righe ed i valori che corrispondono alla vostra regexp). Non sembra troppo impegnativo davvero. In teoria potreste controllare vincolare le colonne per evitare l'inserimento di valori che corrispondono a un'espressione regolare, ma che potrebbe essere eccessivo.

Oracle Text è adatto per la ricerca di parole / frasi in larg (ish) parti di testo (ad esempio PDF, HTMLs, TXT o DOC) detenute nel database. V'è una certa confusione ricerca limitata, ma non le espressioni regolari per sé.

Non hai veramente andare in che tipo di dati che si sta cercando o quello che avete nelle vostre basi di dati. Nessus indica siete alla ricerca di problemi di sicurezza, ma il titolo di "correlazione dei dati", suggerisce qualcosa di completamente diverso.

In realtà le strutture di dati dovrebbero fornire le informazioni su cosa cercare e dove. Questo è ciò che i database sono circa - la strutturazione dei dati per l'accessibilità. Un database sostenendo un CMS, software del forum o simili sarebbe un altro paio di maniche.

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