Aller au contenu
uencoder

Utiliser base de données sharding pour horizontal scaling

Sharding distributes données across multiple databases par un shard clé. Apprendre sharding strategies, cross-shard queries, et trade-offs.

  1. 1

    Sharding splits a large database into smaller shards, each holding a subset of data. The shard key determines which shard holds each row. Strategies: range (A-M on shard 1, N-Z on shard 2), hash (hash(key) % num_shards), directory (lookup table). Sharding enables horizontal scaling but complicates cross-shard queries, joins, and transactions.

  2. 2
    Calculatrice de hash →

    Use a hash function to determine the shard: shard = hash(shard_key) % num_shards. This distributes data evenly. Use a consistent hash (see consistent hashing) to minimize data movement when adding/removing shards. The hash tool computes the shard assignment for a given key.

  3. 3
    Formateur SQL →

    Formater queries that target a specific shard. Each shard has the same schema — the application routes queries to the correct shard based on the shard key. Cross-shard queries (without the shard key) must query all shards and merge results — avoid these for performance.

Questions fréquentes

When should I shard?
When a single database cannot handle the load (CPU, memory, disk, IOPS) or data size. Vertical scaling (bigger server) is simpler — try it first. Shard when you hit vertical scaling limits or need geographic data distribution. Sharding adds significant complexity — do not shard prematurely.
How do I choose a shard key?
Choose a key that: distributes data evenly (high cardinality), is present in most queries (enables shard routing), rarely changes (minimizes resharding), and groups related data (avoids cross-shard joins). Common choices: user_id, tenant_id, geographic region. Avoid hot keys that concentrate traffic on one shard.

Workflows résolvant cette tâche

Hacher le contenu et coder en Base64
Calculer un hachage de l'entrée et coder le condensat en Base64 pour un transport compact.
PIPELINE
Formater SQL et documenter avec statistiques de mots
Pretty-printer une requête SQL puis analyser la sortie formatée avec des statistiques de mots.
PIPELINE
Hacher le texte et vérifier l'intégrité
Calculer un hachage du texte d'entrée et le comparer à un hachage attendu pour vérifier l'intégrité.
PIPELINE
Hacher le texte et vérifier avec somme CRC32
Calculer à la fois un hachage cryptographique SHA-256 et une somme de contrôle CRC32 pour la vérification d'intégrité des données.
PIPELINE
Hacher MD5 puis coder en Base58
Calculer le hash MD5 puis coder en Base58 pour une représentation compacte.
PIPELINE
Comparaison de vitesse multi-hash
Hacher l'entrée et benchmarker plusieurs algorithmes de hachage pour comparer leur vitesse et sortie.
PIPELINE
Générer un mot de passe et hacher
Générer un mot de passe aléatoire puis le hacher pour un stockage sécurisé.
PIPELINE
Hash SHA3-256 avec somme CRC32
Calculer le hash SHA3-256 puis la somme CRC32 pour une double vérification d'intégrité.
PIPELINE
Hacher SHA-512 puis Hex
Calculer le hash SHA-512 puis coder en Hex pour lisibilité.
PIPELINE
Formater SQL et valider
Formater une requête SQL puis valider la syntaxe.
PIPELINE
Inverser le texte et hacher
Inverser le texte puis calculer le hachage SHA-256 du résultat inversé.
PIPELINE
Brouiller le texte et hacher
Brouiller le texte puis hacher le résultat brouillé.
PIPELINE

Outils associés