Destinations Overview
Cloud Replicator supports four Azure cloud destinations, each designed for different use cases. This guide helps you understand when to use each destination and their key characteristics.
Supported Destinations
| Destination | API Type | Best For |
|---|---|---|
| Azure Table Storage | Table/Key-Value | Cost-effective storage, simple queries |
| Azure Cosmos DB (NoSQL) | Document | Flexible schema, global distribution |
| Azure Cosmos DB (Table) | Table | Premium Table Storage features |
| Azure AI Search | Search Index | Full-text search, faceted navigation |
Choosing the Right Destination
Azure Table Storage
Choose when you need:
- Cost-effective storage for large amounts of data
- Simple key-based queries (PartitionKey + RowKey)
- Integration with Azure Functions or other Azure services
- Pay-per-use pricing model
Characteristics:
- Highly scalable NoSQL key-value store
- Automatic scaling with no capacity planning
- Low cost per GB stored
- Limited query capabilities (primarily key-based)
Typical Use Cases:
- Historical data archival
- Simple reporting datasets
- IoT or telemetry data storage
- Backup and compliance archives
Azure Cosmos DB (NoSQL)
Choose when you need:
- Global distribution with multi-region writes
- Flexible document-based storage
- Rich SQL-like query capabilities
- Multiple consistency level options
Characteristics:
- Fully managed NoSQL database
- Guaranteed single-digit millisecond latency
- 99.999% availability SLA
- Automatic and instant scalability
Typical Use Cases:
- Global applications requiring low latency
- Real-time analytics dashboards
- Event-driven architectures
- Mobile and web application backends
Azure Cosmos DB (Table API)
Choose when you need:
- Azure Table Storage compatibility with premium features
- Existing applications using Table Storage SDK
- Higher performance than standard Table Storage
- Global distribution with Table API
Characteristics:
- Table API compatible with Azure Table Storage
- Premium throughput and latency
- Turnkey global distribution
- SLA-backed availability and performance
Typical Use Cases:
- Migrating from Azure Table Storage
- Applications requiring Table Storage API with better performance
- Global deployments needing local data access
Azure AI Search
Choose when you need:
- Full-text search across Business Central data
- Faceted navigation and filtering
- AI-powered search enhancements
- Search-as-you-type functionality
Characteristics:
- Managed search service
- Powerful query syntax
- Faceting, filtering, and scoring
- Integration with Azure AI services
Typical Use Cases:
- Product catalog search
- Customer lookup applications
- Document search portals
- Knowledge base search
Feature Comparison
| Feature | Table Storage | Cosmos DB NoSQL | Cosmos DB Table | AI Search |
|---|---|---|---|---|
| Query Type | Key-based | SQL-like | Key-based | Full-text |
| Per Day Series | Yes | Yes | Yes | No |
| SystemId as Key | Optional | Optional | Optional | Required |
| Deletion Tracking | Yes | Yes | Yes | No |
| Global Distribution | Limited | Yes | Yes | Limited |
| Cost Model | Pay-per-use | Provisioned RU/s | Provisioned RU/s | Tier-based |
Data Structure by Destination
Table Storage / Cosmos DB Table
Data is stored using a PartitionKey + RowKey structure:
- PartitionKey: Company name (cleaned) + optional postfix
- RowKey: Primary key fields or SystemId
Example structure:
PartitionKey: "CRONUS_International"
RowKey: "10000" (Customer No.)
Fields: Name, Address, City, etc.
Cosmos DB NoSQL
Data is stored as JSON documents in collections:
- Collection: One per Business Central table
- Partition Key: Company name field
- Document ID: Primary key or SystemId
Example structure:
{
"id": "10000",
"__Company": "CRONUS_International",
"Name": "Customer Name",
"Address": "123 Main St"
}
Azure AI Search
Data is stored in search indexes:
- Index: One per Business Central table
- Document Key: SystemId (required)
- Fields: Searchable, filterable, facetable based on type
Example structure:
{
"SystemId": "abc-123-def-456",
"Name": "Customer Name",
"Address": "123 Main St"
}
Note: Unlike the other destinations, the company-name field is not added to Azure AI Search documents.
Mixing Destinations
You can replicate different tables to different destinations by overriding the default destination in each table mapping. Common patterns include:
Analytics + Search Pattern
- Replicate transactional data to Cosmos DB for analytics
- Replicate master data to AI Search for lookup functionality
Tiered Storage Pattern
- Replicate frequently accessed data to Cosmos DB
- Replicate historical data to Table Storage for cost efficiency
Multi-Purpose Pattern
- Replicate the same table to multiple destinations for different use cases
- Use the Index field in table mapping to create multiple mappings per table
Performance Considerations
| Destination | Write Speed | Query Speed | Scaling |
|---|---|---|---|
| Table Storage | High | Key-based fast, scans slow | Automatic |
| Cosmos DB NoSQL | High (depends on RU/s) | Fast | Manual/Auto |
| Cosmos DB Table | High (depends on RU/s) | Key-based fast | Manual/Auto |
| AI Search | Moderate | Fast for search | Tier-based |
Cost Considerations
Azure Table Storage
- Most cost-effective for storage
- Pay per GB stored and transactions
- No minimum cost
Azure Cosmos DB
- Provisioned throughput (RU/s) model
- Higher cost but better performance guarantees
- Consider serverless for variable workloads
Azure AI Search
- Tier-based pricing
- Cost depends on document count and index size
- Free tier available for small datasets