Sobes.tech
Middle

What would you choose as a userId when designing a database?

sobes.tech AI

Answer from AI

When choosing a userId for a database, it is important to consider uniqueness, performance, and ease of use.

Common options include:

  • Auto-incrementing integer — simple and efficient, but not suitable if global uniqueness outside a single database is required.
  • UUID (Universally Unique Identifier) — a 128-bit identifier that is unique worldwide, suitable for distributed systems, but takes more space and is slower to index.
  • Combination of values — for example, email or login, but this can complicate changing the identifier.

The choice depends on the requirements:

  • If the system is centralized and does not require global uniqueness — auto-increment.
  • If uniqueness across different services is needed — UUID.
  • If readability and the ability to use external data are important — natural keys.

Example of using UUID in PostgreSQL:

CREATE TABLE users (
    user_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    username TEXT NOT NULL
);

Thus, the choice of userId depends on the system architecture and requirements.