IDs

  • These are unique values, primarily used as a way to distinguish different data (even if data in a row is the same)

  • This is used for primary keys, indexes etc

  • Issues crop up when creating Ids when

    • a lot of unique ids per time interval ie 10000 per second

      • due to lots of writes to the systems

    • Uniqueness constraints may not be possible through default database implementation

    • Type of ids may be constrained due to disk space

      • ie can only have 64 bit, where as a common standard might be UUID (128bit)

    • Ids may be constrained by ordering

      • ie may need to be ordered by date of creation

      • Issues with using time in distributed creation can be clock synchonisation

    • Issues with distributed systems creating ids

      • synchonization problems, may end up with incorrect same id

      • availability of the system

    • Size of id can limit total number of ids that can Generated

      • Thus need to do a reset or implement a new type of generation and thus migration of old ids

Creation

Default database

Ticket server

mulit master replication

UUID

Twitter snowflake

Last updated