PHPMem v2.0.1
Version
1.6.45
Uptime
17 days 21 hours 36 minutes 23 seconds
Memory
Total
512MB
Used
12,72MB (2.48%)
Free
499,28MB
Keys
Current
14 060
Total (since start)
40 994
Evictions
0
Reclaimed
760
Expired Unfetched
0
Evicted Unfetched
0
Connections
Current
3 / 1 024 max
Total
241 859
Rejected
0
llm:487cf4f1697987977f92aa4c51f99e9d0806273f06803597cf5b2ce9c64ff6a1
Edit
{
"action": "final",
"content": "All five monthly tables (Jan–May 2022) share the same 9 business columns plus 4 ingestion-metadata columns. The classification below comes from the column profile I ran (step-0), with a few spot checks on January (steps 1–2).\n\n**Identifiers**\n- **Company Name**: the grain/key per the card (one row per company funding round). In January it is almost unique (115 rows, 114 distinct companies), so it is a *near-key*, not a strict primary key. Duplicates are possible, e.g. one company announced twice.\n- **Founders**: the profile flags it as a key candidate in January (`primary_key`), but it is really a descriptive text field (names of people), not a true system ID.\n- **_batch_id, _source_file, _source_system**: ingestion lineage identifiers, not business data.\n\n**Categorical dimensions**\n- **Location** (city/region), **Sector** (~40–55 distinct per month), and **Stage** (Seed, Series A/B/D, etc.; 12 distinct in January) are classifier/dimension columns.\n- **Stage** has blanks in some rows. Those blanks show up as empty values in the step-1 output.\n- **Sector** in the May table is profiled as free-text descriptive rather than a clean classifier, consistent with the card's note that some May rows are misaligned.\n\n**Numeric metrics**\n- **Amount** is the only measure. It is stored as **VARCHAR**, not a number. Values look like `$1,000,000` and some are `Undisclosed`. In January, 108 of 115 rows are dollar-formatted and 6 are 'Undisclosed' (step-2). It must be cleaned (strip `$` and commas, treat 'Undisclosed' as NULL) before it can be summed or averaged.\n\n**Dates/times**\n- **Founded**: the year the company was founded, a temporal field (BIGINT in Jan–Apr, but **VARCHAR in May**, where the card shows stray non-year values like a city name, another sign of misaligned rows). It is a year, not a full date.\n- **_ingestion_timestamp**: a TIMESTAMP recording when the row was loaded, not when the funding happened.\n- There is **no funding-date column**. The funding month is only implied by which monthly table a row lives in.\n\n**Descriptive free text**\n- **What it does** and **Investor** are text attributes. Investor can list several investors in one cell, so it is not a clean dimension without splitting.\n\n**Caveats**\n- Types are inconsistent across tables (Founded in May, Amount everywhere), so any union of the five tables needs casting first.\n- The tables have no declared joins, but they share the same schema, so they can be stacked."
}