Ant*_*vre 6 database-design data-modeling protocol-buffers protobuf-net
我试图在网上找到一些建议,但找不到任何相关的建议.
假设我正在创建一个包含很多字段(50+)的协议缓冲区消息.最好是将所有字段保持在同一级别还是将它们组织在子消息中?这种或那种方式对表演有什么影响吗?
例:
message myMessage{
string field1 = 1;
string field2 = 2;
....
string fieldn = n;
}
Run Code Online (Sandbox Code Playgroud)
VS
message myMessage{
SubMessage1 groupedfieldsbasedonsomebusinesslogic1 = 1;
SubMessage2 groupedfieldsbasedonsomebusinesslogic2 = 2;
message SubMessage1{
string field1 = 1;
string field2 = 2;
...
string fieldx = x;
}
message SubMessage2{
string fieldxplus1 = x+1;
...
string fieldn = n;
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里并没有考虑可读性,因为在反序列化以获得平坦数据或嵌套数据时存在利弊.我的问题是真正关注技术影响.
没有"最好的" - 一切都是上下文的,只有你拥有大部分的上下文.
然而!关于表现的一些小想法:
在所有这些事情中,如果是我,我会关注的是第二个.
也许从看起来可用的东西开始,并测量它以获得真实的数据量; 它的表现是否可以接受?