|
1 | | -// Copyright 2025 Google LLC |
| 1 | +// Copyright 2026 Google LLC |
2 | 2 | // |
3 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | 4 | // you may not use this file except in compliance with the License. |
@@ -205,6 +205,15 @@ message Table { |
205 | 205 | AutomatedBackupPolicy automated_backup_policy = 13; |
206 | 206 | } |
207 | 207 |
|
| 208 | + // Rules to specify what data is stored in each storage tier. |
| 209 | + // Different tiers store data differently, providing different trade-offs |
| 210 | + // between cost and performance. Different parts of a table can be stored |
| 211 | + // separately on different tiers. |
| 212 | + // If a config is specified, tiered storage is enabled for this table. |
| 213 | + // Otherwise, tiered storage is disabled. |
| 214 | + // Only SSD instances can configure tiered storage. |
| 215 | + TieredStorageConfig tiered_storage_config = 14; |
| 216 | + |
208 | 217 | // The row key schema for this table. The schema is used to decode the raw row |
209 | 218 | // key bytes into a structured format. The order of field declarations in this |
210 | 219 | // schema is important, as it reflects how the raw row key bytes are |
@@ -638,6 +647,27 @@ enum RestoreSourceType { |
638 | 647 | BACKUP = 1; |
639 | 648 | } |
640 | 649 |
|
| 650 | +// Config for tiered storage. |
| 651 | +// A valid config must have a valid TieredStorageRule. Otherwise the whole |
| 652 | +// TieredStorageConfig must be unset. |
| 653 | +// By default all data is stored in the SSD tier (only SSD instances can |
| 654 | +// configure tiered storage). |
| 655 | +message TieredStorageConfig { |
| 656 | + // Rule to specify what data is stored in the infrequent access(IA) tier. |
| 657 | + // The IA tier allows storing more data per node with reduced performance. |
| 658 | + TieredStorageRule infrequent_access = 1; |
| 659 | +} |
| 660 | + |
| 661 | +// Rule to specify what data is stored in a storage tier. |
| 662 | +message TieredStorageRule { |
| 663 | + // Rules to specify what data is stored in this tier. |
| 664 | + oneof rule { |
| 665 | + // Include cells older than the given age. |
| 666 | + // For the infrequent access tier, this value must be at least 30 days. |
| 667 | + google.protobuf.Duration include_if_older_than = 1; |
| 668 | + } |
| 669 | +} |
| 670 | + |
641 | 671 | // Represents a protobuf schema. |
642 | 672 | message ProtoSchema { |
643 | 673 | // Required. Contains a protobuf-serialized |
|
0 commit comments