文档中心

常见问题

什么是KTS?

KTS是金山云公司提供的NoSQL数据库服务,提供海量结构化数据的存储和实时访问,适合所有需要一致性且延迟低于10毫秒的任意规模的应用程序。用户在使用KTS时,只需要按照预留和使用的资源进行付费,无需关心数据库的软硬件升级维护、集群伸缩等复杂问题。

什么时候应该使用 KTS?

KTS 存储按主键索引的结构化数据,实现对从 1 字节到 400KB 的记录的低延迟读取和写入访问,从而获得更高的吞吐容量和更低的响应延迟。如果应用程序的单条记录大小不在此范围内,请选择其他更加适合应用程序特性的数据库。

KTS 仅适用于大型应用程序吗?

不是。KTS 具有无缝扩展性,因此应用程序可从较小规模起步,然后根据需要扩大或缩小规模。如果应用程序需要在任何规模上都能实现快速而稳定的性能,则 KTS 可能是理想选择。

KTS 支持哪些数据类型?

KTS 支持的数据类型有:bool、int32、int64、double、string、binary。

存储在 KTS 中的数据量是否有限制?

没有限制。应用程序可将任意数量的数据存储到 KTS 表中。随着数据量增长,KTS 将自动在足够的机器资源上分布应用程序的数据,以满足应用程序的存储要求。

读取一致性是什么意思?

KTS存储每个表分散在不同区域的三个副本,以实现高可用性和高可靠性。读取一致性表示的是某个数据项的成功写入或更新会在何时、以何种方式反映在该数据项的后续读取操作中。KTS SDK能够针对应用程序中的每次读取请求,指定所需要的一致性特征(强一致性读取和最终一致性读取)。

KTS 的一致性模型是什么样的?

从 KTS 读取数据时,用户可以指定是按照最终一致性读取还是强一致性读取:
最终一致性读取(默认)– 最终一致性选项可以最大程度地提高读取吞吐量。但是,最终一致性读取可能不会反映最近完成的一次写入操作的结果。所有数据副本的一致性通常可在一秒钟之内实现。在短时间之后重复读取,应会返回最新的数据。
强一致性读取 –强一致性读取返回的结果可反映在读取前收到成功响应的所有写入。

KTS 是否支持原子更新?

支持。

为什么 KTS 是基于固态硬盘构建的?

KTS 完全运行在固态硬盘 (SSD) 上。SSD 有助于在低延迟响应时间之内,存储和访问任何规模的数据。

KTS 是否支持条件运算?

支持。应用程序可以指定一个条件,必须达到该条件才能对记录执行插入、更新或删除操作。另外,应用程序还可以构建一个由多个条件子句组合而成的条件表达式,包括嵌套子句。

KTS 是否支持递增运算或递减运算?

暂时不支持。

任何操作系统下的应用程序是否都能使用 KTS?

是的。KTS 是一项完全托管的云服务,可以通过 API 使用。任何操作系统(例如 Linux、Windows、iOS、Android、Solaris、AIX、HP-UX 等)下的应用程序都可以使用 KTS。我们建议借助 KTS SDK 初步掌握 KTS。

单条记录大小是否受到限制?

无限制,但是出于性能考虑,建议记录的总大小(包括属性名称和属性值)不得超过 400KB。

记录的属性数量是否有限制?

不受限制。

扫描操作的工作原理是什么?

应用程序可将扫描操作视为迭代器。一旦特定 Scan API 请求的扫描记录的总大小超过 1MB 限制,则该特定请求将被终止,提取的结果将与 NextStartKey一同返回(以便在后续操作中继续扫描)。

一次扫描操作要消耗多少个读取容量单位?

所需的读取单位是用扫描操作捕获到的字节数(四舍五入到最接近的 4KB)除以 4KB。采用强一致性读取方式扫描表格占用的读取容量是采用最终一致性读取方式进行扫描的三倍。

单个表的吞吐量是否有限制?

没有限制。KTS 自动将表分为多个分区,其中每个分区都是一个独立的并行计算单元。KTS 可以通过添加更多分区,不断提高吞吐率。

通过更改预配置吞吐量来请求增加或减小吞吐量时,KTS 是否保持可用?

是的。KTS 在增加或减小预配置吞吐量时仍然保持可用。

更改表的预配置吞吐量需要多长时间?

一般而言,需要的时间在几秒之间。