Checksum-Based Storage

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

Artifactory uniquely stores artifacts using checksum-based storage.

A file that is uploaded to Artifactory, has its SHA1 checksum calculated, and is then renamed to its checksum. It is then hosted in the configured filestore in a directory structure made up of the first two characters of the checksum. For example, a file whose checksum is "ac3f5e56..." would be stored in directory "ac"; a file whose checksum is "dfe12a4b..." would be stored in directory "df" and so forth. The following example shows the "d4" directory that contains two files whose checksum begins with "d4".

Checksum Based Storage.jpg

In parallel, Artifactory creates a database entry mapping the file's checksum to the path it was uploaded to in a repository. This way of storing binaries optimizes many operations in Artifactory since they are implemented through simple database transactions rather than actually manipulating files.

Note

Checksum-based storage applies to all binaries in all Artifactory repositories.

The following sections provide more information about checksum-based storage implementation in Artifactory.