IMPORTANT: Developer documentation for the current main branch. This content is unreleased and may change before the next Polaris release. For stable user documentation, see the latest release docs.

NoSQL DynamoDB

📝 Note

The DynamoDB backend is experimental.

The DynamoDB backend stores Polaris metadata in Amazon DynamoDB. In a Quarkus deployment, Polaris uses the client supplied by the Quarkus Amazon DynamoDB extension.

Basic configurationđź”—

Select the NoSQL backend and configure the DynamoDB client region. Credential acquisition, endpoint overrides, retry behavior, and HTTP settings use the standard Quarkus DynamoDB configuration:

polaris.persistence.type=nosql
polaris.persistence.nosql.backend=DynamoDb
quarkus.dynamodb.aws.region=us-east-1

For example, local development can configure static credentials and an endpoint override:

quarkus.dynamodb.endpoint-override=http://dynamodb.example:8000
quarkus.dynamodb.aws.credentials.type=static
quarkus.dynamodb.aws.credentials.static-provider.access-key-id=<access-key>
quarkus.dynamodb.aws.credentials.static-provider.secret-access-key=<secret-key>

Use the normal AWS credential-provider configuration for deployments. See the Quarkus Amazon DynamoDB guide for all client settings. polaris.persistence.nosql.dynamodb.table-prefix optionally prefixes the tables owned by this Polaris deployment.

Bootstrapping and maintenanceđź”—

The backend creates its DynamoDB tables during NoSQL bootstrap. Run the Admin Tool with the same DynamoDB client configuration as the service. The AWS identity needs permissions to create, describe, and access the Polaris tables; scope those permissions to the configured table prefix where possible.

The generated DynamoDB configuration reference lists the Polaris-specific settings. Run the regular NoSQL maintenance operations described in the Admin Tool documentation with credentials that can scan and modify the same DynamoDB tables as Polaris.