Vigilante é um banco de dados de série temporal escalável e de código aberto projetado para sistemas de monitoramento e alerta em grande escala. Ele foi criado pelo Facebook para atender à necessidade de um banco de dados de série temporal de alto desempenho e tolerante a falhas que pudesse lidar com as enormes quantidades de dados de monitoramento gerados por sua infraestrutura.
Watchman usa uma arquitetura escalável baseada em uma abordagem de sistemas distribuídos, que permite lidar com um grande número de pontos de dados recebidos com alta disponibilidade. Ele também possui um mecanismo de consulta eficiente que otimiza o desempenho para análise de dados de séries temporais, tornando-o adequado para monitoramento em tempo real e análise de dados históricos.
Os principais recursos do Watchman incluem:
-
Escalabilidade: O Watchman foi projetado para ser dimensionado horizontalmente para lidar com grandes volumes de dados de séries temporais. Ele usa uma arquitetura distribuída com vários servidores que podem ser adicionados ou removidos conforme necessário para aumentar ou diminuir a capacidade.
-
Alta disponibilidade: Watchman fornece alta disponibilidade replicando dados em vários servidores. Em caso de falha do servidor, os dados podem ser acessados facilmente de outro servidor, sem qualquer perda de dados.
-
Mecanismo de consulta rápida: O mecanismo de consulta do Watchman é otimizado para recuperação e agregação rápida de dados de séries temporais. Ele oferece suporte a várias opções de consulta, como filtragem de intervalo de tempo, agregações (por exemplo, média, soma) e correspondência de padrões.
-
Ingestão flexível de dados: O Watchman pode ingerir dados de diversas fontes, incluindo arquivos, logs e dispositivos IoT. Ele suporta diferentes formatos de dados, como JSON, CSV e formatos binários personalizados.
-
Arquitetura multilocatário: Watchman oferece suporte a vários locatários, permitindo que diferentes equipes ou organizações armazenem e gerenciem seus próprios dados de série temporal de forma independente.
-
Alertas e notificações: Watchman fornece recursos para definir alertas e notificações com base em padrões ou limites de dados específicos. Pode ser integrado com vários sistemas de mensagens ou serviços externos para envio de notificações.
-
Código aberto: Watchman é um projeto de código aberto, o que significa que está disponível gratuitamente para uso e modificação. Ele é escrito em C++ e possui uma arquitetura modular, permitindo aos desenvolvedores estendê-lo e personalizá-lo para atender aos seus requisitos específicos.
Watchman é amplamente utilizado por grandes empresas, incluindo Facebook, Netflix e Airbnb, para monitorar e analisar seus sistemas de produção. É uma ferramenta poderosa para gerenciar e extrair insights de grandes quantidades de dados de séries temporais, tornando-se um ativo valioso para organizações que buscam melhorar seus recursos de monitoramento e alertas.