tencent cloud

游戏数据库 TcaplusDB

产品动态
产品简介
产品概述
产品优势
应用场景
产品架构
地域介绍
购买指南
产品定价
欠费说明
快速入门
了解基本概念
创建集群
创建表格组
创建表格
获取连接信息
访问 TcaplusDB
操作指南
管理集群与表格组
管理表格
监控与告警
访问管理
标签
任务列表
使用 TcaplusDB client
使用 client 工具访问数据
client 工具命令参考
使用 TcaplusDB SDK
变更历史
SDK 下载
SDK for C++ 接口说明
TcaplusDB 错误码
SDK 安装
PB 表 C++SDK 操作方法
TDR 表 C++SDK 操作方法
使用 TcaplusDB RESTful API
RESTful API 接口说明
Go RESTful API 接口说明
Java RESTful API 接口说明
PHP RESTful API 接口说明
Python RESTful API 接口说明
RESTful API 各语言示例下载
实践教程
表结构设计
数据库交互
常见问题
信息咨询类
数据库使用类
数据库原理类
API 文档
History
Introduction
API Category
Making API Requests
Table Group APIs
Other APIs
Table APIs
Cluster APIs
Data Types
Error Codes
相关协议
服务等级协议
服务条款
词汇表
联系我们

表格

PDF
聚焦模式
字号
最后更新时间: 2024-12-04 09:56:32

表格概述

与其他数据库的一样,表格是数据的集合,是业务数据根据表格的定义存放在一起的组合形式。 从游戏业务角度来看,一张表可负责一个业务模块的一段相关数据集合,例如用户表、道具表。
如下示例的玩家表数据,该表可用于存储有关某一游戏中所有玩家的相关信息:游戏角色名、性别、种族、等级、战斗值、装备、坐骑、物品等信息。
{
player_id:11474,
player_name: "测试账号2",
gender:0,
ethnicity:"精灵",
FightingPower:10,
equipment:
{
helmet:0,
Warframe:0,
gloves:0,
necklace:0,
pants:0,
Shoes:0
},
horse:"0"
}
{
player_id:11475,
player_name: "测试账号1",
gender:1,
ethnicity:"兽人",
FightingPower:1477,
equipment:
{
helmet:1478,
Warframe:21,
gloves:554,
necklace:12,
pants:64,
Shoes:122
},
horse:"3"
}

记录

多个同一对象字段值的集合,称之为记录。上述示例的玩家角色表中,一个玩家角色的所有信息,由多个属性字段值组成,其所有信息表示这个玩家角色信息在此游戏的集合。单条记录支持最大1MB。

字段

字段描述了指定对象的某一特征。上述示例,玩家角色的一个独立属性我们称之为一个字段,如玩家角色表中的player_name、ethnicity。

主键字段

由如上示例表可看出,每条记录都有标志记录唯一性的字段,用于将表中的记录区分开来,我们称之为主键字段。上述示例的玩家角色表中,主键字段包含 player_id 以及 player_name。TcaplusDB 最大支持4个主键字段。

普通字段

每条记录除了标志其唯一性的字段外,还有其他的属性,这些属性所构成的字段,称之为普通字段。上述示例的玩家角色表中,普通字段则为 equipment,FightingPower 等属性。TcaplusDB 支持最多128个普通字段。

分片字段

TcaplusDB 是分布式数据库系统,可以为表格提供更高规格的并发请求能力。如果用户设置了分片字段,TcaplusDB 将自动根据当前表格访问情况,通过对分片字段 Hash 计算从而自动调整表格分片。如果用户不设置,那么系统将默认采用主键字段作为分片字段。
分片字段的设置与后台数据分布相关,用户需要评估作为分片字段的字段取值是否离散。取值有限的字段如性别、星期等都不建议设置为分片字段,建议使用 ID、name 类的字段作为分片字段。

字段类型

TcaplusDB 支持多种数据类型,支持的类型如下:
字段类型
字段介绍
int32
使用可变长度编码,此类型表示值介于 -2^31 到 +2^31 之间的有符号整数,但是负数表示效率较低。
int64
使用可变长度编码,此类型表示值介于 -2^63 到 +2^63 之间的有符号整数。
uint32
使用可变长度编码,该类型表示值为 0 到 2^32 的无符号整数。
uint64
使用可变长度编码,该类型表示值为 0 到 2^64 的无符号整数。
sint32
可变长度有符号的 int 值,与常规 int32 相比,可以更有效地表示负数。
sint64
可变长度有符号的 int 值,与常规 int64 相比,可以更有效地表示负数。
bool
布尔类型,表示真 Ture 或假 False。
fixed32
定长数字类型,始终占用四个字节。如果值通常大于 2^28,则比 uint32 更有效率。
fixed64
定长数字类型,始终占用八个字节。如果值通常大于 2^56,则比 uint64 更有效率。
sfixed32
定长数字类型,始终占用四个字节。
sfixed64
定长数字类型,始终占用八个字节。
float
浮点类型,浮点数占 4 个字节,用 32 位二进制描述。
double
双精度类型,浮点数占 8 个字节,用 64 位二进制描述。
strings
字符串必须始终包含 UTF-8 编码或 7 位 ASCII 文本,并且不能超过 2^32。
bytes
可以包含任意长度不超过 2^32 的字节序列。
message
嵌套类型,可连续嵌套,支持最高嵌套128层,嵌套层数过多会影响性能。

表格定义格式

TcaplusDB 支持 Protocol Buffers 数据存储格式,这是一种轻便高效的结构化数据存储格式,主要用于将结构化数据序列化存储。 详细关于表的格式可通过 表描述语言 查看。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