I am putting together a system design for something similar to Tiny URL. It provides an API for mapping a URL to a short URL. Once created the short URL can be used to access the original URL. This system seems to need to be both available and consistent at the same time (which I know is not possible).

**Available** - If the system is not available, requests to a short URL will start failing - which defeats the purpose of having a short URL.

**Consistent** - If a system is not consistent - a newly created tiny URL may not be accessible for a while. Also if you update an existing URL to point elsewhere, the changes might take a while to propagate.

How then can we decide to choose one over the other? What factors should we consider?