Skip to content

guseggert/go-providerstore-dynamodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a ProviderStore that stores DHT records in DynamoDB.

The schema of the table is:

  • key (bytes)
    • Primary Key
    • typically this is the raw multihash of a CID
  • ttl (number)
    • Sort Key
    • unix epoch timestamp of when the entry expires
    • configure your DynamoDB table to use this as an item TTL for auto-eviction
    • since this is a sort key, results for a given CID are ordered by this, so that you can return the most recently-cached providers first
  • prov (bytes)
    • the raw peer ID of the provider of the given key

A DHT put maps to a single PutItem request to DynamoDB.

DHT queries map to a DynamoDB Query, keyed on the CID multihash. The query returns an item per provider of the CID, up to a pre-configured limit. For popular CIDs with many providers, this could take many round-trips to DynamoDB to finish. A single round-trip can return up to 1 MB of items. Since items are automatically evicted by DynamoDB based on their TTL, this automatically excludes expired entries.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages