Design a scalable URL shortening service similar to TinyURL or bit.ly. The service should provide a REST API that accepts a long URL and returns a short, unique alias URL (e.g., https://short.url/AbCd123). When users hit the short URL, they must be redirected to the original long URL. The system must handle 100 M new URLs created per month, support 1 B redirects per month (10:1 read:write ratio), and remain available with low latency (< 100 ms p99 for redirects). Short codes should be 7 characters or less using Base62 encoding. The service must also collect analytics on each redirect (referrer, geo, device, timestamp) and expose a real-time dashboard showing click counts per short URL. Provide rate-limiting to prevent abuse and ensure that the same long URL always returns the same short code if requested multiple times (idempotent).