Pergunta

Estamos tentando identificar os locais de certas informações armazenadas em toda a nossa empresa, a fim de trazê-lo em conformidade com as nossas políticas de dados. No final do arquivo, estamos usando Nessus a busca através de diferentes arquivos, mas eu estou querendo saber sobre na extremidade do banco de dados.

Usando Nessus parece em grande parte inútil, porque seria a saída dos dados brutos e não nos diria qual tabela ou linha que se encontrava, ou dar-nos muita informação útil, especialmente considerando esses bancos de dados são muito grandes (centenas de gigabytes).

Também digno de nota, este sistema tem de ser capaz de fazer a correspondência baseada em padrões (como o uso de expressões regulares). Não apenas um "burro de busca" motor.

Eu tenho investigado o uso de Data Mining e Data Warehousing, a fim de encontrar esses dados, mas parece que eles estão mais para a análise de dados do que realmente apenas encontrar dados.

Existe um método melhor de pesquisar através de grandes quantidades de dados em um banco de dados para tentar encontrar esta informação? Estamos usando o Oracle 11g e SQL Server 2008 e necessidade de realizar as pesquisas em ambos, então eu gostaria de ficar longe de paradigmas específicos do servidor (embora se eu tenho que reescrever alguns códigos para traduzir de T-SQL para PL / SQL, e vice-versa, eu não me importo)

Foi útil?

Solução

No SQL Server para pesquisar através de grandes quantidades de texto, você pode olhar para Busca em texto integral.

Leia mais aqui http://msdn.microsoft.com/en- us / library / ms142559.aspx

Mas se eu estou lendo certo, você quer aranha seu banco de dados de uma forma semelhante à forma como um motor de busca web aranhas web sites e páginas web.

Você pode usar um conjunto de consultas de texto completo que trazem de volta os resultados abrangendo várias tabelas.

Outras dicas

A Oracle oferece suporte a expressão regular com a função RegExp_Like () e ele deve ser bastante simples para automatizar a geração do código que você precisa com base em Metadate sistema (para encontrar todas as colunas de texto ao longo de um determinado período, por exemplo, e incluí-los em um againt predicado que tabela para encontrar as linhas e os valores que correspondem à sua regexp). Não soa muito desafiando realmente. Em teoria, você poderia verificar colunas Restringir para impedir a inserção de valores que correspondam a uma expressão regular, mas que pode ser um exagero.

Oracle Text é adequado para a busca de palavras / frases em larg (ish) pedaços de texto (por exemplo, PDFs, HTMLs, TXT ou DOC), realizada no banco de dados. Há alguma pesquisa imprecisão limitado, mas não expressões regulares per se.

Você realmente não ir para o tipo de dados que você está procurando ou o que você tem em seus bancos de dados. Nessus indica que você está procurando problemas de segurança, mas o título de "correlação de dados" sugere algo completamente diferente.

Realmente as estruturas de dados deve fornecer as informações sobre o que procurar e onde. Isso é o que os bancos de dados são cerca de - estruturação de dados para a acessibilidade. Um banco de dados apoiar um CMS, fórum de software ou similar seria uma chaleira de peixes diferente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top