Sobre o projeto

GreptimeDB é um banco de dados observacional open-source que armazena métricas, logs e traces em um único motor colunar sobre armazenamento de objetos. Todos os três tipos de sinais compartilham um modelo de tabela — tags, timestamp e campos — de modo que, quando os sinais carregam identificadores comuns, como serviço, host ou ID de trace, eles podem ser correlacionados com junções SQL em vez de mover dados entre sistemas separados. Os caminhos de ingestão incluem OpenTelemetry (OTLP), Prometheus Remote Write, Loki Push, Elasticsearch Bulk, protocolo de linha InfluxDB e gRPC. As opções de consulta incluem SQL, PromQL, consultas de trace compatíveis com Jaeger, além dos protocolos de fio MySQL e PostgreSQL. Backends de armazenamento de objetos, como S3, GCS, Azure Blob e endpoints compatíveis com S3, servem como armazenamento primário, com caches em memória e disco local mantendo dados recentes ou frequentemente consultados próximos à computação. Os recursos integrados cobrem políticas de retenção, redução de amostragem, agregação contínua (motor Flow), particionamento explícito de tabelas e índices invertidos, de salto e de texto completo. A implantação vem em dois modos. Standalone é um único binário para desenvolvimento e implantações pequenas. Distribuído divide-se em componentes escaláveis independentemente: Frontend (entrada de protocolo e motor de consulta distribuído, sem estado), Datanode (motor de região com WAL, memtable, SST, cache, compactação e índices, persistindo no armazenamento de objetos), Metasrv (metadados, roteamento, reparticionamento e segurança, apoiado por etcd ou RDS) e um Flownode opcional para computação de fluxo contínuo. O README documenta compatibilidade por protocolo: a ingestão Prometheus Remote Write e as consultas PromQL são suportadas com algumas lacunas no PromQL; a ingestão Loki Push funciona, enquanto LogQL e o restante da API de consulta Loki não são compatíveis; a ingestão Elasticsearch `_bulk` está no núcleo open-source, com QueryDSL parcialmente disponível na edição Enterprise. O projeto se descreve como open-core: implantação de cluster, armazenamento de objetos, motor Flow e todos os protocolos de ingestão listados estão no build Apache-2.0, enquanto réplicas de leitura, isolamento de carga de trabalho, reparticionamento automatizado e segurança/governança empresarial são recursos Enterprise. Reparticionamento, migração de região e criação de índices são manuais no build open-source. Um início rápido é fornecido via Docker, expondo portas HTTP (4000), gRPC (4001), MySQL (4002) e PostgreSQL (4003), com um painel web na porta HTTP. Compilar a partir do código-fonte requer uma toolchain Rust nightly fixada, um compilador Protobuf e utilitários de build C/C++; comandos comuns incluem make, make fmt, make clippy, make test e make sqlness-test. Ferramentas complementares incluem um operador Kubernetes, gráficos Helm, um painel, ingesters gRPC para Go, Java, C++, Erlang, Rust, .NET e TypeScript, e um plugin de fonte de dados Grafana. O README também lista relatórios de benchmark (Agent RCA Bench, JSONBench, TSBS) e um estudo de caso de produção, e observa que o projeto está geralmente disponível com APIs estáveis e lançamentos regulares. O núcleo é licenciado sob Apache-2.0, com um pequeno conjunto de recursos exclusivos da empresa sob uma licença separada.