linux – what makes locate so fast compared with find

In my mind, both locate and find finds a file, but why locate runs so fast?

According to its doc, locate:

DESCRIPTION
locate reads one or more databases prepared by updatedb(8) and writes file names matching at >least one of the PATTERNs to standard output, one per line.

What files are in that DB, and is every created file in that DB?