17 dépôts
Design patterns that isolate state within threads to eliminate synchronization bottlenecks.
Distinguishing note: Focuses on state isolation to prevent lock contention.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Shared-Nothing Architectures. Refine with filters or upvote what's useful.
This project is a command-line HTTP load testing tool designed to measure the throughput and latency of web servers under high-concurrency conditions. It functions as a multi-threaded benchmarking engine that simulates thousands of simultaneous connections to evaluate server performance, identify bottlenecks, and determine capacity limits. The tool distinguishes itself through a shared-nothing thread architecture that isolates state within individual threads to eliminate lock contention during high-frequency request generation. It utilizes a non-blocking event loop and low-latency socket poll
Isolates state within individual threads to eliminate lock contention and synchronization bottlenecks.
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
Executes tasks independently on worker nodes by exchanging intermediate data through a high-performance network shuffle mechanism.
FoundationDB is an ACID-compliant distributed transactional key-value store. It functions as a scalable database engine that ensures strict serializability and data consistency across a cluster of servers using a shared-nothing architecture. The system is distinguished by its multi-region replication capabilities, allowing data to be synchronized across different datacenters for high availability and disaster recovery. It utilizes optimistic concurrency control to manage distributed transactions and employs a majority-based coordination system to maintain cluster state. The platform provides
Expands storage and throughput by adding commodity servers to a shared-nothing architecture.
Ceph is a unified, software-defined storage platform designed to provide object, block, and file storage services from a single distributed cluster. By decoupling data management from physical hardware, it enables elastic scaling across commodity hardware, allowing organizations to build large-scale storage infrastructure without reliance on proprietary vendor equipment. The system distinguishes itself through a shared-nothing, distributed architecture that utilizes deterministic hashing for data placement. This approach eliminates centralized metadata bottlenecks, allowing the cluster to sca
Operates as a collection of independent nodes that manage their own resources to maximize throughput and eliminate single points of failure.
Scylla is a distributed wide column NoSQL database designed as a high-performance data store. It functions as a Cassandra compatible database and a DynamoDB compatible store, implementing a shared-nothing architecture built on an asynchronous event-driven framework. The system emulates cloud-based APIs to support applications built for proprietary cloud protocols and implements the Cassandra Query Language for high-throughput workloads. This allows for the migration of cloud workloads to self-hosted environments while maintaining API compatibility. The project covers distributed data storage
Implements a shared-nothing architecture to isolate state and eliminate lock contention between CPU cores.
Doris is a distributed SQL data warehouse designed for high-performance analytical workloads and real-time data processing. It functions as a unified platform that integrates traditional relational warehousing with lakehouse query capabilities, allowing users to execute analytical operations directly against external data lakes without requiring data migration. The system distinguishes itself through a shared-nothing, massively parallel processing architecture that utilizes vectorized query execution and columnar storage to maintain sub-second latency. It supports dynamic schema evolution, en
Maintains independent node states to eliminate central bottlenecks and ensure linear scalability.
ScyllaDB is a distributed NoSQL database engine designed for high-throughput data storage and low-latency performance at scale. It functions as a shard-aware platform that manages large-scale datasets across distributed clusters, providing a foundation for real-time applications that require consistent availability and operational stability. The system distinguishes itself through a shared-nothing architecture that distributes data across independent CPU cores to eliminate lock contention. It incorporates a user-space networking stack and an asynchronous event-driven engine to maximize hardwa
Distributes data across independent CPU cores to eliminate lock contention and maximize hardware utilization for high-throughput operations.
Apache Druid is a real-time analytics database and distributed columnar time-series store designed for sub-second analytical queries. It functions as a data platform featuring a distributed SQL query engine and a real-time data ingestion system for moving historical and streaming data from external sources. The system is distinguished by its ability to provide low-latency analytics under high concurrency to power operational dashboards. It implements a Kerberos-secured environment for user authentication and employs a shared-nothing cluster architecture to enable horizontal scaling. The plat
Employs a shared-nothing processing model to execute tasks independently on worker nodes, enabling horizontal scaling.
Nebula is a distributed graph database designed for storing and querying massive volumes of interconnected vertices and edges across a horizontally scalable cluster. It functions as a Kubernetes-native database and a distributed graph analytics engine, utilizing a Raft-based distributed store to ensure strong consistency and high availability. The system features an OpenCypher query engine for performing complex graph traversals and pattern matching. It distinguishes itself with a decoupled compute-storage architecture and a shared-nothing distributed design, allowing query processing and dat
Employs a shared-nothing architecture to distribute data and processing across independent nodes.
StarRocks is a distributed SQL OLAP database engine designed for real-time analytics and high-performance multi-dimensional analysis. It functions as a data lakehouse query engine that enables SQL execution across large datasets and external open table formats without requiring local data imports. The system employs a shared-nothing distributed architecture and utilizes the MySQL protocol to integrate with business intelligence tools. It maintains real-time data consistency through a primary key upsert model and accelerates query response times using vectorized execution and cost-based optimi
Employs a shared-nothing distributed processing model where each node manages its own local storage and memory.
Databend is a cloud-native data warehouse and OLAP database designed for large-scale analytics. It functions as a SQL-compliant engine and serverless analytics platform that separates compute from storage to allow for independent scaling. The system integrates vector database capabilities, indexing high-dimensional embeddings to enable semantic, hybrid, and full-text searches across massive datasets. It further distinguishes itself through serverless compute management that automatically scales resources based on demand and shuts them down during idle periods. The platform covers a broad set
Distributes query processing across independent worker nodes to ensure high performance and availability.
Seastar is a C++ server application framework and asynchronous programming library designed for building high-performance, shared-nothing server applications. It functions as a high-performance I/O engine providing direct disk and network access through a shared-nothing framework that partitions data and execution across CPU cores. The framework distinguishes itself through a thread-per-core architecture that eliminates locking and resource contention by assigning one execution thread to each physical CPU core. It implements a userspace TCP/IP stack and kernel-bypass techniques, integrating w
Utilizes a shared-nothing architecture to distribute data and workloads across cores, eliminating lock contention.
Ce projet est une ressource éducative axée sur l'analyse de l'architecture Nginx et le développement de modules. Il fournit une approche structurée pour étudier comment le serveur gère le trafic et comment personnaliser le comportement principal du serveur. Le matériel couvre la programmation système en langage C dans le but de créer des extensions de serveur personnalisées. Il guide le processus d'écriture et d'intégration de nouveaux modules dans le code source du serveur pour implémenter une logique réseau spécialisée ou des protocoles personnalisés. Le programme examine les composants internes du serveur, y compris les pools de mémoire, les chaînes de traitement des requêtes et le système d'extension basé sur des modules. Il détaille l'architecture interne et l'utilisation de structures de données de bas niveau pour gérer le trafic réseau.
Implements a shared-nothing architecture to distribute load across independent worker processes without lock contention.
AliSQL is a fork of MySQL by Alibaba that extends the relational database management system with enhancements for high performance, scalability, and enterprise-grade availability. It retains the core MySQL identity as a SQL-based database for storing, organizing, and retrieving structured data, while adding optimizations for large-scale transactional and analytical workloads. The project differentiates itself through a set of Alibaba-specific improvements, including a columnar engine for accelerating analytical queries directly on MySQL tables, and a distributed, shared-nothing NDB Cluster en
Distributes data and processing across independent nodes for horizontal scaling without contention.
Sozu est un reverse proxy et load balancer haute performance, sécurisé en mémoire, construit en Rust. Il est conçu pour gérer le trafic HTTP, TCP et UDP via une architecture multi-processus qui tire parti de processus workers isolés pour garantir la tolérance aux pannes et une utilisation efficace des ressources sur du matériel multi-cœur. Le projet se distingue par une focalisation sur la disponibilité continue et le contrôle dynamique. Il dispose d'un mécanisme unique de hot-reloading binaire et d'un plan de contrôle basé sur des sockets Unix, permettant aux administrateurs de mettre à jour les configurations de proxy, de modifier les paramètres des listeners et même de remplacer le binaire du proxy sans interrompre les connexions clients actives ou le service. Cette conception garantit que l'infrastructure reste réactive et sécurisée pendant les mises à jour et les ajustements au runtime. Au-delà de ses capacités de routage de base, le proxy fournit une suite complète d'outils pour la sécurité à la périphérie (edge security) et la gestion du trafic. Il gère la terminaison TLS, applique des politiques de contrôle d'accès et atténue les attaques par inondation basées sur le protocole, en particulier pour le trafic HTTP/2. Le système inclut également des fonctionnalités d'observabilité étendues, offrant une surveillance des performances en temps réel, la propagation de traces distribuées et une journalisation d'audit structurée pour tous les changements de configuration et événements système.
Maintains proxy state within individual worker processes to eliminate lock contention and improve performance.
Nano is a distributed application framework designed for building systems using an actor-based messaging model. It functions as a distributed actor framework that decouples components through asynchronous messaging to maintain state isolation across a server cluster. The system acts as a cluster message dispatcher and session-aware request router, tracking client state to route incoming messages to the specific agent holding the session data. It utilizes a distributed agent registry to coordinate the dispatching of messages between multiple application instances acting as agents. The framewo
Employs a shared-nothing architecture where each cluster node manages its own memory and communicates via network messages.
Mayastor is a software-defined, cloud-native block storage solution designed to provide high-performance, persistent storage for stateful applications within container orchestration environments. It functions as a distributed storage control plane that decouples application data from physical hardware, enabling dynamic provisioning and management of block volumes across clustered nodes. The platform distinguishes itself by utilizing a user-space storage driver architecture that bypasses kernel overhead to maximize hardware performance. It leverages the NVMe-over-Fabrics protocol to deliver lo
Decouples storage resources from physical hardware to allow independent scaling and migration of volumes across a distributed cluster.