19 repository-uri
Algorithms for calculating unique value counts in large datasets.
Distinguishing note: Focuses on performance-oriented unique counting.
Explore 19 awesome GitHub repositories matching data & databases · Cardinality Estimation. Refine with filters or upvote what's useful.
Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It functions as a structured data library that organizes information into typed columns, utilizing the Apache Arrow memory format to enable zero-copy data sharing and cache-friendly, vectorized operations. The engine is built to handle large-scale tabular datasets, providing both local and distributed analytical runtimes that scale from single-machine environments to multi-node clusters. The project distinguishes itself through a sophisticated lazy query engine that constructs abstract e
Calculates unique value counts using efficient estimation algorithms for large datasets.
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
Protects downstream storage by limiting unique tag combinations on incoming metric events.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Approximates the number of unique values in a dataset using probabilistic algorithms.
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
Enforces per-node limits on the number of unique time series to prevent resource exhaustion and system instability.
ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments. The project distinguishes itself through advanced networking and execution capabilities, such as automatic event-loop pipelining to reduce overhead and a system for routing read-write traffic between primary and replica nodes. It also features a dedicated Lua scripting interface that allows server-side scripts to be registered as custom client comma
Calculates approximate unique element counts in large sets using the HyperLogLog algorithm.
Citus is a PostgreSQL extension that transforms a standard database into a distributed system. It functions as a sharding framework and distributed SQL engine, enabling horizontal scaling by partitioning tables across a cluster of nodes. By utilizing a coordinator-worker topology, the system manages metadata and routes queries to the appropriate nodes, allowing for parallel execution of complex operations across distributed data shards. The platform distinguishes itself through its specialized support for multi-tenant architectures and real-time analytical processing. It enables tenant-based
Distributed database systems calculate approximate distinct values using probabilistic data structures to minimize memory usage and network traffic during large-scale analytical operations.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Implements high-efficiency algorithms for calculating unique item counts in sets with low memory overhead.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Uses HyperLogLog to provide probabilistic estimates of unique element counts in large sets.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Implements the HyperLogLog algorithm to approximate the number of unique elements in a large data set.
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
Distributes data across shards and uses a flat storage format to maintain performance with millions of unique series.
Cortex is an open-source, horizontally scalable metrics platform that ingests, stores, and queries Prometheus-compatible time-series data with multi-tenant isolation. It accepts metrics via Prometheus remote write and OpenTelemetry, executes PromQL queries against both recent and historical data, and provides a Prometheus-compatible alerting and recording rule engine with an integrated Alertmanager. The system is built as a set of independently scalable microservices that use hash-ring-based sharding, gossip-based cluster membership, and tenant-aware object storage to distribute workloads acro
Applies per-tenant limits on query time range, concurrency, and timeout to prevent overload.
OpenTSDB este o bază de date distribuită de serii temporale și un motor de metrici conceput pentru stocarea și gestionarea unor volume masive de metrici de sistem cu cardinalitate ridicată. Acesta funcționează ca un depozit de date și o platformă de analiză care permite ingestia de metrici la scară largă și monitorizarea performanței infrastructurii într-un cluster distribuit. Sistemul se distinge printr-o abstractizare a stocării distribuite care suportă mai multe backend-uri, cum ar fi HBase, Cassandra și Google Bigtable. Utilizează un arbore ierarhic de metrici pentru a organiza seriile temporale și folosește indexarea cu identificatori numerici pentru a reduce amprenta de stocare și a accelera căutările pentru metricile etichetate. Proiectul acoperă domenii largi de capabilități, inclusiv analiza datelor de serii temporale cu calcule distribuite de percentile și downsampling, precum și gestionarea cuprinzătoare a metadatelor. Oferă integrare API pentru ingestia și interogarea datelor, caching off-heap pentru optimizarea performanței și instrumente pentru auditarea integrității datelor și analiza anomaliilor. Sistemul este gestionat printr-o interfață linie de comandă pentru administrarea bazei de date și sincronizarea arborelui de metrici.
Stores the spatial aggregate of multiple time series into a single series to accelerate queries on high-cardinality data.
m3 is a distributed time series database designed for high-resolution metrics and high-cardinality data management. It functions as a scalable storage system and a multi-cluster query engine, providing a distributed metrics aggregator capable of downsampling and summarizing data before it is committed to storage. The project distinguishes itself through a coordinated cluster model using etcd for node membership and shard placement. It supports multiple ingestion protocols, including the Prometheus remote write protocol, InfluxDB line protocol, and Graphite Carbon plaintext protocol, and provi
Manages large-scale datasets with high cardinality using distributed sharding and efficient indexing.
Micrometer este o bibliotecă de metrici dimensionale și o fațadă pentru metricile aplicației care oferă o interfață neutră față de furnizor pentru înregistrarea datelor de performanță. Decuplează instrumentarea aplicației de backend-urile specifice de observabilitate, permițând înregistrarea de contoare, gauge-uri și timere folosind tag-uri cheie-valoare pentru o analiză granulară. Proiectul dispune de un sistem de adaptoare de backend care transformă și direcționează datele instrumentate către diverse instrumente de monitorizare externe. Aceasta include normalizarea numelor pentru a asigura portabilitatea între diferite sisteme de monitorizare și capacitatea de a mapa datele dimensionale în formate ierarhice pentru backend-urile care nu suportă tag-uri. Biblioteca include capabilități cuprinzătoare pentru gestionarea registrului, definiții ale tipurilor de metrici și controlul cardinalității pentru a proteja memoria aplicației de combinații excesive de tag-uri unice. De asemenea, oferă instrumentare preconfigurată pentru internele sistemului JVM, inclusiv garbage collection, utilizarea procesorului și thread pool-uri.
Protects application memory by limiting the number of unique tag combinations registered for any single metric.
Kvrocks este o bază de date NoSQL bazată pe disc și un magazin distribuit de tip cheie-valoare care utilizează motorul de stocare RocksDB pentru a persista seturi mari de date pe disc fizic. Este concepută ca o bază de date compatibilă cu Redis, utilizând protocolul standard de comunicare Redis pentru a asigura interoperabilitatea cu bibliotecile și instrumentele client existente. Proiectul se distinge prin combinarea unui model de stocare persistentă pe disc cu capabilități avansate de regăsire, inclusiv căutare vectorială pentru interogări k-nearest neighbor, indexare pentru căutare full-text și execuția interogărilor geospațiale. Suportă clustering distribuit cu distribuția datelor bazată pe sloturi și gestionarea topologiei pentru a permite scalarea orizontală și disponibilitatea ridicată. Sistemul acoperă o gamă largă de tipuri de stocare a datelor, inclusiv documente JSON, stream-uri, seturi sortate, hash map-uri și bitmap-uri. Oferă instrumente cuprinzătoare de gestionare a datelor, cum ar fi tranzacții atomice, replicare bazată pe log-uri și structuri de date probabilistice pentru estimarea cardinalității și verificarea apartenenței. În plus, include scripting pe partea de server, mesagerie pub/sub și monitorizare detaliată pentru sănătatea serverului și performanța motorului de stocare.
Approximates the total count of distinct elements in massive datasets using memory-efficient probabilistic algorithms.
Kvrocks este un magazin distribuit de tip cheie-valoare și o bază de date NoSQL compatibilă cu Redis. Utilizează un motor de stocare RocksDB pentru a oferi persistență pe disc, permițând stocarea datelor de mare capacitate cu costuri de memorie reduse comparativ cu sistemele in-memory. Sistemul funcționează ca o bază de date vectorială și un motor de căutare full-text, suportând căutări de tip nearest-neighbor pe embedding-uri vectoriale și interogări complexe de documente prin potrivirea textului. Utilizează o arhitectură de cluster fără proxy, cu rutare bazată pe sloturi, pentru a distribui datele și a scala capacitatea pe mai multe noduri. Platforma acoperă o gamă largă de capabilități de gestionare a datelor, inclusiv gestionarea documentelor JSON, date de tip time-series și procesarea fluxurilor în timp real. Oferă căutare și indexare avansată prin interogări geospațiale, indexare secundară și analiza planurilor de interogare, oferind în același timp tehnici de sketching probabilistic pentru estimarea eficientă a cardinalității și a apartenenței. Funcționalitățile operaționale suplimentare includ tranzacții atomice, mesagerie pub/sub și izolarea datelor pe namespace-uri pentru medii multi-tenant.
Employs probabilistic counting algorithms to estimate the number of unique elements in large sets.
DeepFlow este o platformă de observabilitate eBPF care oferă o suită pentru profilare continuă, trasare distribuită, maparea dependențelor serviciilor și stocarea unificată a telemetriei. Funcționează ca un sistem de monitorizare care colectează metrici, urme (traces) și profiluri fără a necesita instrumentarea manuală a aplicației sau modificări ale codului sursă. Platforma se distinge prin utilizarea parsării pachetelor conștiente de protocol pentru a reconstrui lanțurile de cereri și maparea automată a dependențelor serviciilor pentru a vizualiza interacțiunile dintre aplicații și infrastructură. Utilizează un depozit de date de telemetrie conceput pentru optimizarea semnalelor cu cardinalitate ridicată, permițând utilizatorilor să interogheze date unificate prin interfețe SQL și PromQL. Sistemul acoperă o gamă largă de domenii de observabilitate, inclusiv profilarea performanței aplicațiilor cu flame graphs on-CPU și off-CPU, colectarea performanței rețelei și monitorizarea infrastructurii cloud. Integrează colectarea telemetriei la nivel de kernel pentru a aduna metrici de sistem și metadate la nivel de aplicație între servicii și thread-uri.
Applies encoding techniques to high-cardinality metric metadata to maintain query performance and reduce storage costs.
Search-Replace-DB este un utilitar MySQL de căutare și înlocuire, conceput pentru actualizarea șirurilor de caractere din baze de date și pentru migrarea site-urilor bazate pe PHP și a sistemelor de gestionare a conținutului. Acesta funcționează ca un instrument de migrare a bazelor de date pentru a actualiza referințele și motoarele tabelelor atunci când site-urile sunt mutate pe servere sau domenii noi. Proiectul gestionează în mod specific actualizarea textului din interiorul tablourilor și obiectelor PHP serializate, recalculând lungimile pentru a menține integritatea structurii datelor și a preveni coruperea acestora. Include, de asemenea, un convertor pentru modificarea motoarelor de stocare și a seturilor de caractere (collations) pentru mai multe tabele MySQL. Capabilitățile suplimentare includ potrivirea modelelor prin expresii regulate, simulări de tip „dry-run” pentru a previzualiza modificările în așteptare și posibilitatea de a limita operațiunile la tabele sau coloane specifice. Instrumentul suportă, de asemenea, conexiuni criptate la baza de date folosind certificate SSL.
Allows limiting search and replace operations to specific tables or columns to reduce execution risk.
AWS Powertools for Python is a utility framework designed for building production-ready Python functions on AWS Lambda. It provides a comprehensive suite of tools for observability, event parsing, routing, and idempotency management to streamline the development of serverless applications. The project distinguishes itself through specialized capabilities for event-driven architectures and AI agent orchestration. It enables the implementation of AI agents by exposing functions as tools via OpenAPI schemas and managing conversation states. Additionally, it features an idempotency library that p
Includes contextual search data in metric logs that remains searchable without affecting aggregation.