Skill-Profil

Database Sharding

Horizontal and vertical sharding, shard key selection, consistent hashing, cross-shard queries, resharding strategies

Database Management Database Optimization

Rollen

9

wo dieser Skill vorkommt

Stufen

5

strukturierter Entwicklungspfad

Pflichtanforderungen

25

die anderen 20 optional

Domäne

Database Management

skills.group

Database Optimization

Zuletzt aktualisiert

17.3.2026

Verwendung

Wählen Sie Ihr aktuelles Level und vergleichen Sie die Erwartungen.

Was wird auf jedem Level erwartet

Die Tabelle zeigt, wie die Tiefe von Junior bis Principal wächst.

Rolle Pflicht Beschreibung
Backend Developer (C#/.NET) Understands sharding in .NET: knows how to configure multiple DbContext for different database connections, understands Elastic Database Tools for Azure SQL. Can work with applications where data is distributed across multiple databases.
Backend Developer (Elixir) Understands sharding in Elixir: knows how Ecto supports multiple repos, understands that BEAM distribution can replace database sharding for some use cases. Can work with multi-repo Ecto configuration.
Backend Developer (Go) Understands the fundamentals of Database Sharding. Applies basic practices in daily work. Follows recommendations from the team and documentation.
Backend Developer (Java/Kotlin) Understands sharding in Java context: knows how DataSource routing works in Spring, distinguishes logical and physical sharding. Can work with applications on ShardingSphere or custom routing without deep internals understanding.
Backend Developer (Node.js) Understands sharding concept in Node.js: knows how to connect to multiple DBs via different connection strings, understands shard key routing principle. Can work with applications using sharded MongoDB (native sharding).
Backend Developer (PHP) Understands sharding in PHP context: knows why data needs to be split across multiple DB servers, can connect to different databases in Laravel/Symfony. Understands the main limitations of sharding for PHP applications.
Backend Developer (Python) Understands database sharding concept: knows why horizontal data partitioning is needed, difference between vertical and horizontal sharding. Can work with applications using sharded databases, executing queries against specific shards.
Backend Developer (Rust) Understands sharding in the Rust context: knows how to manage multiple database connections through sqlx or diesel, understands shard key selection principles. Can work with Rust applications using multiple database pools.
Backend Developer (Scala) Understands sharding in Scala ecosystem: knows how Akka Cluster Sharding works for in-memory data, distinguishes database sharding and actor sharding. Can work with Slick/Quill with multiple database configurations.
Rolle Pflicht Beschreibung
Backend Developer (C#/.NET) Pflicht Works with sharded databases in .NET: uses Elastic Database Client Library for Azure SQL sharding, implements tenant-based routing via IDbContextFactory, configures EF Core with dynamic connection strings. Applies Unit of Work pattern for shard-aware transactions.
Backend Developer (Elixir) Pflicht Works with sharding in Elixir: implements dynamic Ecto.Repo selection through custom middleware, applies consistent hashing through :erlang.phash2 for shard routing, configures per-shard connection pooling through DBConnection. Handles cross-shard queries through Task.async_stream.
Backend Developer (Go) Pflicht Works with sharded databases in Go: implements shard-aware repository layer with connection pooling per shard, applies consistent hashing for data distribution, handles cross-shard queries via scatter-gather pattern. Uses context for shard info propagation.
Backend Developer (Java/Kotlin) Pflicht Works with sharding in Java: implements AbstractRoutingDataSource for multi-database routing, uses ShardingSphere for transparent sharding, configures HikariCP connection pools per shard. Applies thread-local context for shard selection in Spring transactions.
Backend Developer (Node.js) Pflicht Works with sharded databases in Node.js: implements application-level sharding with Knex/Prisma via dynamic connection selection, configures MongoDB sharding with shard key selection, applies connection pooling per shard. Handles cross-shard queries via Promise.all scatter-gather.
Backend Developer (PHP) Pflicht Works with sharding in PHP: implements multi-tenant database routing in Laravel via database resolver, configures Doctrine DBAL with multiple connections, applies shard selection middleware. Uses ProxySQL for transparent routing at DB level.
Backend Developer (Python) Pflicht Works with sharded databases in Python: uses Django database routers for multi-database routing, implements shard selection logic based on tenant_id or user_id. Understands sharding trade-offs: cross-shard queries, join limitations, data distribution skew.
Backend Developer (Rust) Pflicht Implements sharding in Rust: creates shard-aware connection pool manager, implements consistent hashing with jump hash or rendezvous hashing, handles cross-shard queries through async scatter-gather with tokio. Uses Rust type system for compile-time shard routing safety.
Backend Developer (Scala) Pflicht Works with sharding in Scala: implements database routing through custom Slick DatabaseProvider, uses Akka Cluster Sharding for distributed entity management. Applies functional programming patterns (Reader monad) for shard-aware data access.
Rolle Pflicht Beschreibung
Backend Developer (C#/.NET) Pflicht Designs sharding for .NET microservices: implements custom shard router with consistent hashing, configures cross-shard queries via Elastic Query (Azure SQL) or custom scatter-gather, designs resharding with zero-downtime. Optimizes connection pooling for hundreds of shards.
Backend Developer (Elixir) Pflicht Designs sharding for Elixir systems: implements custom Ecto adapter for transparent sharding, designs resharding with GenServer-based coordinator, uses BEAM distribution as "shards" for stateful data in ETS/Mnesia. Optimizes connection management through database proxy (PgBouncer).
Backend Developer (Go) Pflicht Designs sharding for Go microservices: develops sharding middleware with pluggable shard key strategies, implements online resharding with dual-write pattern, configures Vitess integration for Go applications. Optimizes connection management for 100+ shards via pgbouncer/ProxySQL.
Backend Developer (Java/Kotlin) Pflicht Designs sharding for Java microservices: configures ShardingSphere with custom sharding algorithms, implements distributed transactions via XA or eventual consistency patterns, designs global tables for reference data. Optimizes cross-shard pagination and sorting.
Backend Developer (Node.js) Pflicht Designs sharding for Node.js services: implements custom sharding proxy via Node.js streams, configures PostgreSQL sharding via Citus extension, designs resharding pipelines with Node.js worker threads. Optimizes connection management for high shard count with pgBouncer.
Backend Developer (PHP) Pflicht Designs sharding strategy for PHP systems: implements consistent hashing for shard distribution, designs resharding with zero-downtime via dual-write pattern, configures Vitess for transparent MySQL sharding. Solves cross-shard reporting problems via materialized views or ETL.
Backend Developer (Python) Pflicht Designs sharding strategy for Python systems: selects shard key considering access patterns and data distribution, implements consistent hashing for balancing, designs cross-shard query aggregation. Configures Vitess or ProxySQL for transparent PostgreSQL/MySQL sharding.
Backend Developer (Rust) Pflicht Designs high-performance sharding in Rust: implements custom sharding proxy with zero-copy routing, optimizes connection management through connection pooling with async traits, designs online resharding through dual-write with async verification. Benchmarks shard router performance.
Backend Developer (Scala) Pflicht Designs sharding for Scala microservices: integrates Akka Cluster Sharding with persistent storage, implements cross-shard queries through Akka Streams, configures Cassandra data modeling with partition key design for natural sharding. Optimizes data locality for co-located processing.
Rolle Pflicht Beschreibung
Backend Developer (C#/.NET) Pflicht Standardizes sharding in .NET ecosystem: creates NuGet packages for standard sharding setup, designs migration tooling for per-shard schema management, implements health monitoring and auto-rebalancing. Determines when Cosmos DB partitioning vs SQL sharding.
Backend Developer (Elixir) Defines data architecture for the Elixir platform: standardizes sharding approaches through Hex packages, designs hybrid architecture (BEAM distribution for hot data + PostgreSQL sharding for cold data). Defines monitoring and auto-rebalancing strategy for shards.
Backend Developer (Go) Pflicht Defines sharding strategy for the Go platform: standardizes sharding patterns via internal library, designs monitoring for shard balance and hotspot detection, develops automated resharding pipelines. Defines data placement strategy considering latency and availability.
Backend Developer (Java/Kotlin) Pflicht Standardizes sharding in Java ecosystem: chooses between ShardingSphere, Vitess, and application-level sharding, designs online resharding pipelines with Spring Batch, implements shard health monitoring and alerting. Creates internal frameworks for standardizing sharding patterns.
Backend Developer (Node.js) Pflicht Defines sharding strategy for Node.js platform: standardizes sharding patterns via npm packages, designs monitoring and alerting for shard health, develops automated testing for sharded scenarios. Defines data placement strategy considering Node.js event loop model.
Backend Developer (PHP) Standardizes sharding in the PHP ecosystem: creates Composer packages for standard sharding setup, designs migration tools for per-shard schema management, implements monitoring for shard health and balance. Defines resharding strategy for growing PHP projects.
Backend Developer (Python) Pflicht Defines sharding strategy at platform level: designs resharding procedures with zero-downtime, implements shard health and data distribution monitoring, standardizes cross-shard consistency approaches. Determines when sharding is necessary vs other scaling approaches.
Backend Developer (Rust) Pflicht Defines sharding strategy for Rust platform: creates internal sharding crate with pluggable strategies and monitoring, designs distributed transaction coordination through 2PC or saga. Standardizes testing for sharded scenarios through TestContainers and property-based tests.
Backend Developer (Scala) Pflicht Standardizes sharding in Scala ecosystem: defines when to use Akka Cluster Sharding vs database-native sharding, designs data placement strategy for distributed Scala systems. Creates abstractions for transparent sharding with type-safe shard key definitions.
Rolle Pflicht Beschreibung
Backend Developer (C#/.NET) Shapes enterprise data sharding strategy for .NET: designs multi-cloud sharding (Azure SQL + Cosmos DB + on-premise), defines data sovereignty requirements. Influences choice between custom sharding, managed sharding (Azure Elastic) and globally distributed databases (Cosmos DB, CockroachDB).
Backend Developer (Elixir) Shapes data strategy for large-scale Elixir systems: designs multi-layer data architecture with BEAM clustering + database sharding + object storage, defines consistency guarantees for different data tiers. Influences Elixir database ecosystem and distributed state management approaches.
Backend Developer (Go) Shapes data architecture with sharding for large-scale Go systems: designs multi-tenant sharding with per-tenant isolation levels, defines architecture for petabyte-scale data. Influences strategy choice: custom sharding vs managed solutions (Vitess, CockroachDB, Spanner).
Backend Developer (Java/Kotlin) Shapes enterprise data sharding strategy: designs multi-tier sharding (application sharding + database sharding), defines architecture for global-scale Java systems with sharding. Influences choice between ShardingSphere, Vitess, CockroachDB and Google Spanner for different use cases.
Backend Developer (Node.js) Shapes data architecture for large-scale Node.js systems: determines when application-level sharding vs database-native sharding (Citus, Vitess, MongoDB), designs multi-region data placement. Influences architectural decisions on data layer choice for petabyte-scale Node.js applications.
Backend Developer (PHP) Shapes data architecture for large-scale PHP systems: determines when to shard vs migrate to distributed database, designs hybrid architecture (sharded MySQL + Redis cluster + Elasticsearch). Influences long-term data storage strategy considering PHP limitations.
Backend Developer (Python) Shapes data architecture strategy with sharding: designs multi-region sharding with geo-routing, defines approaches for data locality and compliance (GDPR). Influences choice between application-level sharding, database-native sharding (Citus, Vitess), and NewSQL (CockroachDB, TiDB).
Backend Developer (Rust) Shapes Rust data layer architecture for extreme-scale systems: designs custom distributed database layer with sharding, defines trade-offs between consistency and performance for different shard topologies. Influences open-source Rust database ecosystem through contributions to foundationdb-rs, tikv and similar projects.
Backend Developer (Scala) Shapes data architecture for distributed Scala systems: designs multi-layer sharding (Akka Cluster + database + geographic), defines consistency model for cross-shard operations. Influences architectural decisions on adopting distributed databases (Cassandra, CockroachDB) vs custom sharding in Scala.

Community

👁 Beobachten ✏️ Aenderung vorschlagen Anmelden, um Aenderungen vorzuschlagen
📋 Vorschlaege
Noch keine Vorschlaege fuer Database Sharding
Kommentare werden geladen...