Task
Build a small `memory_estimator(rows, bytes_per_row, overhead_pct)` that returns total memory in MB (float, 2 decimals):
```
total_bytes = rows * bytes_per_row * (1 + overhead_pct / 100)
mb = total_bytes / 1_000_000 # decimal MB β matches Prometheus/Grafana convention
return round(mb, 2)
```
Test for 3 realistic scales: small in-memory cache, mid-size pandas DataFrame, large Redis dataset.