单独使用 TiKV 场景下,不同业务数据之间的访问隔离问题的最佳实践

比如,使用关系型数据库时,可以通过创建不同的表,来存储不同的业务数据。访问数据时,必须指定表名,这样可以做到一定程度的访问隔离。在TiKV中是否有类似概念?

一种比较容易想到的方式就是:不同的业务都在key前面加上各自业务的前缀(比如用户业务都用 users: 作为key的前缀)。

有没有其他更好的方案呢?keyspace?

尤其是现在项目中有用到 DeleteRange 功能,还挺担心一不小心设置错了startKey或者endKey时,就误删除了其他业务的数据的。

可以看下Placement Rule的相关知识,不过现在是和TiDB绑定使用比较方便,如果是只有TiKV的话,不知道是否能设置

这里是如果通过TiDB建表,如何进行资源隔离https://docs.pingcap.com/zh/tidb/stable/placement-rules-in-sql


看起来是可以设置start_key和end_key的

@zz-jason @夜-NULL

目前看TIKV不能设置这个

@zz-jason 可以问下 tikv key space 功能预计什么时候发布吗?

:thinking:上次回复是2022年~

1 个赞