• Great topic. I think there's a perfect metaphor around highway interchanges. I particularly like this description of so-called stack interchanges: "This is not only expensive but also creates an eyesore among local residents, leading to considerable NIMBY (Not In My Back Yard) opposition. Large stacks with multiple levels are often colloquially described as Mixmasters or spaghetti bowls due to their complex appearance, being compared to boiled spaghetti." So perhaps something like this works:

    CASE

    WHEN DatabaseSize > 1Tb and Concurrency > 1000

    THEN 'CloverStack'

    WHEN DatabaseSize BETWEEN 100Gb AND 1Tb and Concurrency > 500

    THEN 'CloverLeaf'

    WHEN DatabaseSize BETWEEN 1Gb AND 100Gb and Concurrency > 50

    THEN 'Roundabout'

    WHEN DatabaseSize BETWEEN 1Mb AND 1Gb and Concurrency < 20

    THEN 'Mayberry'

    END as DatabaseClass

    I'm sure there are holes in my CASE statement, but there are tons of possibilities. And when you think about it we're trying to keep everything flowing as best we can with unpredictable inputs (volume of traffic, size of vehicles, weather conditions, etc.), a limited budget and specs that change after the infrastructure has been hardened.

    Great topic.

    ~~ Everything in moderation, including moderation. ~~