随着信息技术的飞速发展,企业越来越依赖于信息化管理。尽管当前各种新的技术层出不穷,但大多数企业的业务数据依然主要存储在数据库中, 数据库是应用系统的基石,数据库中存储着大量的数据信息,数据库的稳定性、性能、扩展性,对业务的运营起着至关重要的作用。TcaplusDB作为腾讯自研的分布式NoSQL数据库,致力于帮助客户解决数据存储问题,为业务保驾护航。
以下为TcaplusDB常见入门问题(数据库使用类-3)
写操作时,响应包里支持返回记录,读操作调用该函数无效,具体的 result_flag 值含义如下:
0表示:只需返回操作执行成功与否,不需要返回 value 字段。
1表示:返回与请求字段一致的数据。
2表示:须返回变更记录的所有字段最新数据。
3表示:须返回变更记录的所有字段旧数据。
SetResultFlagForSuccess 接口可以设置成功场景下,返回的数据情况;SetResultFlagForFail 接口可以设置在失败场景下,返回的数据情况。
increase 操作可以一次对多个 普通字段进行 increase 操作,需要 gameserver 传递的请求里对多个字段都进行了赋值,如果某个 key 不存在时,再进行 increase 操作,此时可以通过函数 SetAddableIncreaseFlag 设置;如果 key 不存在时,插入该 key 并进行 increase 操作,该 key 的非 increase 字段不会实际存储,在读取该条记录时非 increase 字段会采用默认值;如果 key 存在,则直接会执行 increase 操作。
TcaplusDB 读取记录时,支持在固定时间内记录没有变化则不返回 value 字段、记录版本号没有变化则不返回 value 字段,具体的见函数 SetFlags 函数。
TcaplusDB 支持回档,包括全区全服、单张表、千亿条记录回档N条记录,支持冷备时间回档(最近的凌晨01:05:00)、精确时间回档(秒级别)、模糊回档(您指定回档的规则),精确时间回档的速度请参照300GB数据、200GBUlog流水,耗时2小时左右,回档的原理,冷备时间回档即替换引擎文件,精确时间回档,将冷备的引擎文件 + 执行Ulog流水,执行到需要回档的时间点即可,基于 key 的回档需要您配合,先对这些 key 封号,TcaplusDB 回档完毕后,再对这些 key 解封。
推荐在业务场景1:N(N > 1024)下使用部分 key(索引)查询,单个索引键下的主键个数 = 10GB/单条记录主键的大小,单次读写索引操作耗时100ms左右(单条索引键下有10w+以上的数据记录)。
TcaplusDB API 对每个请求分配个 ID,发送成功后,将 ID 压入判断超时数据结构里,如果该请求的响应包回来后,则从数据结构里删除该 ID,如果在3秒内该请求的响应包还没有被应用层处理,则会显示打印错误日志,关键字包括 it is timeout,此时需要看下 gameserver 是否被阻塞,可能是 tcaproxy(接入层)在向 gameserver 端回包时丢包,可能是响应包已经到达了 gameserver 端,但是 gameserver 端没有及时处理
TcaplusDB 推荐您自己实现超时机制,这样可以对超时的请求进行重试等处理。
欢迎联系我们!
公众号:
TcaplusDB
社区:
https://tcaplusdb.tencent.com/
一对一服务:
QQ:3426723433
购买链接:
https://cloud.tencent.com/product/tcaplusdb