Snowflake has thin, standard(thick?) and FIPS Java JDBC drivers. I dont need FIPS.
I had assumed that thin means lightweight, without required jars, and thick would be heavy and include any dependent jars.
Thus thin would be better if you want to make the app faster to load and have fewer dependency conflicts.
However, I have seen discussions about Oracle type 1 to 4 drivers which seem to imply the opposite.
What is the difference, and which should I choose for a Spring Boot app connecting directly to Snowflake via JDBC?
=== update 1 ===
I have tried both snowflake drivers. Maven could not resolve all the dependencies required for the "thin" driver, so to save time I went with their "standard" one which works out of the box with Maven + Spring Boot.
You've misunderstood the difference. The code contained in them is identical.
The 'fat jar' is a single jar that contains both the JDBC driver and all the other things that need to be on the classpath.
The 'thin jar' does not. That doesn't mean "it loads with fewer bytes" or "it has fewer features". No, it's the same thing. If you use the thin jar, you have to supply the dependencies. Which ones? Their pom file lists them out.
Generally fat jars are silly things; the number of projects that let you skip having some sort of proper dependency management is very small, and if you have proper dep management, 'thin jars' are strictly superior ('thin' is a weird name here; it is a name that exists solely to communicate 'NOT a fat jar' in a single word, and assumes folks know 'fat jar' is slang for 'a jar that contains everything'.
Fat jar downsides:
The advantage is that you don't have to 'figure out' how to get the deps of snowflake-thin available on the JVM that you want to run it on. That's kinda a weird advantage because it's (usually) not at all difficult to do such things; they ship a pom file.