Skip to content

Component purl vs purlCoordinates #2330

Answered by stevespringett
malice00 asked this question in Q&A
Discussion options

You must be logged in to vote

Purl does two things. It can identify a component, and it can locate a component. Location, if not the default, is handled with qualifiers. This is the equivalent of a URL querystring. purlCordinates if the first part of the purl containing the ecosystem, optional namespace, name, and version. It does not include any qualifiers. The purpose for having both is to speed up database queries. If I was querying the db using a components purl identity, I can perform an exact match on purlCoordinates which is an indexed field. If I only had a single purl field, DT would have to perform a full table scan when performing the same query, which would negatively impact performance in a big way.

Replies: 1 comment 9 replies

Comment options

You must be logged in to vote
9 replies
@stevespringett
Comment options

@malice00
Comment options

@stevespringett
Comment options

@malice00
Comment options

@stevespringett
Comment options

Answer selected by malice00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants