thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: #sharding
apache/shardingsphere-elasticjob ★ 8203 3245 APPLICATION

Apache ShardingSphere ElasticJob is a distributed job scheduling framework providing elastic sharding, failover, misfire handling, and lifecycle management. It is a Java library that can be embedded in applications or used via Spring Boot auto-configuration. The system coordinates jobs across multiple nodes using a registry center (ZooKeeper, etcd, Nacos, or in-memory). It supports multiple job types (simple, dataflow, script, HTTP) and provides RESTful admin APIs, event tracing, and error notification. The architecture is modular with clear SPI-based extensibility for job executors, error handlers, tracing listeners, and registry center providers. The codebase is well-engineered with extensive tests, but retains some legacy integration paths (Spring XML namespace) and tight coupling to ZooKeeper in core modules.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
KaHIP/KaHIP ★ 498 107 APPLICATION

KaHIP (Karlsruhe High Quality Partitioning) is a high-performance C++ library and command-line toolkit for graph partitioning, node ordering, and mapping. It implements multilevel partitioning with advanced refinement techniques including Fiduccia-Mattheyses local search, flow-based min-cut refinement, cycle improvements, and tabu search. The library provides a C API for integration into external applications, along with Python bindings and a Java JNI wrapper. The codebase includes both a sequential version and a distributed-memory parallel version (ParHIP) using MPI, enabling partitioning of large graphs on clusters. Core algorithms are well-structured with modular coarsening, initial partitioning, and uncoarsening/refinement phases, supporting multiple matching strategies (GPA, random, label propagation) and quality/speed trade-offs via preconfigured modes (Strong, Eco, Fast, Social). Despite research-grade complexity and some code duplication between serial and parallel variants, the library is actively maintained and widely used in scientific computing and graph analytics.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
MyCATApache/Mycat-Server ★ 9514 3805 APPLICATION

Mycat is an open-source database middleware proxy for MySQL, implementing the MySQL protocol to provide sharding, read/write splitting, global tables, XA transactions, and multi-database backend support (MySQL, PostgreSQL, MongoDB, SequoiaDB). The system routes SQL statements to appropriate backend shards based on configurable partition algorithms, merges result sets, and manages connection pooling, caching, and distributed sequence generation. Architecture is a Java NIO-based server with frontend and backend connection handlers, an SQL parser (Druid extended), a routing engine, and a management interface. The codebase is large (1200+ files) and shows significant engineering investment but suffers from heavy technical debt: mixed Chinese and English comments, many hardcoded values, duplicate boilerplate response classes, deprecated internal APIs, and an aging dependency footprint (Java 8, old Druid version, sun.misc.Unsafe usage). The project appears to be in maintenance mode with limited recent contributions, and the configuration/synchronization via ZooKeeper adds operational complexity.

RATING: 5.4/10 MAINT: stale DRIFT: high
▸ 5 reusable components found
── end of results ──
$ submit: