Quais são as boas soluções de banco de dados NoSQL e não relacionais para banco de dados de auditoria / registro
Qual seria o banco de dados adequado para seguir? Estou especialmente interessado em suas experiências com não-relacionaisNoSQL sistemas. Eles são bons para esse tipo de uso, qual sistema você usou e recomendaria, ou devo usar o banco de dados relacional normal (DB2)?
Preciso reunir informações do tipo trilha de auditoria / log de várias fontes para um servidor centralizado onde eu possa gerar relatórios com eficiência e examinar o que está acontecendo no sistema.
Normalmente, um evento de auditoria / registro consistirá sempre em alguns campos obrigatórios, por exemplo
ID globalmente exclusivo (alguns gerados pelo programa que gerou este evento)timestamptipo de evento (ou seja, usuário conectado, erro, etc.)algumas informações sobre a origem (servidor1, servidor2)Além disso, o evento pode conter pares de valores-chave 0-N, em que o valor pode ter até alguns kilobytes de texto.
Ele deve ser executado no servidor LinuxEle deve funcionar com grande quantidade de dados (100 GB, por exemplo)deve suportar algum tipo de pesquisa de texto completo eficienteDeve permitir leitura e escrita simultâneasDeve ser flexível adicionar novos tipos de eventos e adicionar / remover pares de valores-chave a novos eventos. Flexível = nenhuma alteração deve ser necessária no esquema do banco de dados, o aplicativo que gera os eventos pode apenas adicionar novos tipos de eventos / novos campos, conforme necessário.deve ser eficiente fazer consultas no banco de dados. Para relatar e explorar o que aconteceu. Por exemplo:Quantos eventos com o tipo = X ocorreram em algum período.Obtenha todos os eventos em que o campo A tem o valor Y.Obter todos os eventos com o tipo X e o campo A possui o valor 1 e o campo B não é 2 e o evento ocorreu nas últimas 24h