Skip to main content

Diagrid KV Store

Diagrid offers a managed service for efficiently maintaining application state, designed to provide scalable, resilient, and reliable key-value storage for cloud-native applications.

Behaviors

The Diagrid KV Store supports CRUD and transactional operations, enabling applications to store, update, and delete key-value pairs. While bulk read and write operations are available via bulk API requests or Transactional API requests, the Query API is not supported at this time. The service is designed with eventual consistency, meaning operations return as soon as the write request is accepted by the underlying data store.

Key Scheme

The key scheme follows the format <App ID>||<key>. The || string is reserved and cannot be used within keys, ensuring consistent key management across applications.

API

The Diagrid KV Store integrates with the State API, except for the Query API. This provides a simple interface for storing and retrieving state across App IDs within a project.

Access Control

By default, any App ID within the same project can interact with the Diagrid KV Store. To restrict access, Component scopes can be configured, allowing only specified App IDs to use the service for enhanced security.

All project applications share the same logical database, following the key scheme described above. This is because each project receives a custom connection string that all App IDs scoped to the component share. Consquently, state is tied to the life cycle of an App ID. If you delete an App ID, then it's corresponding state will be cleaned up.

All data is encrypted at rest, and abiding by secure communication using the Dapr API and App token authentication.

Resiliency

All outbound requests from the App ID to the Diagrid KV Store are backed by a resiliency policy. Query timeout settings default to 15s. If an operation fails, the system retries up to 3 times, with a 5-second constant delay between attempts. This resiliency ensures fault tolerance, mitigating temporary issues when interacting with the store.

Observability

The Catalyst UI provides a Data Explorer tool that allows users to gain insights into stored data across all App IDs, facilitating easy debugging and monitoring of key-value storage.

Workflow State

When Diagrid Workflows are enabled, the Diagrid KV Store is used to persist it's state, ensuring reliable storage and retrieval of data for workflow execution.

Quotas

When a table size becomes too large, then no further data may be persisted by the App ID. App ID data has a time to live (TTL) of 1 hour.

For more details on the quotas and limits regarding the Diagrid KV Store, visit the Support documentation.