【TcaplusDB知识库】PB表数据类型有哪些?

数据类型

proto3数据类型与编程语言类型映射

.proto 类型 C++ 类型 Java 类型 Python 类型 Go 类型 Ruby 类型 C# 类型 PHP 类型 Dart 类型 描述
double double double float float64 Float double float double
float float float float float32 Float float float double
int32 int32 int int int32 Fixnum 或 Bignum (根据需要) int integer int 使用可变长度编码。 负数编码效率低下–如果您的字段可能具有负值,请改用sint32。
int64 int64 long int/long int64 Bignum long integer/string Int64 使用可变长度编码。 负数编码效率低下–如果您的字段可能具有负值,请改用sint64。
uint32 uint32 int int/long uint32 Fixnum 或 Bignum (根据需要) uint integer int 使用可变长度编码。
uint64 uint64 long int/long uint64 Bignum ulong integer/string Int64 使用可变长度编码。
sint32 int32 int int int32 Fixnum 或 Bignum (根据需要) int integer int 使用可变长度编码。
sint64 int64 long int/long int64 Bignum long integer/string Int64 使用可变长度编码。 有符号的int值。 与常规int32相比,它们更有效地编码负数。
fixed32 uint32 int int/long uint32 Fixnum 或 Bignum (根据需要) uint integer int 始终为四个字节。 如果值通常大于228,则比uint32更有效。
fixed64 uint64 long int/long uint64 Bignum ulong integer/string Int64 始终为八个字节。如果值通常大于256,则比uint64更有效。
sfixed32 int32 int int int32 Fixnum 或 Bignum (根据需要) int integer int 始终为四个字节。
sfixed64 int64 long int/long int64 Bignum long integer/string Int64 始终为八个字节。
bool bool boolean bool bool TrueClass/FalseClass bool boolean bool
string string String str/unicode string String (UTF-8) string string String 字符串必须始终包含UTF-8编码或7位ASCII文本,并且不能超过232
bytes string ByteString str []byte String (ASCII-8BIT) ByteString string 可以包含不超过232个任意字节序列。

参考链接:https://developers.google.com/protocol-buffers/docs/proto3

proto2数据类型与编程语言类型映射

.proto 类型 C++ 类型 Java 类型 Python 类型 Go 类型 描述
double double double float *float64
float float float float *float32
int32 int32 int int *int32 使用可变长度编码。负数编码效率低下–如果您的字段可能具有负值,请改用sint32。
int64 int64 long int/long *int64 使用可变长度编码。负数编码效率低下–如果您的字段可能具有负值,请改用sint64。
uint32 uint32 int int/long *uint32 使用可变长度编码。
uint64 uint64 long int/long *uint64 使用可变长度编码。
sint32 int32 int int *int32 使用可变长度编码。有符号的int值。与常规int32相比,它们更有效地编码负数。
sint64 int64 long int/long *int64 使用可变长度编码。有符号的int值。与常规int64相比,它们更有效地编码负数。
fixed32 uint32 int int/long *uint32 始终为四个字节。如果值通常大于228,则比uint32更有效。
fixed64 uint64 long int/long *uint64 始终为八个字节。如果值通常大于256,则比uint64更有效。
sfixed32 int32 int int *int32 始终为四个字节。
sfixed64 int64 long int/long *int64 始终为八个字节。
bool bool boolean bool *bool
string string String unicode (Python 2) 或 str (Python 3) *string 字符串必须始终包含UTF-8编码或7位ASCII文本。
bytes string ByteString bytes []byte 可以包含任意字节序列。

参考链接:https://developers.google.com/protocol-buffers/docs/proto


img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

猜你喜欢

转载自blog.csdn.net/weixin_44545651/article/details/121476133