awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
m3db avatar

m3db/m3

0
View on GitHub↗
4,895 estrellas·463 forks·Go·Apache-2.0·7 vistasm3db.io↗

M3

m3 es una base de datos de series temporales distribuida, diseñada para métricas de alta resolución y gestión de datos de alta cardinalidad. Funciona como un sistema de almacenamiento escalable y un motor de consultas multiclúster, proporcionando un agregador de métricas distribuido capaz de realizar downsampling y resumir datos antes de que se confirmen en el almacenamiento.

El proyecto se distingue por un modelo de clúster coordinado que utiliza etcd para la pertenencia a nodos y la colocación de shards. Soporta múltiples protocolos de ingesta, incluyendo el protocolo de escritura remota de Prometheus, el protocolo de línea de InfluxDB y el protocolo de texto plano de Graphite Carbon, y proporciona interfaces de consulta compatibles para PromQL y Graphite.

El sistema cubre amplias áreas de capacidad, incluyendo almacenamiento de series temporales en columnas, replicación de datos síncrona y distribución de consultas (fan-out) distribuida. Incorpora automatización del ciclo de vida de los datos, ajuste de consistencia basado en quórum e indexación de series basada en etiquetas para mantener la integridad de los datos y la velocidad de recuperación en espacios de nombres aislados.

La orquestación del clúster y la colocación de componentes se gestionan mediante herramientas y operadores automatizados para garantizar la alta disponibilidad y una distribución equilibrada de los datos.

