managing-database-sharding
Process use when you need to work with database sharding.\nThis skill provides horizontal sharding strategies with comprehensive guidance and automation.\nTrigger with phrases like \
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Process use when you need to work with database sharding.\nThis skill provides horizontal sharding strategies with comprehensive guidance and automation.\nTrigger with phrases like \
How to use
Sprawdź wymagania wstępne: upewnij się, że masz dostęp administratora do bazy danych z uprawnieniami CREATE DATABASE i CREATE TABLE, zainstalowane narzędzia CLI (psql dla PostgreSQL, mysql dla MySQL, mongosh dla MongoDB) oraz dostęp sieciowy do wszystkich węzłów shardów. Przygotuj informacje o bieżących rozmiarach tabel i tempie wzrostu danych.
Przeanalizuj rozmiar bieżącej bazy danych i zidentyfikuj tabele, które przekroczyły próg pojemności pojedynczego węzła. Dla PostgreSQL uruchom zapytanie SELECT pg_size_pretty(pg_total_relation_size('nazwa_tabeli')), dla MySQL użyj SELECT data_length + index_length FROM information_schema.TABLES. Tabele większe niż 500 GB lub zawierające więcej niż 1 miliard wierszy są kandydatami do shardowania.
Wybierz odpowiedni klucz shardowania, analizując klauzule WHERE w zapytaniach, wzorce JOIN i rozkład danych. Dobry klucz shardowania ma wysoką kardynalność, równomierny rozkład i pojawia się w większości zapytań. Uruchom zapytanie SELECT shard_key_column, COUNT() FROM table GROUP BY shard_key_column ORDER BY COUNT() DESC LIMIT 20, aby sprawdzić rozkład kandydatów.
Wyzwól umiejętność frazami takimi jak "implement sharding", "shard database" lub "distribute data", aby uzyskać wskazówki dotyczące konfiguracji strategii shardowania, routingu zapytań między shardami i operacji rebalansowania.
Wykonaj operacje shardowania, korzystając z dostępnych narzędzi (Read, Write, Edit, Grep, Glob oraz Bash z obsługą psql, mysql i mongosh). Umiejętność automatyzuje wybór strategii, generuje skrypty dystrybucji danych i wspiera zarządzanie wieloma węzłami shardów.