# 在SQL放置规则功能之前

+ 一个跨越地理位置部署的集群无法控制对本地数据的访问
+ 不能按业务隔离资源
+ 根据业务水平配置资源和副本很困难

![`right`](PlacementRulesInSQLBefore_aa_003_20220515.png)

-------------------------------------------------------------
TiDB 6.0 以前，TiDB 集群在数据放置管理能力方面存在以下问题：

- 一个跨越地理位置部署的集群无法控制对本地数据的访问。正如图所示，`Beijing`中的用户需要跨越地理位置来读写`Seattle`中的“T3”表，因为我们在创建表时无法指定其物理位置。

- 不可能按业务隔离资源。在图中，`Seattle`中的三个用户需要访问三张表“T4”、“T5”和“T6”，不幸的是，这三张表的大部分Leader角色都分布在TiKV-5节点上。如果能够按照业务属性放置数据，使得这三个用户可以从不同的服务器读写“T4”、“T5”和“T6”表，就可以避免热点的发生。

- 难以根据业务层级配置资源和副本。在图中，来自`Tokyo`的两个用户都需要访问“T7”表，这是一个非常重要的表，我们希望它的副本数为5。同时，“T8”表是一个历史表，我们希望“T8”表可以存储在TiKV-7、TiKV-9和TiKV-10三个节点上，性能一般，不占用高性能的TiKV-8节点，也就是冷热分离的数据放置要求。
