Should I use an UUID, Nanoid or ULID for PK?

What would be the best PK, knowing that the ID will be created “offline” (aka in code C#).
UUID: VARCHAR(36), complete random
Nanoid: VARCHAR(21), complete random
ULID: VARCHAR(26), sortable random

More related of having data from same date range “together”; but maybe SingleStore is just spreading data in another way where the complete randomness is a positive thing for spreading data over leafs?

Related:

But as said, maybe in a distributed DB as SS, this isn’t such an issue?

A PK will be the shard key as well, automatically. It is used to hash partition the data. So any unique number or ID as PK will cause a perfectly even spread of the data across partitions. If you want to do range queries on anything, you need a sort key on it for best performance. You could put a sort key on a different column, like a datetime.