【TcaplusDB知识库】PB表数据类型介绍
【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 | 始终为四个字节。 如果值通常大于2^28^,则比uint32更有效。 |
fixed64 | uint64 | long | int/long | uint64 | Bignum | ulong | integer/string | Int64 | 始终为八个字节。如果值通常大于2^56^,则比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文本,并且不能超过2^32^。 |
bytes | string | ByteString | str | []byte | String (ASCII-8BIT) | ByteString | string | 可以包含不超过2^32^个任意字节序列。 |
参考链接: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 | 始终为四个字节。如果值通常大于2^28^,则比uint32更有效。 |
fixed64 | uint64 | long | int/long | *uint64 | 始终为八个字节。如果值通常大于2^56^,则比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
TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。
相关文章
- 微软终补短板!Windows 11效率更高了
- 微软终补短板:Windows 11效率更高 提高文件管理器性能
- Windows 11新预览版进一步提高文件管理器的性能
- 微软 Azure Database for MySQL Flexible Server 在中国大陆地区正式上线:完全托管的数据库服务
- Docker 系列教程:轻松在 Docker 容器中运行 MySQL 图文指南
- PageAbility跨设备迁移开发实战—问答互动
- 更换电脑不用怕,可以轻松将Windows 10密钥转移到新计算机上
- OpenHarmony 源码解析之分布式数据库
- 如何快速定位数据库消耗CPU语句?
- Explain进行索引分析和优化
- 有趣的 Events_Statements_Current 表问题
- 故障案例:MySQL唯一索引有重复值,官方却说This is not a bug
- 这可能是Spring Boot Starter 讲的最清楚的一次了
- 又是一年跳槽季!如何快速定位数据库消耗CPU语句?
- MySQL千万级数据查询的优化技巧及思路
- 一文读懂MySQL分库分表的实现原理和策略
- MySQL:两张表编码方式不一致,关联查询一定会导致索引失效吗?
- Redis常用操作命令整理
- 梅科尔HOS-openGauss数据库安装使用(openEuler服务器)
- 使用 Vector 将 PostgreSQL 日志输出为 Prometheus 指标