Features

  • Time Series Data Storage - Provides a scalable storage solution optimized for maintaining historical records of numerical performance data over time.
  • Time Series Metric Aggregators - Functions as a distributed streaming engine that downsamples and summarizes high-cardinality time series data.
  • Time Series Databases - Provides a scalable distributed database specialized for storing and querying high-resolution time-stamped metric data.
  • High-Cardinality Data Handlers - Manages large-scale datasets with high cardinality using distributed sharding and efficient indexing.
  • Distributed Data Replication - Synchronizes and replicates data across cluster nodes using configurable consistency levels for fault tolerance.
  • Time-Series Block Storage - Organizes time series data into immutable, time-bounded columnar blocks to improve compression and memory locality.
  • Automatic Time Partitioning - Distributes metrics across multiple nodes by automatically partitioning data into time-based chunks and namespaces.
  • Data Retention & Cleanup - Automatically deletes old storage files once they fall outside a configurable namespace retention period.
  • Persistence & Durability - Implements commit logs and periodic block flushing to ensure data remains intact and accessible after system failures.
  • Data Sharding - Distributes time-series data into virtual shards mapped to cluster nodes for horizontal scaling.
  • Query Fan-out - Splits global requests into parallel queries across distributed data sources and clusters.
  • Time Series - Fans out requests across multiple clusters and namespaces to provide a complete view of time-series data.
  • Distributed Sharding Architectures - Maps time series keys to virtual shards that are distributed across physical nodes for horizontal scaling.
  • High-Precision Time Series Storage - Supports high-resolution time series storage with timestamp precision down to the nanosecond.
  • Streaming Aggregators - VictoriaMetrics reduces the volume of stored metrics by lowering cardinality or resolution through streaming aggregation.
  • Environment Isolation - Creates isolated data environments with specific retention periods, replication factors, and shard placements.
  • Multi-Tiered Data Retrieval - Fetches requested data ranges by consolidating results from memory buffers, caches, and disk files.
  • Single-Leader Replication - Uses a leader-follower replication model where a leader handles data flushing for each shardset.
  • Metric Query Languages - Supports multiple specialized query languages to retrieve both real-time and historical metrics.
  • PromQL-Compatible Engines - Provides a query execution engine that fully supports PromQL for retrieving stored time series data.
  • Metric Aggregation & Downsampling - Performs stateful downsampling and aggregation of incoming metrics to reduce cardinality and disk usage.
  • Time Series Querying - Retrieves metrics over specified time ranges using standardized, high-performance query engines.
  • Tuned Storage Namespaces - Organizes data into independently tuned namespaces with custom schemas to support diverse workloads.
  • Virtual Shard Mapping - Maps time series keys to virtual shards to enable horizontal scaling across physical nodes.
  • Etcd Coordination - Uses a consistent etcd key-value store to manage node membership, configuration, and shard placement.
  • Persistence Leader Election - Elects a leader node for each shardset to handle data flushing with standby followers for continuity.
  • Database High Availability - Coordinates database nodes using shard replication and rack awareness to ensure continuous service availability.
  • Storage Partition Operations - Manages logical groupings of time series data to control storage and access.
  • Metric Ingestion Protocols - Ingests metrics via JSON and binary protocols, associating values with timestamps and tags.
  • Cluster State Coordinators - Coordinates distributed node membership and cluster configuration using a consistent key-value store.
  • Node Bootstrapping - Fetches and synchronizes data blocks from peer nodes for a specific time range to initialize a node.
  • Namespace-Based Isolation - Isolates time series into independent namespaces with unique tuning and schema configurations.
  • Database Traffic Routing - Routes read and write requests across a distributed set of storage nodes while managing cluster topology.
  • Distributed Coordination Systems - Manages node membership, shard placement, and data replication using a coordinated distributed system.
  • Hash-Based Data Distribution - Distributes time series data across multiple cluster nodes using hash-based sharding of the series IDs.
  • Cross-Cluster Querying - Unifies data from multiple independent clusters and namespaces into a single logical view for analytics.
  • Metric Data Ingestion - Implements high-throughput ingestion of time series data using JSON and remote write formats.
  • Prometheus-Compatible Backends - Acts as a long-term storage backend that accepts and persists metrics via the Prometheus remote write protocol.
  • Metric Namespace Organization - Provides capabilities to create and modify namespaces for organized consolidation of metrics.
  • Prometheus Remote Write Endpoints - Acts as a remote read and write endpoint to bridge Prometheus data streams with a distributed backend.
  • Prometheus Remote Write Ingestion - Acts as a remote storage backend that receives and persists Prometheus remote-write samples.
  • Remote Write Ingestion - Accepts time series data pushed from remote write clients to store metrics without intermediary systems.
  • Metadata-Based Data Recovery - VictoriaMetrics fetches time series blocks from peers by comparing metadata and streaming data from suitable replicas.
  • Consistency Tuning - Allows tuning of read and write success based on the number of node acknowledgments.
  • Read Quorum Configuration - Specifies the number of nodes that must respond to a query to ensure data accuracy.
  • Persistence Flushing - Provides a mechanism to output aggregated metrics to long-term storage for persistence.
  • Time-Series Compression - Implements specialized compression algorithms and hybrid encoding to reduce the memory and disk footprint of time series.
  • Automated Rollups - Implements automated rollups using mapping rules to reduce the resolution of incoming metrics.
  • Resolution Alignment - Aligns and converts time series data from multiple storage resolutions into a common time bound.
  • Automated Lifecycle Policies - Automates background tasks including memory buffer flushing and cleanup of expired data via lifecycle policies.
  • Remote Write Protocols - Supports exporting time series data to external backends using standardized remote write protocols.
  • Write Quorum Configuration - Determines the minimum number of node acknowledgments required to consider a data write successful.
  • Query Result Transformations - Processes query results using mathematical and logical functions to transform, filter, and summarize data.
  • Data Integrity Verifications - Uses checksum digests and checkpoint files to verify that persisted data volumes are uncorrupted.
  • Graphite Compatible Stores - Supports the Carbon plaintext protocol and Graphite query API for compatibility with legacy visualization tools.
  • Dynamic Cluster Membership Management - Manages the addition and removal of nodes and redistributes shards to rebalance data and maintain availability.
  • In-Memory Block Caches - Accelerates read performance by retaining frequently accessed data blocks in memory with configurable eviction policies.
  • Stateful Stream Processing - Performs stateful, stream-based aggregation of metrics before storage to reduce data resolution.
  • Snapshot-Based Compactions - Reclaims disk space and improves startup times by transforming raw commit logs into compressed snapshot files.
  • Metric Data Summarizations - Summarizes high-resolution time series data before committing to storage nodes to reduce overall data volume.
  • Out-of-Order Ingestion Handling - Accepts data points that arrive out of chronological sequence within a configured time window.
  • Quorum-Based Consistency - Uses quorum-based consistency levels to maintain data integrity across distributed replicas.
  • Aggregator Workload Distribution - Controls the distribution of aggregation tasks across the cluster to optimize resource utilization.
  • Time-Series Aggregations - Configures time-series aggregations with specific resolution durations across namespaces.
  • Time Series Indexing - Optimizes series retrieval using bloom filters and summary indexes to quickly locate time-series data.
  • Time Series Transformations - Provides mathematical and statistical functions to calculate rates, percentiles, and derivatives for time-series data analysis.
  • Metric Identifier Management - Implements management of unique numeric identifiers for high-cardinality metrics and tags.
  • Write-Ahead Logging - Records data mutations to an uncompressed write-ahead log to ensure durability before permanent commitment.
  • Cluster Configuration Management - Provides administrative interfaces to set up and configure distributed platform components.
  • Distributed Cluster Management - Configures the distribution of data across the cluster to ensure balanced storage and high availability.
  • Flush Availability Replication - Uses leader and follower replication to ensure data flushing continues if a primary node fails.
  • Operator-Managed Deployments - Uses Kubernetes operators and custom resource definitions to automate node placement and operational tasks.
  • Cluster Component Placement - Handles the distribution and administrative placement of database nodes and aggregation components.
  • Write Durability Trade-offs - Balances data loss risk against write latency by choosing between physical disk writes or queue enqueues.
  • Data Workflow Coordination - Coordinates the movement of metrics between ingestion sources and storage engines to decouple producers from the database.
  • Ingestion Decoupling Architectures - Decouples ingestion by routing read and write requests between upstream sources and downstream storage.
  • Concurrent Request Limits - Limits the number of simultaneous query requests to protect system resources and maintain cluster stability.
  • Sharded Cluster Deployment - Orchestrates the deployment of nodes across isolated groups to manage replicas and shards.
  • External Dashboard Integrations - Provides a compatible API that allows third-party graphing and alerting tools to visualize stored metrics.
  • Visualization Data Integration - Acts as a data source for external visualization tools by supporting industry-standard query protocols.
  • Graphite Metric Ingestors - Provides endpoints for accepting metrics formatted via the Graphite Carbon plaintext protocol.
  • Graphite Metric Querying - Retrieves time series data using Graphite query functions via HTTP endpoints and compatible tools.
  • Graphite Query Execution - Executes Graphite query functions against stored time series data to retrieve specific metrics.
  • Graphite Query Interfaces - Provides an HTTP interface for retrieving time-series data compatible with Graphite-source visualization tools.
  • InfluxDB Metric Ingestors - Provides dedicated API endpoints for accepting and processing metrics formatted with the InfluxDB line protocol.
  • Ingestion-Side Aggregation - Processes and downsamples metrics from remote write sources before storing them in the backend.
  • Database Systems - Distributed time-series database and metrics platform.
  • Notable Public Monorepos - Example of a large-scale monorepo.

