forked from Oreoxmt/pingcap-docsite-preview
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Preview PR pingcap/docs#19713 and this preview is triggered from commit
- Loading branch information
Docsite Preview Bot
committed
Dec 17, 2024
1 parent
e7fb41f
commit f1c5462
Showing
12 changed files
with
236 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+287 KB
...ages/en/tidbcloud/master/media/tidb-cloud/implementation-of-tidb-node-group.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+153 KB
...down-pages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-change-name.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+374 KB
...ages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-change-node-count.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+153 KB
...n/tidbcloud/master/media/tidb-cloud/tidb-node-group-connect-public-endpoint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+332 KB
markdown-pages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-create.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+411 KB
markdown-pages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-delete.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+348 KB
markdown-pages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-table-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+408 KB
...down-pages/en/tidbcloud/master/media/tidb-cloud/tidb-node-group-window-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions
38
markdown-pages/en/tidbcloud/master/tidb-cloud/optimize-resource-allocation.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
title: Optimize Your Resource Allocation | ||
summary: Learn about how to optimize your resource allocation in TiDB Cloud. | ||
--- | ||
|
||
# Optimize Your Resource Allocation | ||
|
||
As a Hybrid Transactional and Analytical Processing (HTAP) database, [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) clusters clusters often support multiple upper-level businesses, each with different quality of service (QoS) requirements. In some cases, you might need to allocate maximum resources to high-priority businesses to ensure their latency remains within an acceptable range. | ||
|
||
TiDB Cloud Dedicated clusters offer resource optimization features, including [Resource Control](/tidb-resource-control.md) and the [TiDB Node Group](/tidb-cloud/tidb-node-group-overview.md) feature (Private Beta). These capabilities enable you to allocate resources efficiently in multi-business situations. | ||
|
||
## Resource Control | ||
|
||
[Resource Control](/tidb-resource-control.md) allows you to divide the storage nodes (TiKV or TiFlash) of a TiDB Cloud Dedicated cluster into multiple logical groups. In systems with mixed workloads, you can assign different workloads to separate resource groups, ensuring resource isolation and meeting QoS requirements. | ||
|
||
If the cluster encounters unexpected SQL performance issues, you can use [SQL bindings](/sql-statements/sql-statement-create-binding.md) or [manage runaway queries](/tidb-resource-control.md#manage-queries-that-consume-more-resources-than-expected-runaway-queries) alongside resource groups to temporarily limit the resource consumption of a SQL statement. | ||
|
||
Effectively using resource control can reduce the number of clusters, simplify operations and maintenance, and lower management costs. | ||
|
||
## The TiDB Node Group feature | ||
|
||
The [TiDB Node Group](/tidb-cloud/tidb-node-group-overview.md) feature (Private Beta) physically groups the computing nodes (TiDB layer) of a TiDB Cloud Dedicated cluster. Each group is configured with a specific number of TiDB nodes, ensuring physical separation of computing resources between groups. | ||
|
||
You can divide computing nodes into multiple TiDB node groups based on business requirements and assign unique connection endpoints to each TiDB node group. Upper-layer businesses access the cluster through their respective endpoints, and requests are directed to the corresponding TiDB node group. This setup ensures that resource overuse in one TiDB node group does not impact businesses in other TiDB node groups. | ||
|
||
## Comparison between Resource Control and the TiDB Node Group feature | ||
|
||
Depending on your application needs and budget, you can choose to use either Resource Control, the TiDB Node Group feature, or a combination of both, to achieve your desired resource isolation. | ||
|
||
The following table compares the pros and cons of Resource Control and the TiDB Node Group feature: | ||
|
||
| Comparison Item | Resource Control | TiDB Node Group | | ||
|--------------------------|---------------------------|------------------------| | ||
| Level of isolation | TiKV or TiFlash logical layer | TiDB node physical layer | | ||
| Flow control | Controls the flow of user read and write requests based on the quotas set for the resource groups. | Not supported. | | ||
| Configuration experience | Configured using SQL statements | Configured via the TiDB Cloud console | | ||
| Distinguishing workloads | Supports binding resources at the following levels: </b>- User level. </b>- Session level (set the resource group per session). </b>- Statement level (set the resource group per statement). | Provide different connection endpoints for different workloads. | | ||
| Cost | No extra cost | Cost associated with adding TiDB nodes, but no extra cost for creating TiDB node groups. | |
135 changes: 135 additions & 0 deletions
135
markdown-pages/en/tidbcloud/master/tidb-cloud/tidb-node-group-management.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
title: Manage TiDB Node Groups | ||
summary: Learn about how to manage TiDB node groups. | ||
--- | ||
|
||
# Manage TiDB Node Groups | ||
|
||
This document describes how to manage TiDB node groups and their endpoints to isolate your business workload using the [TiDB Cloud console](https://tidbcloud.com/). | ||
|
||
Currently, the TiDB Node Group feature is in private beta and only available upon request. To request this feature: | ||
|
||
1. Click **?** in the lower-right corner of the [TiDB Cloud console](https://tidbcloud.com/). | ||
2. Click **Request Support**. | ||
3. Fill in **Apply for TiDB Node Group feature** in the **Description** field. | ||
4. Click **Submit**. | ||
|
||
## Terms | ||
|
||
- TiDB Node Group: A TiDB node group manages the grouping of TiDB nodes and maintains the mapping between endpoints and TiDB nodes. | ||
|
||
- Each TiDB node group has an independent endpoint. | ||
- When you delete a TiDB node group, the related network setting (such as private link and IP access list) will be deleted too. | ||
|
||
- Default Group: When a cluster created, a default TiDB node group is created. Therefore, each cluster has a default group. The default group can not be deleted. | ||
|
||
## Prerequisites | ||
|
||
- You have a [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) cluster on AWS. | ||
- You are in the **Organization Owner** or **Project Owner** role of your organization. For more information, see [User roles](/tidb-cloud/manage-user-access.md#user-roles). | ||
|
||
## Create a TiDB node group | ||
|
||
> **Note**: | ||
> | ||
> If you create a TiDB node group but still use the endpoint of the default group to connect to the cluster, the TiDB nodes in the TiDB node group will not take any workload, which is a waste of the resource. | ||
1. In the [TiDB Cloud console](https://tidbcloud.com/), navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page of your project. | ||
2. Click **...** in the upper-right corner. | ||
3. Click **Modify** in the drop-down menu. The **Modify Cluster** page is displayed. | ||
4. On the **Modify Cluster** page, click **+** to add a new TiDB node group as follows. | ||
|
||
- TiDB | ||
- **vCPU + RAM**: choose the [TiDB size](/tidb-cloud/size-your-cluster.md#size-tidb) you need. | ||
- **Node Groups**: enter the number of TiDB nodes in the Default Groups field. You can also create new node groups by clicking **+**. | ||
- TiKV | ||
- **vCPU + RAM**: choose the [TiKV size](/tidb-cloud/size-your-cluster.md#size-tikv) you need. | ||
- **Storage X Nodes**: choose the storage size and the number of TiKV nodes. | ||
|
||
![Create TiDB Node Group](/media/tidb-cloud/tidb-node-group-create.png) | ||
|
||
5. New TiDB nodes will be added with the new TiDB node group. The billing of the cluster will change. Review the cluster size in the right pane, and then click **Confirm**. | ||
|
||
## Connect to a TiDB node group | ||
|
||
### Connect via public connection | ||
|
||
Public connection for the new TiDB node group is disabled by default. You need to enable it first. | ||
|
||
To enable public connection, do the following: | ||
|
||
1. Navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Connect** in the upper-right corner. A connection dialog is displayed. | ||
3. Choose the new TiDB node group and public connection type. | ||
4. Visit the **Networking** page and select the new node group. | ||
5. Enable the public connection and add the IP access list. | ||
6. Click **Connect** on the up-right of the page and you can get the connection string. | ||
|
||
![Connect to the new TiDB node group via Public Endpoint](/media/tidb-cloud/tidb-node-group-connect-public-endpoint.png) | ||
|
||
For more information, see [Connect to TiDB Cloud Dedicated via Public Connection](/tidb-cloud/connect-via-standard-connection.md). | ||
|
||
### Connect via private endpoint | ||
|
||
1. Navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Connect** in the upper-right corner. A connection dialog is displayed. | ||
3. Choose the new TiDB node group and public connection type. | ||
4. Visit the **Networking** page and select the new node group. | ||
5. Click **Create Private Endpoint Connection** to create a new connection for this node group. For more information, see [Connect to a TiDB Cloud Dedicated Cluster via Private Endpoint with AWS](/tidb-cloud/set-up-private-endpoint-connections.md). | ||
|
||
> **Note**: | ||
> | ||
> If you use Private Link to connect different node groups, you need to create separated private endpoint connection for each node group. | ||
6. After you create the private endpoint connection, click **Connect** on the up-right of the page to get the connection string. | ||
|
||
### Connect via VPC peering | ||
|
||
Because the cluster is in one VPC and all the TiDB node groups share the same VPC, you only need to create one VPC peering, then all the groups can use it. | ||
|
||
1. Follow the instrcutions in [Connect to TiDB Cloud Dedicated via VPC Peering](/tidb-cloud/set-up-vpc-peering-connections.md) to create a VPC peering for this cluster. | ||
2. Click **Connect** on the up-right of the **Networking** page to get the connection string. | ||
|
||
## View a TiDB node group | ||
|
||
1. Navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Nodes** in the left pane. | ||
|
||
![TiDB node group window view](/media/tidb-cloud/tidb-node-group-window-view.png) | ||
|
||
You can also click the button highlighted in the screenshot to switch to the table view. | ||
|
||
![TiDB node group table view](/media/tidb-cloud/tidb-node-group-table-view.png) | ||
|
||
## Modify a TiDB node group | ||
|
||
You can change the group name and the number of TiDB nodes in the group. | ||
|
||
### Change the group name | ||
|
||
1. Navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Nodes** in the left pane. | ||
3. Click the edit icon highlighted in the screenshot to change the name of the TiDB node group. | ||
|
||
![Change TiDB node group name](/media/tidb-cloud/tidb-node-group-change-name.png) | ||
|
||
### Change the number of TiDB nodes | ||
|
||
1. Navigate to the [**Cluster**](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Nodes** in the left pane. | ||
3. Click **Modify**. | ||
4. On the **Modify Cluster** page, update the number of TiDB nodes, or add new TiDB node groups. | ||
|
||
![Change TiDB node group node count](/media/tidb-cloud/tidb-node-group-change-node-count.png) | ||
|
||
## Delete a TiDB node group | ||
|
||
> **Note**: | ||
> | ||
> Deleting a TiDB node group will also remove the nodes and associated network configurations, including private endpoint connections and the IP list for public access. | ||
1. Navigate to the [Cluster](https://tidbcloud.com/console/clusters) page. | ||
2. Click **Nodes** in the left pane. | ||
3. Click **Modify**. | ||
4. On the **Modify Cluster** page, click the delete icon to delete the TiDB node group. | ||
|
||
![Delete the TiDB node group](/media/tidb-cloud/tidb-node-group-delete.png) |
59 changes: 59 additions & 0 deletions
59
markdown-pages/en/tidbcloud/master/tidb-cloud/tidb-node-group-overview.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
--- | ||
title: TiDB Node Group Overview | ||
summary: Learn about the overview of the TiDB Node Group feature. | ||
--- | ||
|
||
# TiDB Node Group Overview | ||
|
||
TiDB Cloud allows you to create TiDB node groups for [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) clusters. A TiDB node group physically groups the computing nodes (TiDB layer) of the cluster, with each group configured with a set number of TiDB nodes. This setup provides physical isolation of computing resources between groups, enabling efficient resource allocation in multi-business situations. | ||
|
||
Using TiDB node groups, you can divide computing nodes into multiple TiDB node groups based on business needs, and configure unique connection endpoints for each TiDB node group. Upper-layer businesses access the cluster through their respective endpoints, and requests are routed to the corresponding TiDB node group for execution. This ensures that even if resources in one TiDB node group are overused, businesses in other TiDB node groups will not be affected. | ||
|
||
> **Note**: | ||
> | ||
> The TiDB Node Group feature is **NOT** available for TiDB Cloud Serverless clusters. | ||
## Implementations | ||
|
||
TiDB node groups manage the grouping of TiDB nodes and maintain the mapping between endpoints and the corresponding TiDB nodes. | ||
|
||
Each TiDB node group is associated with a dedicated load balancer. When a user sends a SQL request to the endpoint of a TiDB node group, the request first passes through the group's load balancer, and then the load balancer distributes the request exclusively to the TiDB nodes within that group. | ||
|
||
The following diagram illustrates the implementation of the TiDB Node Group feature. | ||
|
||
![The implementations of the TiDB Node Group feature](/media/tidb-cloud/implementation-of-tidb-node-group.png) | ||
|
||
All nodes in a TiDB node group respond to requests from the corresponding endpoint. You can perform the following tasks: | ||
|
||
- Create a TiDB node group and assign TiDB nodes to it. | ||
- Set up connection endpoints for each group. Supported connection types include [public connection](/tidb-cloud/tidb-node-group-management.md#connect-via-public-connection), [private endpoint](/tidb-cloud/tidb-node-group-management.md#connect-via-private-endpoint), and [VPC peering](/tidb-cloud/tidb-node-group-management.md#connect-via-vpc-peering). | ||
- Direct applications to send requests to different groups through distinct endpoints to achieve resource isolation. | ||
|
||
## Scenarios | ||
|
||
The TiDB Node Group feature significantly enhances resource allocation for TiDB Cloud Dedicated clusters. TiDB nodes are dedicated to computation and do not store data, and TiDB node groups allow you to organize these nodes into multiple physical groups. This isolation ensures that resource overuse in one node group does not impact businesses in other groups. | ||
|
||
With this feature, you can: | ||
|
||
- Consolidate multiple applications from different systems into a single TiDB Cloud Dedicated cluster. As an application's workload grows, it will not affect the normal operation of other applications. The TiDB Node Group feature ensures that the response time of transactional applications is not impacted by data analysis or batch applications. | ||
|
||
- Perform import or DDL tasks on the TiDB Cloud Dedicated cluster without affecting the performance of the existing production workloads. You can create separate TiDB node group for importing or DDL tasks. Even though importing or DDL tasks take a lot of CPU or memory resource, they only use the resource in their own TiDB node group, and the workload in other TiDB node group will not be impacted. | ||
|
||
- Combine all test environments into a single TiDB cluster or group resource-intensive batch tasks into a dedicated TiDB node group. This approach improves hardware utilization, reduces operating costs, and ensures that critical applications always have access to necessary resources. | ||
|
||
In addition, TiDB node groups are easy to scale in or out. For key applications with high performance requirments, you can allocate sufficient TiDB nodes to the group. For less demanding applications, you can start with a small number of TiDB nodes and scale out as needed. Efficient use of the TiDB Node Group feature can reduce the number of clusters, simplify operations and maintenance, and lower management costs. | ||
|
||
## Limitations and quotas | ||
|
||
Currently, the TiDB Node Group feature is in private beta and free of charge. The following are limitations and quotas: | ||
|
||
- You can only create TiDB node groups for TiDB Cloud Dedicated clusters on AWS. Support for other cloud providers is planned for the near future. | ||
- TiDB clusters with 4 vCPU and 16 GiB memory do not support the TiDB Node Group feature. | ||
- By default, you can create up to five TiDB node groups for a TiDB Cloud Dedicated cluster. If you need more groups, contact [TiDB Cloud Support](/tidb-cloud/tidb-cloud-support.md). | ||
- Each TiDB node group must contain at least one TiDB node. While there is no limit to the number of nodes in a group, the total number of TiDB nodes in a TiDB Cloud Dedicated cluster must not exceed 150. | ||
|
||
## SLA impact | ||
|
||
According to TiDB Cloud [Service Level Agreement (SLA)](https://www.pingcap.com/legal/service-level-agreement-for-tidb-cloud-services/), the Monthly Uptime Percentage of TiDB Cloud Dedicated clusters with multiple TiDB nodes deployment can reach up to 99.99%. However, after introducing the TiDB Node Group feature, TiDB Cloud can not provide high availability across TiDB node groups. If you create multiple TiDB node groups with only one TiDB node in each group, you will lose the high availability for the groups and your cluster's monthly uptime percentage will downgrade to a single TiDB node deployment model. | ||
|
||
For high availability, it is recommended that you configure at least two TiDB nodes for each TiDB node group. |