PHPMem v2.0.1

Version
1.6.45
Uptime
15 days 9 hours 59 minutes 16 seconds

Memory

Total
512MB
Used
24,01MB (4.69%)
Free
487,99MB

Keys

Current
27 649
Total (since start)
33 978
Evictions
0
Reclaimed
161
Expired Unfetched
0
Evicted Unfetched
0

Connections

Current
12 / 1 024 max
Total
171 107
Rejected
0
llm:21055953b394fe068fe14f5003af49f0cde3c4c97d89fbf0356340e74f0b7e34
TTL 6 days 20 hours 14 minutes 12 seconds Size 2,63KB Export
Edit
{
    "table_name": "return_kaggle",
    "primary_key": "Name, Date, Tournament, Rd, vRk",
    "candidates": [
        {
            "rank": 0,
            "partition_key": "Name",
            "partition_key_label": "E",
            "partition_key_reasoning": "Name is the player whose match-by-match return stats are recorded. It has 462 unique values (RPUV ~513) and top-3 coverage of only 1.74%, so it is well distributed. The RPUV is above the ~100 guideline, but it is still the most natural entity. The alternatives are worse: Tournament has 3572 distinct values and Date has 1424.",
            "clustering_key": "Date",
            "clustering_key_label": "S",
            "clustering_key_reasoning": "Date is the match or tournament start date and orders each player's timeline. It is stored as text in d-Mon-yyyy format, so it must be parsed to a date before sorting. It has 1424 unique values and no nulls. Rd (round) gives the within-tournament order as a tie-breaker, but it is categorical and needs a custom ordering (R128 < R64 < ... < F).",
            "world_line": "Name",
            "session_column": "Tournament",
            "confidence": "MEDIUM",
            "notes": "Each row is one match from one player's perspective, and the data is ordered by player and then by time descending. Name + Date + Tournament + Rd is nearly unique, but the Tour Finals contain several RR rows with the same Name, Date, Tournament and Rd. vRk (opponent rank) is therefore added to the primary key to separate them, and it may still not be fully unique. The 'against' column is empty (a single value), and the _ingestion/_batch/_source columns are constant metadata. Roughly 86.8k rows have blank stats (walkovers or missing data)."
        },
        {
            "rank": 1,
            "partition_key": "derived:year(Date)",
            "partition_key_label": "E",
            "partition_key_reasoning": "Partitioning by the year of the parsed Date gives a manageable number of partitions across about 1424 distinct dates. The alternative is viable for time-sliced analysis across all players, but it is a coarser, time-based split rather than a true entity.",
            "clustering_key": "Name",
            "clustering_key_label": "S",
            "clustering_key_reasoning": "Name ordering within each year groups each player's matches together. It is a categorical grouping rather than a true sequence axis.",
            "world_line": "Name",
            "session_column": "Tournament",
            "confidence": "LOW",
            "notes": "Alternative for cross-player, period-based scans. It is less faithful to the event-entity model, because the Date derivation needs text parsing."
        }
    ]
}