Historial de estrellas

Gráfico del historial de estrellas de m3db/m3Gráfico del historial de estrellas de m3db/m3

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a M3

Proyectos open-source similares, clasificados según cuántas características comparten con M3.
  • victoriametrics/victoriametricsAvatar de VictoriaMetrics

    VictoriaMetrics/VictoriaMetrics

    16,343Ver en GitHub↗

    VictoriaMetrics is a high-performance, scalable time series database and observability platform designed for long-term storage and analysis of metric, log, and trace data. It functions as a unified backend for monitoring ecosystems, offering full compatibility with industry-standard protocols and query languages. The system is built to handle massive data volumes through a distributed architecture that supports horizontal scaling and efficient data lifecycle management. The platform distinguishes itself through a storage engine that utilizes consistent hashing for data sharding and log-struct

    Godatabasegrafanagraphite
    Ver en GitHub↗16,343
  • opentsdb/opentsdbAvatar de OpenTSDB

    OpenTSDB/opentsdb

    5,068Ver en GitHub↗

    OpenTSDB is a distributed time series database and metrics engine designed for storing and managing massive volumes of high-cardinality system metrics. It functions as a data store and analytics platform that enables large-scale metric ingestion and infrastructure performance monitoring across a distributed cluster. The system distinguishes itself through a distributed storage abstraction that supports multiple backends such as HBase, Cassandra, and Google Bigtable. It utilizes a hierarchical metric tree to organize time series and employs numeric identifier indexing to reduce storage footpri

    Java
    Ver en GitHub↗5,068
  • greptimeteam/greptimedbAvatar de GreptimeTeam

    GreptimeTeam/greptimedb

    5,968Ver en GitHub↗

    GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries metrics, logs, and traces together in a single columnar engine, supporting both SQL and PromQL for analysis. The database is designed as a Kubernetes-native operator with a decoupled compute and storage architecture, enabling horizontal scaling and multi-region deployment. What distinguishes GreptimeDB is its role as a multi-protocol ingestion gateway, accepting data through OpenTelemetry, Prometheus Remote Write, InfluxDB, Loki, Elasticsearch, Kafka, and MQTT protocols without

    Rustanalyticscloud-nativedatabase
    Ver en GitHub↗5,968
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Ver en GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Ver en GitHub↗78,987
Ver las 30 alternativas a M3→

Preguntas frecuentes

¿Qué hace m3db/m3?

m3 es una base de datos de series temporales distribuida, diseñada para métricas de alta resolución y gestión de datos de alta cardinalidad. Funciona como un sistema de almacenamiento escalable y un motor de consultas multiclúster, proporcionando un agregador de métricas distribuido capaz de realizar downsampling y resumir datos antes de que se confirmen en el almacenamiento.

¿Cuáles son las características principales de m3db/m3?

Las características principales de m3db/m3 son: Time Series Data Storage, Time Series Metric Aggregators, Time Series Databases, High-Cardinality Data Handlers, Distributed Data Replication, Time-Series Block Storage, Automatic Time Partitioning, Data Retention & Cleanup.

¿Qué alternativas de código abierto existen para m3db/m3?

Las alternativas de código abierto para m3db/m3 incluyen: victoriametrics/victoriametrics — VictoriaMetrics is a high-performance, scalable time series database and observability platform designed for long-term… opentsdb/opentsdb — OpenTSDB is a distributed time series database and metrics engine designed for storing and managing massive volumes of… greptimeteam/greptimedb — GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… ravendb/ravendb — RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It… graphite-project/graphite-web — Graphite-web is a time-series monitoring platform that stores numeric metric data in fixed-size Whisper database…