Skip to content

Commit 0d4aa48

Browse files
committed
Bump up API to support sharding_key
1 parent bc613e3 commit 0d4aa48

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/main/proto/banyandb/v1/banyandb-database.proto

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ message FieldSpec {
9696
CompressionMethod compression_method = 4 [(validate.rules).enum.defined_only = true];
9797
}
9898

99+
message ShardingKey {
100+
repeated string tag_names = 1 [(validate.rules).repeated.min_items = 1];
101+
}
102+
99103
// Measure intends to store data point
100104
message Measure {
101105
// metadata is the identity of a measure
@@ -114,6 +118,8 @@ message Measure {
114118
// index_mode specifies whether the data should be stored exclusively in the index,
115119
// meaning it will not be stored in the data storage system.
116120
bool index_mode = 7;
121+
// sharding_key determines the distribution of TopN-related data.
122+
ShardingKey sharding_key = 8;
117123
}
118124

119125
// TopNAggregation generates offline TopN statistics for a measure's TopN approximation

src/test/java/org/apache/skywalking/banyandb/v1/client/ITMeasureMetadataRegistryTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.FieldSpec;
2929
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.FieldType;
3030
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.Measure;
31+
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.ShardingKey;
3132
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.TagFamilySpec;
3233
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.TagSpec;
3334
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase.TagType;
@@ -102,6 +103,7 @@ private Measure buildMeasure() {
102103
.setName("service_cpm_minute"))
103104
.setInterval(Duration.ofMinutes(1).format())
104105
.setEntity(Entity.newBuilder().addTagNames("entity_id"))
106+
.setShardingKey(ShardingKey.newBuilder().addTagNames("service_id"))
105107
.addTagFamilies(
106108
TagFamilySpec.newBuilder()
107109
.setName("default")

0 commit comments

Comments
 (0)