# Snowflake ID

The Snowflake ID is a unique identifier created by Twitter for distributed computing.

The IDs are made up of the following components:

- Epoch timestamp in millisecond precision - 41 bits
- Machine id - 10 bits
- Sequence number - 12 bits


![SnowFlake (1).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1658940188623/snuufmLZz.png align="left")

The following are some of the benefits of creating Unique IDs in snowflake format:

- It consists entirely of integers.Indexing of integers are much faster than indexing strings

- Keys begin with a timestamp, so are sortable.	

- This is efficient and fits in the size of a bigint.

Ref: 

[https://github.com/twitter-archive/snowflake/tree/snowflake-2010](https://github.com/twitter-archive/snowflake/tree/snowflake-2010)

[https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake](https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake
)
