Sobre el proyecto
GreptimeDB es una base de datos de observabilidad de código abierto que almacena métricas, registros y trazas en un único motor columnar sobre almacenamiento de objetos. Los tres tipos de señales comparten un modelo de tabla — etiquetas, marca de tiempo y campos — de modo que cuando las señales llevan identificadores comunes como servicio, host o ID de traza, pueden correlacionarse con uniones SQL en lugar de mover datos entre sistemas separados.
Las rutas de ingesta incluyen OpenTelemetry (OTLP), Prometheus Remote Write, Loki Push, Elasticsearch Bulk, protocolo de línea InfluxDB y gRPC. Las opciones de consulta incluyen SQL, PromQL, consultas de trazas compatibles con Jaeger, además de protocolos de cable MySQL y PostgreSQL. Los backends de almacenamiento de objetos como S3, GCS, Azure Blob y endpoints compatibles con S3 sirven como almacenamiento principal, con cachés en memoria y disco local que mantienen datos recientes o consultados con frecuencia cerca del cómputo. Las capacidades integradas cubren políticas de retención, reducción de muestreo, agregación continua (motor Flow), particionado explícito de tablas e índices invertidos, de omisión y de texto completo.
El despliegue viene en dos modos. Standalone es un único binario para desarrollo y despliegues pequeños. Distribuido se divide en componentes escalables de forma independiente: Frontend (entrada de protocolo y motor de consulta distribuido, sin estado), Datanode (motor de región con WAL, memtable, SST, caché, compactación e índices, que persiste en almacenamiento de objetos), Metasrv (metadatos, enrutamiento, reparticionado y seguridad, respaldado por etcd o RDS), y un Flownode opcional para cálculo de flujo continuo.
El README documenta la compatibilidad por protocolo: la ingesta de Prometheus Remote Write y las consultas PromQL son compatibles con algunas lagunas de PromQL; la ingesta de Loki Push funciona, mientras que LogQL y el resto de la API de consulta de Loki no son compatibles; la ingesta de Elasticsearch `_bulk` está en el núcleo de código abierto, con QueryDSL parcialmente disponible en la edición Enterprise. El proyecto se describe a sí mismo como open-core: despliegue en clúster, almacenamiento de objetos, motor Flow y todos los protocolos de ingesta listados están en la compilación Apache-2.0, mientras que réplicas de lectura, aislamiento de carga de trabajo, reparticionado automatizado y seguridad/gobernanza empresarial son características Enterprise. El reparticionado, la migración de regiones y la creación de índices son manuales en la compilación de código abierto.
Se proporciona un inicio rápido mediante Docker, exponiendo puertos HTTP (4000), gRPC (4001), MySQL (4002) y PostgreSQL (4003), con un panel web en el puerto HTTP. Compilar desde el código fuente requiere una cadena de herramientas Rust nocturna fijada, un compilador Protobuf y elementos esenciales de compilación C/C++; los comandos comunes incluyen make, make fmt, make clippy, make test y make sqlness-test. Las herramientas complementarias incluyen un operador de Kubernetes, gráficos Helm, un panel, ingestores gRPC para Go, Java, C++, Erlang, Rust, .NET y TypeScript, y un plugin de fuente de datos de Grafana.
El README también enumera informes de referencia (Agent RCA Bench, JSONBench, TSBS) y un estudio de caso de producción, y señala que el proyecto está generalmente disponible con API estables y lanzamientos regulares. El núcleo tiene licencia Apache-2.0, con un pequeño conjunto de características solo empresariales bajo una licencia separada.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.