Skip to content

Commit f107e80

Browse files
authored
Bump up API to support sharding_key (#82)
* Bump up API to support sharding_key
1 parent bc613e3 commit f107e80

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

CHANGES.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@ Changes by Version
22
==================
33
Release Notes.
44

5+
0.9.0
6+
------------------
7+
8+
### Features
9+
10+
* Bump up the API to support sharding_key.
11+
512
0.8.0
613
------------------
714

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ Measure m = Measure.newBuilder()
226226
.setName("service_cpm_minute"))
227227
.setInterval(Duration.ofMinutes(1).format())
228228
.setEntity(Entity.newBuilder().addTagNames("entity_id"))
229+
.setShardingKey(ShardingKey.newBuilder().addTagNames("service_id"))
229230
.addTagFamilies(
230231
TagFamilySpec.newBuilder()
231232
.setName("default")

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)