A unique ID needs a scope.
An ID can be unique inside one tenant yet collide when two tenants share an index. At larger write rates, a single counter can become a dependency, while timestamp-based IDs need a plan for clocks moving backward and workers reusing the same identity.
Choose the properties the application needs. Random IDs distribute inserts but use more bytes and don't describe creation order. Time-sortable IDs help approximate ordering, yet their timestamps aren't a trustworthy business clock across machines. Sequence blocks reduce calls to a central allocator and can leave gaps after a crash. Gaps are usually harmless; reusing an identifier isn't. Keep externally visible IDs separate from any requirement for consecutive legal document numbers.