You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sp...@apache.org on 2023/02/13 14:02:31 UTC

[iotdb] branch master updated: [IOTDB-5485] Rename StorageGroup to Database in ConfigNode (#9028)

This is an automated email from the ASF dual-hosted git repository.

spricoder pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 199b9367c3 [IOTDB-5485] Rename StorageGroup to Database in ConfigNode (#9028)
199b9367c3 is described below

commit 199b9367c3b1400f06b37f06c31963a670a8aa8f
Author: YongzaoDan <33...@users.noreply.github.com>
AuthorDate: Mon Feb 13 22:02:25 2023 +0800

    [IOTDB-5485] Rename StorageGroup to Database in ConfigNode (#9028)
    
    * Rename variables
    
    * Finish
    
    * Bug fix and code smell
    
    * code smells
    
    * Update RELEASE_NOTES.md
---
 .../consensus/request/ConfigPhysicalPlan.java      | 16 ++--
 .../CountDatabasePlan.java}                        | 23 +++--
 .../GetDatabasePlan.java}                          |  9 +-
 .../request/read/region/GetRegionInfoListPlan.java |  6 +-
 .../write/storagegroup/DatabaseSchemaPlan.java     | 10 +--
 ...orageGroupPlan.java => DeleteDatabasePlan.java} | 17 ++--
 ...geGroupPlan.java => PreDeleteDatabasePlan.java} | 31 +++++--
 .../response/{ => auth}/PermissionInfoResp.java    |  2 +-
 .../consensus/response/{ => cq}/ShowCQResp.java    |  3 +-
 .../CountDatabaseResp.java}                        | 11 +--
 .../DatabaseSchemaResp.java}                       | 25 +++---
 .../response/{ => datanode}/ConfigurationResp.java |  3 +-
 .../{ => datanode}/DataNodeConfigurationResp.java  |  3 +-
 .../{ => datanode}/DataNodeRegisterResp.java       |  3 +-
 .../{ => datanode}/DataNodeToStatusResp.java       |  4 +-
 .../response/{ => function}/FunctionTableResp.java |  2 +-
 .../{ => partition}/DataPartitionResp.java         |  2 +-
 .../response/{ => partition}/GetRegionIdResp.java  |  2 +-
 .../{ => partition}/GetSeriesSlotListResp.java     |  2 +-
 .../{ => partition}/GetTimeSlotListResp.java       |  2 +-
 .../response/{ => partition}/PathInfoResp.java     |  2 +-
 .../{ => partition}/RegionInfoListResp.java        |  2 +-
 .../{ => partition}/SchemaNodeManagementResp.java  |  2 +-
 .../{ => partition}/SchemaPartitionResp.java       |  2 +-
 .../consensus/response/{ => pipe}/PipeResp.java    |  3 +-
 .../response/{ => pipe}/PipeSinkResp.java          |  3 +-
 .../{ => template}/AllTemplateSetInfoResp.java     |  2 +-
 .../response/{ => template}/TemplateInfoResp.java  |  2 +-
 .../{ => template}/TemplateSetInfoResp.java        |  2 +-
 .../{ => trigger}/TransferringTriggersResp.java    |  2 +-
 .../{ => trigger}/TriggerLocationResp.java         |  2 +-
 .../response/{ => trigger}/TriggerTableResp.java   |  2 +-
 .../consensus/response/{ => udf}/JarResp.java      |  2 +-
 .../confignode/manager/ClusterSchemaManager.java   | 79 +++++++++--------
 .../iotdb/confignode/manager/ConfigManager.java    | 50 +++++------
 .../apache/iotdb/confignode/manager/IManager.java  | 12 +--
 .../confignode/manager/PermissionManager.java      |  2 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  6 +-
 .../iotdb/confignode/manager/SyncManager.java      |  4 +-
 .../iotdb/confignode/manager/TriggerManager.java   |  8 +-
 .../iotdb/confignode/manager/UDFManager.java       |  4 +-
 .../iotdb/confignode/manager/cq/CQManager.java     |  2 +-
 .../iotdb/confignode/manager/node/NodeManager.java |  8 +-
 .../manager/partition/PartitionManager.java        | 26 +++---
 .../iotdb/confignode/persistence/AuthorInfo.java   |  2 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |  8 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |  4 +-
 .../iotdb/confignode/persistence/cq/CQInfo.java    |  2 +-
 .../persistence/executor/ConfigPlanExecutor.java   | 30 +++----
 .../persistence/metric/PartitionInfoMetrics.java   | 41 +++++----
 .../confignode/persistence/node/NodeInfo.java      |  2 +-
 ...itionTable.java => DatabasePartitionTable.java} | 55 ++++++------
 .../persistence/partition/PartitionInfo.java       | 96 ++++++++++-----------
 .../persistence/schema/ClusterSchemaInfo.java      | 55 ++++++------
 .../persistence/sync/ClusterSyncInfo.java          |  4 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      | 11 ++-
 .../procedure/env/DataNodeRemoveHandler.java       |  2 +-
 .../impl/schema/DeleteStorageGroupProcedure.java   | 16 ++--
 .../thrift/ConfigNodeRPCServiceProcessor.java      | 87 ++++++++++---------
 .../request/ConfigPhysicalPlanSerDeTest.java       | 40 ++++-----
 .../confignode/persistence/AuthorInfoTest.java     |  2 +-
 .../persistence/ClusterSchemaInfoTest.java         | 36 ++++----
 .../confignode/persistence/PartitionInfoTest.java  | 12 +--
 .../impl/DeleteStorageGroupProcedureTest.java      |  4 +-
 .../confignode/it/IoTDBConfigNodeSnapshotIT.java   |  4 +-
 .../it/cluster/IoTDBClusterRestartIT.java          |  4 +-
 .../it/database/IoTDBDatabaseRegionControlIT.java  |  8 +-
 .../it/database/IoTDBDatabaseSetAndDeleteIT.java   | 43 +++++-----
 .../load/IoTDBClusterRegionLeaderBalancingIT.java  |  6 +-
 .../it/load/IoTDBConfigNodeSwitchLeaderIT.java     |  6 +-
 .../partition/IoTDBAutoRegionGroupExtensionIT.java | 12 +--
 .../IoTDBCustomRegionGroupExtensionIT.java         |  8 +-
 .../it/partition/IoTDBPartitionCreationIT.java     |  4 +-
 .../it/partition/IoTDBPartitionDurableIT.java      |  4 +-
 .../it/partition/IoTDBPartitionGetterIT.java       | 14 ++--
 .../partition/IoTDBPartitionInheritPolicyIT.java   |  4 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  | 14 ++--
 .../utils/ThriftConfigNodeSerDeUtilsTest.java      |  6 +-
 .../rocksdb/mnode/RStorageGroupMNode.java          |  6 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   | 39 ++++-----
 .../db/metadata/mnode/IStorageGroupMNode.java      |  6 +-
 .../db/metadata/mnode/StorageGroupEntityMNode.java |  6 +-
 .../iotdb/db/metadata/mnode/StorageGroupMNode.java | 10 +--
 .../db/mpp/plan/analyze/cache/PartitionCache.java  | 12 ++-
 .../config/executor/ClusterConfigTaskExecutor.java | 41 ++++-----
 .../config/metadata/DatabaseSchemaTask.java        |  6 +-
 .../execution/config/metadata/ShowRegionTask.java  |  2 +-
 .../metadata/ShowStorageGroupStatement.java        |  8 +-
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |  4 +-
 .../src/main/thrift/confignode.thrift              | 98 +++++++++++-----------
 90 files changed, 651 insertions(+), 638 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
index 18c1692a7e..f51999cfdf 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
@@ -20,6 +20,8 @@ package org.apache.iotdb.confignode.consensus.request;
 
 import org.apache.iotdb.commons.exception.runtime.SerializationRunTimeException;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.function.GetFunctionTablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
@@ -31,8 +33,6 @@ import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlo
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.CheckTemplateSettablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllTemplateSetInfoPlan;
@@ -66,8 +66,8 @@ import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMai
 import org.apache.iotdb.confignode.consensus.request.write.region.PollRegionMaintainTaskPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.AdjustMaxRegionGroupNumPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetDataReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetSchemaReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPlan;
@@ -185,10 +185,10 @@ public abstract class ConfigPhysicalPlan implements IConsensusRequest {
           plan = new AdjustMaxRegionGroupNumPlan();
           break;
         case CountDatabase:
-          plan = new CountStorageGroupPlan();
+          plan = new CountDatabasePlan();
           break;
         case GetDatabase:
-          plan = new GetStorageGroupPlan();
+          plan = new GetDatabasePlan();
           break;
         case CreateRegionGroups:
           plan = new CreateRegionGroupsPlan();
@@ -224,10 +224,10 @@ public abstract class ConfigPhysicalPlan implements IConsensusRequest {
           plan = new UpdateProcedurePlan();
           break;
         case PreDeleteDatabase:
-          plan = new PreDeleteStorageGroupPlan();
+          plan = new PreDeleteDatabasePlan();
           break;
         case DeleteDatabase:
-          plan = new DeleteStorageGroupPlan();
+          plan = new DeleteDatabasePlan();
           break;
         case ListUser:
         case ListRole:
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/CountStorageGroupPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/CountDatabasePlan.java
similarity index 80%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/CountStorageGroupPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/CountDatabasePlan.java
index d6ef3889a6..d247ae20db 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/CountStorageGroupPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/CountDatabasePlan.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.request.read.storagegroup;
+
+package org.apache.iotdb.confignode.consensus.request.read.database;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
@@ -28,24 +29,24 @@ import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.List;
 
-public class CountStorageGroupPlan extends ConfigPhysicalPlan {
+public class CountDatabasePlan extends ConfigPhysicalPlan {
 
   private String[] storageGroupPattern;
 
-  public CountStorageGroupPlan() {
+  public CountDatabasePlan() {
     super(ConfigPhysicalPlanType.CountDatabase);
   }
 
-  public CountStorageGroupPlan(ConfigPhysicalPlanType type) {
+  public CountDatabasePlan(ConfigPhysicalPlanType type) {
     super(type);
   }
 
-  public CountStorageGroupPlan(List<String> storageGroupPattern) {
+  public CountDatabasePlan(List<String> storageGroupPattern) {
     this();
     this.storageGroupPattern = storageGroupPattern.toArray(new String[0]);
   }
 
-  public CountStorageGroupPlan(ConfigPhysicalPlanType type, List<String> storageGroupPattern) {
+  public CountDatabasePlan(ConfigPhysicalPlanType type, List<String> storageGroupPattern) {
     super(type);
     this.storageGroupPattern = storageGroupPattern.toArray(new String[0]);
   }
@@ -75,9 +76,13 @@ public class CountStorageGroupPlan extends ConfigPhysicalPlan {
 
   @Override
   public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    CountStorageGroupPlan that = (CountStorageGroupPlan) o;
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    CountDatabasePlan that = (CountDatabasePlan) o;
     return Arrays.equals(storageGroupPattern, that.storageGroupPattern);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/GetStorageGroupPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/GetDatabasePlan.java
similarity index 81%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/GetStorageGroupPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/GetDatabasePlan.java
index 2a9c139762..908d0cbb81 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/storagegroup/GetStorageGroupPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/database/GetDatabasePlan.java
@@ -16,19 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.request.read.storagegroup;
+
+package org.apache.iotdb.confignode.consensus.request.read.database;
 
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 
 import java.util.List;
 
-public class GetStorageGroupPlan extends CountStorageGroupPlan {
+public class GetDatabasePlan extends CountDatabasePlan {
 
-  public GetStorageGroupPlan() {
+  public GetDatabasePlan() {
     super(ConfigPhysicalPlanType.GetDatabase);
   }
 
-  public GetStorageGroupPlan(List<String> storageGroupPathPattern) {
+  public GetDatabasePlan(List<String> storageGroupPathPattern) {
     super(ConfigPhysicalPlanType.GetDatabase, storageGroupPathPattern);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/region/GetRegionInfoListPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/region/GetRegionInfoListPlan.java
index ce450f552b..d40ddfecee 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/region/GetRegionInfoListPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/region/GetRegionInfoListPlan.java
@@ -60,10 +60,10 @@ public class GetRegionInfoListPlan extends ConfigPhysicalPlan {
       if (setConsensusGroupType) {
         ReadWriteIOUtils.write(showRegionReq.getConsensusGroupType().ordinal(), stream);
       }
-      boolean setStorageGroups = showRegionReq.isSetStorageGroups();
+      boolean setStorageGroups = showRegionReq.isSetDatabases();
       stream.writeBoolean(setStorageGroups);
       if (setStorageGroups) {
-        ReadWriteIOUtils.writeStringList(showRegionReq.getStorageGroups(), stream);
+        ReadWriteIOUtils.writeStringList(showRegionReq.getDatabases(), stream);
       }
     }
   }
@@ -77,7 +77,7 @@ public class GetRegionInfoListPlan extends ConfigPhysicalPlan {
             TConsensusGroupType.values()[ReadWriteIOUtils.readInt(buffer)]);
       }
       if (ReadWriteIOUtils.readBool(buffer)) {
-        this.showRegionReq.setStorageGroups(ReadWriteIOUtils.readStringList(buffer));
+        this.showRegionReq.setDatabases(ReadWriteIOUtils.readStringList(buffer));
       }
     }
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DatabaseSchemaPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DatabaseSchemaPlan.java
index 039cf5c2a1..1a0e6d749e 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DatabaseSchemaPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DatabaseSchemaPlan.java
@@ -22,7 +22,7 @@ package org.apache.iotdb.confignode.consensus.request.write.storagegroup;
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -31,19 +31,19 @@ import java.util.Objects;
 
 public class DatabaseSchemaPlan extends ConfigPhysicalPlan {
 
-  private TStorageGroupSchema schema;
+  private TDatabaseSchema schema;
 
   public DatabaseSchemaPlan(ConfigPhysicalPlanType planType) {
     super(planType);
-    this.schema = new TStorageGroupSchema();
+    this.schema = new TDatabaseSchema();
   }
 
-  public DatabaseSchemaPlan(ConfigPhysicalPlanType planType, TStorageGroupSchema schema) {
+  public DatabaseSchemaPlan(ConfigPhysicalPlanType planType, TDatabaseSchema schema) {
     this(planType);
     this.schema = schema;
   }
 
-  public TStorageGroupSchema getSchema() {
+  public TDatabaseSchema getSchema() {
     return schema;
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteStorageGroupPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteDatabasePlan.java
similarity index 85%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteStorageGroupPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteDatabasePlan.java
index ca76c1131e..5bf31ebd2d 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteStorageGroupPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteDatabasePlan.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.confignode.consensus.request.write.storagegroup;
 
 import org.apache.iotdb.commons.utils.BasicStructureSerDeUtil;
@@ -27,15 +28,15 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
-public class DeleteStorageGroupPlan extends ConfigPhysicalPlan {
+public class DeleteDatabasePlan extends ConfigPhysicalPlan {
 
   private String name;
 
-  public DeleteStorageGroupPlan() {
+  public DeleteDatabasePlan() {
     super(ConfigPhysicalPlanType.DeleteDatabase);
   }
 
-  public DeleteStorageGroupPlan(String name) {
+  public DeleteDatabasePlan(String name) {
     this();
     this.name = name;
   }
@@ -57,9 +58,13 @@ public class DeleteStorageGroupPlan extends ConfigPhysicalPlan {
 
   @Override
   public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    DeleteStorageGroupPlan that = (DeleteStorageGroupPlan) o;
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    DeleteDatabasePlan that = (DeleteDatabasePlan) o;
     return name.equals(that.name);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteStorageGroupPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteDatabasePlan.java
similarity index 77%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteStorageGroupPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteDatabasePlan.java
index e93e598add..89c9bd5162 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteStorageGroupPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteDatabasePlan.java
@@ -26,16 +26,17 @@ import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.Objects;
 
-public class PreDeleteStorageGroupPlan extends ConfigPhysicalPlan {
+public class PreDeleteDatabasePlan extends ConfigPhysicalPlan {
   private String storageGroup;
   private PreDeleteType preDeleteType;
 
-  public PreDeleteStorageGroupPlan() {
+  public PreDeleteDatabasePlan() {
     super(ConfigPhysicalPlanType.PreDeleteDatabase);
   }
 
-  public PreDeleteStorageGroupPlan(String storageGroup, PreDeleteType preDeleteType) {
+  public PreDeleteDatabasePlan(String storageGroup, PreDeleteType preDeleteType) {
     this();
     this.storageGroup = storageGroup;
     this.preDeleteType = preDeleteType;
@@ -53,10 +54,6 @@ public class PreDeleteStorageGroupPlan extends ConfigPhysicalPlan {
     return preDeleteType;
   }
 
-  public void setPreDeleteType(PreDeleteType preDeleteType) {
-    this.preDeleteType = preDeleteType;
-  }
-
   @Override
   protected void serializeImpl(DataOutputStream stream) throws IOException {
     stream.writeShort(getType().getPlanType());
@@ -70,6 +67,26 @@ public class PreDeleteStorageGroupPlan extends ConfigPhysicalPlan {
     this.preDeleteType = buffer.get() == (byte) 1 ? PreDeleteType.ROLLBACK : PreDeleteType.EXECUTE;
   }
 
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    if (!super.equals(o)) {
+      return false;
+    }
+    PreDeleteDatabasePlan that = (PreDeleteDatabasePlan) o;
+    return storageGroup.equals(that.storageGroup) && preDeleteType == that.preDeleteType;
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(super.hashCode(), storageGroup, preDeleteType);
+  }
+
   public enum PreDeleteType {
     EXECUTE((byte) 0),
     ROLLBACK((byte) 1);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PermissionInfoResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/auth/PermissionInfoResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PermissionInfoResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/auth/PermissionInfoResp.java
index 50fde2a033..35aad7a15c 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PermissionInfoResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/auth/PermissionInfoResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.auth;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.consensus.common.DataSet;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ShowCQResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ShowCQResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java
index e59cc9eb04..f922888bae 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ShowCQResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.cq;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.persistence.cq.CQInfo;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/CountStorageGroupResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/CountDatabaseResp.java
similarity index 82%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/CountStorageGroupResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/CountDatabaseResp.java
index 259acb2094..b034c07c4b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/CountStorageGroupResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/CountDatabaseResp.java
@@ -16,20 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.database;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
+import org.apache.iotdb.confignode.rpc.thrift.TCountDatabaseResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
 
-public class CountStorageGroupResp implements DataSet {
+public class CountDatabaseResp implements DataSet {
 
   private TSStatus status;
 
   private int count;
 
-  public CountStorageGroupResp() {
+  public CountDatabaseResp() {
     // Empty constructor
   }
 
@@ -45,7 +46,7 @@ public class CountStorageGroupResp implements DataSet {
     this.count = count;
   }
 
-  public void convertToRPCCountStorageGroupResp(TCountStorageGroupResp resp) {
+  public void convertToRPCCountStorageGroupResp(TCountDatabaseResp resp) {
     resp.setStatus(status);
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       resp.setCount(count);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/DatabaseSchemaResp.java
similarity index 65%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/DatabaseSchemaResp.java
index d7b017fea6..52407277fb 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/StorageGroupSchemaResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/database/DatabaseSchemaResp.java
@@ -16,24 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.database;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Map;
 
-public class StorageGroupSchemaResp implements DataSet {
+public class DatabaseSchemaResp implements DataSet {
 
   private TSStatus status;
 
-  // Map<StorageGroupName, TStorageGroupSchema>
-  private Map<String, TStorageGroupSchema> schemaMap;
+  // Map<DatabaseName, TDatabaseSchema>
+  private Map<String, TDatabaseSchema> schemaMap;
 
-  public StorageGroupSchemaResp() {
+  public DatabaseSchemaResp() {
     // empty constructor
   }
 
@@ -45,20 +46,20 @@ public class StorageGroupSchemaResp implements DataSet {
     this.status = status;
   }
 
-  public void setSchemaMap(Map<String, TStorageGroupSchema> schemaMap) {
+  public void setSchemaMap(Map<String, TDatabaseSchema> schemaMap) {
     this.schemaMap = schemaMap;
   }
 
-  public TStorageGroupSchemaResp convertToRPCStorageGroupSchemaResp() {
-    TStorageGroupSchemaResp resp = new TStorageGroupSchemaResp();
+  public TDatabaseSchemaResp convertToRPCStorageGroupSchemaResp() {
+    TDatabaseSchemaResp resp = new TDatabaseSchemaResp();
     resp.setStatus(status);
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      resp.setStorageGroupSchemaMap(schemaMap);
+      resp.setDatabaseSchemaMap(schemaMap);
     }
     return resp;
   }
 
-  public Map<String, TStorageGroupSchema> getSchemaMap() {
+  public Map<String, TDatabaseSchema> getSchemaMap() {
     return schemaMap;
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ConfigurationResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/ConfigurationResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ConfigurationResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/ConfigurationResp.java
index 3353411fe4..cc7b23d259 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ConfigurationResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/ConfigurationResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.datanode;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.rpc.thrift.TCQConfig;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeConfigurationResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeConfigurationResp.java
index 696d3f163c..5ba33bb272 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeConfigurationResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeConfigurationResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.datanode;
 
 import org.apache.iotdb.common.rpc.thrift.TDataNodeConfiguration;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeRegisterResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeRegisterResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeRegisterResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeRegisterResp.java
index a6e8d9d713..1dcc7abe3f 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeRegisterResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeRegisterResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.datanode;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeToStatusResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeToStatusResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeToStatusResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeToStatusResp.java
index 17e265b376..4973947c26 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataNodeToStatusResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/datanode/DataNodeToStatusResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.datanode;
 
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
@@ -27,7 +28,6 @@ import org.apache.iotdb.rpc.TSStatusCode;
 import java.util.Map;
 
 public class DataNodeToStatusResp implements DataSet {
-  // TODO the class is  useful?
   private TSStatus status;
 
   private Map<TDataNodeLocation, TSStatus> dataNodeLocationToStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/FunctionTableResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/function/FunctionTableResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/FunctionTableResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/function/FunctionTableResp.java
index 3a59cf8f9f..79a04ecc70 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/FunctionTableResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/function/FunctionTableResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.function;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.udf.UDFInformation;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/DataPartitionResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/DataPartitionResp.java
index b370601527..a2f902f41f 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/DataPartitionResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/DataPartitionResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetRegionIdResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetRegionIdResp.java
index 7118482306..617591225a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetRegionIdResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetRegionIdResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetSeriesSlotListResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetSeriesSlotListResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetSeriesSlotListResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetSeriesSlotListResp.java
index e094732319..77aa4c990b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetSeriesSlotListResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetSeriesSlotListResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetTimeSlotListResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetTimeSlotListResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetTimeSlotListResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetTimeSlotListResp.java
index e6230ca602..e4ef4c7d14 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetTimeSlotListResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/GetTimeSlotListResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PathInfoResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/PathInfoResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PathInfoResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/PathInfoResp.java
index db0d0c3e7b..23b6d48616 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PathInfoResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/PathInfoResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.consensus.common.DataSet;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/RegionInfoListResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/RegionInfoListResp.java
index a38d429745..a39ea18d61 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/RegionInfoListResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/RegionInfoListResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaNodeManagementResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaNodeManagementResp.java
similarity index 98%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaNodeManagementResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaNodeManagementResp.java
index 8fc684554b..5a765237f3 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaNodeManagementResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaNodeManagementResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaPartitionResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaPartitionResp.java
index d08855a3fc..fa20b4d380 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/SchemaPartitionResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/partition/SchemaPartitionResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeResp.java
index 11a5c618d0..26bd8b3290 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.pipe;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.sync.pipe.PipeInfo;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeSinkResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeSinkResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeSinkResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeSinkResp.java
index ff6c7112d6..850165a923 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeSinkResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/PipeSinkResp.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.consensus.response;
+
+package org.apache.iotdb.confignode.consensus.response.pipe;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.sync.pipesink.PipeSink;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/AllTemplateSetInfoResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/AllTemplateSetInfoResp.java
similarity index 94%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/AllTemplateSetInfoResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/AllTemplateSetInfoResp.java
index 8b1365e0f0..f07f84bcd9 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/AllTemplateSetInfoResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/AllTemplateSetInfoResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.template;
 
 import org.apache.iotdb.consensus.common.DataSet;
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateInfoResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateInfoResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateInfoResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateInfoResp.java
index c427867b48..fe2fae6517 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateInfoResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateInfoResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.template;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.consensus.common.DataSet;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateSetInfoResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateSetInfoResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateSetInfoResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateSetInfoResp.java
index f7573499fa..7294eb5e46 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TemplateSetInfoResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/template/TemplateSetInfoResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.template;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TransferringTriggersResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TransferringTriggersResp.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TransferringTriggersResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TransferringTriggersResp.java
index 11d6671e44..a8545b6f70 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TransferringTriggersResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TransferringTriggersResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.trigger;
 
 import org.apache.iotdb.consensus.common.DataSet;
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerLocationResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerLocationResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerLocationResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerLocationResp.java
index 12a8165945..362142762a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerLocationResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerLocationResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.trigger;
 
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerTableResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerTableResp.java
similarity index 97%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerTableResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerTableResp.java
index 77305ac07f..ed4d85b2f6 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerTableResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/trigger/TriggerTableResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.trigger;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.trigger.TriggerInformation;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/JarResp.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/udf/JarResp.java
similarity index 96%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/JarResp.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/udf/JarResp.java
index 59a8a56382..6ec80fe504 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/JarResp.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/udf/JarResp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.confignode.consensus.response;
+package org.apache.iotdb.confignode.consensus.response.udf;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.rpc.thrift.TGetJarInListResp;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
index 209afa3c9c..b2b45472a1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
@@ -33,8 +33,8 @@ import org.apache.iotdb.confignode.client.async.handlers.AsyncClientHandler;
 import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
 import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.CheckTemplateSettablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllTemplateSetInfoPlan;
@@ -43,7 +43,7 @@ import org.apache.iotdb.confignode.consensus.request.read.template.GetSchemaTemp
 import org.apache.iotdb.confignode.consensus.request.read.template.GetTemplateSetInfoPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.AdjustMaxRegionGroupNumPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetDataReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetSchemaReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPlan;
@@ -54,22 +54,22 @@ import org.apache.iotdb.confignode.consensus.request.write.template.PreUnsetSche
 import org.apache.iotdb.confignode.consensus.request.write.template.RollbackPreUnsetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.SetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.UnsetSchemaTemplatePlan;
-import org.apache.iotdb.confignode.consensus.response.AllTemplateSetInfoResp;
-import org.apache.iotdb.confignode.consensus.response.PathInfoResp;
-import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
-import org.apache.iotdb.confignode.consensus.response.TemplateInfoResp;
-import org.apache.iotdb.confignode.consensus.response.TemplateSetInfoResp;
+import org.apache.iotdb.confignode.consensus.response.database.DatabaseSchemaResp;
+import org.apache.iotdb.confignode.consensus.response.partition.PathInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.AllTemplateSetInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.TemplateInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.TemplateSetInfoResp;
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
 import org.apache.iotdb.confignode.manager.node.NodeManager;
 import org.apache.iotdb.confignode.manager.observer.NodeStatisticsEvent;
 import org.apache.iotdb.confignode.manager.partition.PartitionManager;
 import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTemplateResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupInfo;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.db.metadata.template.TemplateInternalRPCUpdateType;
@@ -152,7 +152,7 @@ public class ClusterSchemaManager {
   public TSStatus alterDatabase(DatabaseSchemaPlan databaseSchemaPlan) {
     TSStatus result;
     boolean isDatabaseExisted;
-    TStorageGroupSchema storageGroupSchema = databaseSchemaPlan.getSchema();
+    TDatabaseSchema storageGroupSchema = databaseSchemaPlan.getSchema();
 
     try {
       isDatabaseExisted = clusterSchemaInfo.isDatabaseExisted(storageGroupSchema.getName());
@@ -207,8 +207,8 @@ public class ClusterSchemaManager {
   }
 
   /** Delete StorageGroup synchronized to protect the safety of adjustMaxRegionGroupNum */
-  public synchronized TSStatus deleteStorageGroup(DeleteStorageGroupPlan deleteStorageGroupPlan) {
-    TSStatus result = getConsensusManager().write(deleteStorageGroupPlan).getStatus();
+  public synchronized TSStatus deleteStorageGroup(DeleteDatabasePlan deleteDatabasePlan) {
+    TSStatus result = getConsensusManager().write(deleteDatabasePlan).getStatus();
     // Adjust the maximum RegionGroup number of each StorageGroup after deleting the storage group
     if (result.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       adjustMaxRegionGroupNum();
@@ -221,8 +221,8 @@ public class ClusterSchemaManager {
    *
    * @return CountStorageGroupResp
    */
-  public DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan) {
-    return getConsensusManager().read(countStorageGroupPlan).getDataset();
+  public DataSet countMatchedStorageGroups(CountDatabasePlan countDatabasePlan) {
+    return getConsensusManager().read(countDatabasePlan).getDataset();
   }
 
   /**
@@ -230,24 +230,23 @@ public class ClusterSchemaManager {
    *
    * @return StorageGroupSchemaDataSet
    */
-  public DataSet getMatchedStorageGroupSchema(GetStorageGroupPlan getStorageGroupPlan) {
+  public DataSet getMatchedStorageGroupSchema(GetDatabasePlan getStorageGroupPlan) {
     return getConsensusManager().read(getStorageGroupPlan).getDataset();
   }
 
   /** Only used in cluster tool show StorageGroup */
-  public TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan) {
-    StorageGroupSchemaResp storageGroupSchemaResp =
-        (StorageGroupSchemaResp) getMatchedStorageGroupSchema(getStorageGroupPlan);
-    if (storageGroupSchemaResp.getStatus().getCode()
-        != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+  public TShowDatabaseResp showStorageGroup(GetDatabasePlan getStorageGroupPlan) {
+    DatabaseSchemaResp databaseSchemaResp =
+        (DatabaseSchemaResp) getMatchedStorageGroupSchema(getStorageGroupPlan);
+    if (databaseSchemaResp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       // Return immediately if some StorageGroups doesn't exist
-      return new TShowStorageGroupResp().setStatus(storageGroupSchemaResp.getStatus());
+      return new TShowDatabaseResp().setStatus(databaseSchemaResp.getStatus());
     }
 
-    Map<String, TStorageGroupInfo> infoMap = new ConcurrentHashMap<>();
-    for (TStorageGroupSchema storageGroupSchema : storageGroupSchemaResp.getSchemaMap().values()) {
+    Map<String, TDatabaseInfo> infoMap = new ConcurrentHashMap<>();
+    for (TDatabaseSchema storageGroupSchema : databaseSchemaResp.getSchemaMap().values()) {
       String database = storageGroupSchema.getName();
-      TStorageGroupInfo storageGroupInfo = new TStorageGroupInfo();
+      TDatabaseInfo storageGroupInfo = new TDatabaseInfo();
       storageGroupInfo.setName(database);
       storageGroupInfo.setTTL(storageGroupSchema.getTTL());
       storageGroupInfo.setSchemaReplicationFactor(storageGroupSchema.getSchemaReplicationFactor());
@@ -269,7 +268,7 @@ public class ClusterSchemaManager {
             getMaxRegionGroupNum(database, TConsensusGroupType.DataRegion));
       } catch (DatabaseNotExistsException e) {
         // Return immediately if some StorageGroups doesn't exist
-        return new TShowStorageGroupResp()
+        return new TShowDatabaseResp()
             .setStatus(
                 new TSStatus(TSStatusCode.DATABASE_NOT_EXIST.getStatusCode())
                     .setMessage(e.getMessage()));
@@ -278,20 +277,19 @@ public class ClusterSchemaManager {
       infoMap.put(database, storageGroupInfo);
     }
 
-    return new TShowStorageGroupResp().setStorageGroupInfoMap(infoMap).setStatus(StatusUtils.OK);
+    return new TShowDatabaseResp().setDatabaseInfoMap(infoMap).setStatus(StatusUtils.OK);
   }
 
   public Map<String, Long> getAllTTLInfo() {
-    StorageGroupSchemaResp storageGroupSchemaResp =
-        (StorageGroupSchemaResp)
-            getMatchedStorageGroupSchema(new GetStorageGroupPlan(Arrays.asList("root", "**")));
+    DatabaseSchemaResp databaseSchemaResp =
+        (DatabaseSchemaResp)
+            getMatchedStorageGroupSchema(new GetDatabasePlan(Arrays.asList("root", "**")));
     Map<String, Long> infoMap = new ConcurrentHashMap<>();
-    if (storageGroupSchemaResp.getStatus().getCode()
-        != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+    if (databaseSchemaResp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       // Return immediately if some StorageGroups doesn't exist
       return infoMap;
     }
-    for (TStorageGroupSchema storageGroupSchema : storageGroupSchemaResp.getSchemaMap().values()) {
+    for (TDatabaseSchema storageGroupSchema : databaseSchemaResp.getSchemaMap().values()) {
       infoMap.put(storageGroupSchema.getName(), storageGroupSchema.getTTL());
     }
     return infoMap;
@@ -306,7 +304,7 @@ public class ClusterSchemaManager {
    */
   public TSStatus setTTL(SetTTLPlan setTTLPlan) {
 
-    Map<String, TStorageGroupSchema> storageSchemaMap =
+    Map<String, TDatabaseSchema> storageSchemaMap =
         clusterSchemaInfo.getMatchedStorageGroupSchemasByOneName(
             setTTLPlan.getStorageGroupPathPattern());
 
@@ -375,7 +373,7 @@ public class ClusterSchemaManager {
    */
   public synchronized void adjustMaxRegionGroupNum() {
     // Get all StorageGroupSchemas
-    Map<String, TStorageGroupSchema> storageGroupSchemaMap =
+    Map<String, TDatabaseSchema> storageGroupSchemaMap =
         getMatchedDatabaseSchemasByName(getDatabaseNames());
     if (storageGroupSchemaMap.size() == 0) {
       // Skip when there are no StorageGroups
@@ -387,7 +385,7 @@ public class ClusterSchemaManager {
     int storageGroupNum = storageGroupSchemaMap.size();
 
     AdjustMaxRegionGroupNumPlan adjustMaxRegionGroupNumPlan = new AdjustMaxRegionGroupNumPlan();
-    for (TStorageGroupSchema storageGroupSchema : storageGroupSchemaMap.values()) {
+    for (TDatabaseSchema storageGroupSchema : storageGroupSchemaMap.values()) {
       try {
         // Adjust maxSchemaRegionGroupNum for each StorageGroup.
         // All StorageGroups share the DataNodes equally.
@@ -480,7 +478,7 @@ public class ClusterSchemaManager {
    * @return The specific DatabaseSchema
    * @throws DatabaseNotExistsException When the specific Database doesn't exist
    */
-  public TStorageGroupSchema getDatabaseSchemaByName(String database)
+  public TDatabaseSchema getDatabaseSchemaByName(String database)
       throws DatabaseNotExistsException {
     return clusterSchemaInfo.getMatchedDatabaseSchemaByName(database);
   }
@@ -491,8 +489,7 @@ public class ClusterSchemaManager {
    * @param rawPathList List<DatabaseName>
    * @return the matched DatabaseSchemas
    */
-  public Map<String, TStorageGroupSchema> getMatchedDatabaseSchemasByName(
-      List<String> rawPathList) {
+  public Map<String, TDatabaseSchema> getMatchedDatabaseSchemasByName(List<String> rawPathList) {
     return clusterSchemaInfo.getMatchedDatabaseSchemasByName(rawPathList);
   }
 
@@ -506,7 +503,7 @@ public class ClusterSchemaManager {
    */
   public int getReplicationFactor(String database, TConsensusGroupType consensusGroupType)
       throws DatabaseNotExistsException {
-    TStorageGroupSchema storageGroupSchema = getDatabaseSchemaByName(database);
+    TDatabaseSchema storageGroupSchema = getDatabaseSchemaByName(database);
     return TConsensusGroupType.SchemaRegion.equals(consensusGroupType)
         ? storageGroupSchema.getSchemaReplicationFactor()
         : storageGroupSchema.getDataReplicationFactor();
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index e8dfac289a..327a8f5afc 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -44,6 +44,8 @@ import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.conf.SystemPropertiesUtils;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetNodePathsPartitionPlan;
@@ -53,8 +55,6 @@ import org.apache.iotdb.confignode.consensus.request.read.partition.GetSchemaPar
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RegisterDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
@@ -67,18 +67,18 @@ import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTimeP
 import org.apache.iotdb.confignode.consensus.request.write.sync.CreatePipeSinkPlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.DropPipeSinkPlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.CreateSchemaTemplatePlan;
-import org.apache.iotdb.confignode.consensus.response.ConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeRegisterResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeToStatusResp;
-import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
-import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
-import org.apache.iotdb.confignode.consensus.response.TemplateSetInfoResp;
+import org.apache.iotdb.confignode.consensus.response.auth.PermissionInfoResp;
+import org.apache.iotdb.confignode.consensus.response.database.CountDatabaseResp;
+import org.apache.iotdb.confignode.consensus.response.database.DatabaseSchemaResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.ConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeRegisterResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeToStatusResp;
+import org.apache.iotdb.confignode.consensus.response.partition.DataPartitionResp;
+import org.apache.iotdb.confignode.consensus.response.partition.RegionInfoListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaNodeManagementResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaPartitionResp;
+import org.apache.iotdb.confignode.consensus.response.template.TemplateSetInfoResp;
 import org.apache.iotdb.confignode.consensus.statemachine.ConfigNodeRegionStateMachine;
 import org.apache.iotdb.confignode.manager.cq.CQManager;
 import org.apache.iotdb.confignode.manager.load.LoadManager;
@@ -108,6 +108,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRegisterReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRestartReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRestartResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TDeactivateSchemaTemplateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteTimeSeriesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropCQReq;
@@ -141,11 +142,10 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowVariablesResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.confignode.rpc.thrift.TUnsetSchemaTemplateReq;
 import org.apache.iotdb.consensus.common.DataSet;
@@ -486,11 +486,11 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan) {
+  public DataSet countMatchedStorageGroups(CountDatabasePlan countDatabasePlan) {
     TSStatus status = confirmLeader();
-    CountStorageGroupResp result = new CountStorageGroupResp();
+    CountDatabaseResp result = new CountDatabaseResp();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      return clusterSchemaManager.countMatchedStorageGroups(countStorageGroupPlan);
+      return clusterSchemaManager.countMatchedStorageGroups(countDatabasePlan);
     } else {
       result.setStatus(status);
     }
@@ -498,12 +498,12 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public DataSet getMatchedStorageGroupSchemas(GetStorageGroupPlan getStorageGroupReq) {
+  public DataSet getMatchedStorageGroupSchemas(GetDatabasePlan getStorageGroupReq) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       return clusterSchemaManager.getMatchedStorageGroupSchema(getStorageGroupReq);
     } else {
-      StorageGroupSchemaResp dataSet = new StorageGroupSchemaResp();
+      DatabaseSchemaResp dataSet = new DatabaseSchemaResp();
       dataSet.setStatus(status);
       return dataSet;
     }
@@ -534,14 +534,14 @@ public class ConfigManager implements IManager {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       // remove wild
-      Map<String, TStorageGroupSchema> deleteStorageSchemaMap =
+      Map<String, TDatabaseSchema> deleteStorageSchemaMap =
           getClusterSchemaManager().getMatchedDatabaseSchemasByName(deletedPaths);
       if (deleteStorageSchemaMap.isEmpty()) {
         return RpcUtils.getStatus(
             TSStatusCode.PATH_NOT_EXIST.getStatusCode(),
             String.format("Path %s does not exist", Arrays.toString(deletedPaths.toArray())));
       }
-      ArrayList<TStorageGroupSchema> parsedDeleteStorageGroups =
+      ArrayList<TDatabaseSchema> parsedDeleteStorageGroups =
           new ArrayList<>(deleteStorageSchemaMap.values());
       return procedureManager.deleteStorageGroups(parsedDeleteStorageGroups);
     } else {
@@ -1304,12 +1304,12 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan) {
+  public TShowDatabaseResp showStorageGroup(GetDatabasePlan getStorageGroupPlan) {
     TSStatus status = confirmLeader();
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       return getClusterSchemaManager().showStorageGroup(getStorageGroupPlan);
     } else {
-      return new TShowStorageGroupResp().setStatus(status);
+      return new TShowDatabaseResp().setStatus(status);
     }
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
index 2004847152..d59791c5ab 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
@@ -25,14 +25,14 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.UpdateDataNodePlan;
@@ -92,9 +92,9 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowVariablesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TUnsetSchemaTemplateReq;
 import org.apache.iotdb.consensus.common.DataSet;
@@ -264,14 +264,14 @@ public interface IManager {
    *
    * @return The number of matched StorageGroups
    */
-  DataSet countMatchedStorageGroups(CountStorageGroupPlan countStorageGroupPlan);
+  DataSet countMatchedStorageGroups(CountDatabasePlan countDatabasePlan);
 
   /**
    * Get StorageGroupSchemas
    *
    * @return StorageGroupSchemaDataSet
    */
-  DataSet getMatchedStorageGroupSchemas(GetStorageGroupPlan getOrCountStorageGroupPlan);
+  DataSet getMatchedStorageGroupSchemas(GetDatabasePlan getOrCountStorageGroupPlan);
 
   /**
    * Set Database
@@ -446,7 +446,7 @@ public interface IManager {
    * @param getStorageGroupPlan GetStorageGroupPlan, including path patterns about StorageGroups
    * @return TShowStorageGroupResp
    */
-  TShowStorageGroupResp showStorageGroup(GetStorageGroupPlan getStorageGroupPlan);
+  TShowDatabaseResp showStorageGroup(GetDatabasePlan getStorageGroupPlan);
 
   /**
    * create schema template
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
index 150d7175c3..3aee9c071d 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PermissionManager.java
@@ -25,7 +25,7 @@ import org.apache.iotdb.confignode.client.DataNodeRequestType;
 import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
-import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
+import org.apache.iotdb.confignode.consensus.response.auth.PermissionInfoResp;
 import org.apache.iotdb.confignode.persistence.AuthorInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
 import org.apache.iotdb.mpp.rpc.thrift.TInvalidatePermissionCacheReq;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
index c7f0e6c4c0..71edebcfe9 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
@@ -70,10 +70,10 @@ import org.apache.iotdb.confignode.procedure.store.ProcedureType;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreatePipeReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteTimeSeriesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TMigrateRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionMigrateResultReportReq;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -147,9 +147,9 @@ public class ProcedureManager {
     }
   }
 
-  public TSStatus deleteStorageGroups(ArrayList<TStorageGroupSchema> deleteSgSchemaList) {
+  public TSStatus deleteStorageGroups(ArrayList<TDatabaseSchema> deleteSgSchemaList) {
     List<Long> procedureIds = new ArrayList<>();
-    for (TStorageGroupSchema storageGroupSchema : deleteSgSchemaList) {
+    for (TDatabaseSchema storageGroupSchema : deleteSgSchemaList) {
       DeleteStorageGroupProcedure deleteStorageGroupProcedure =
           new DeleteStorageGroupProcedure(storageGroupSchema);
       long procedureId = this.executor.submitProcedure(deleteStorageGroupProcedure);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/SyncManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/SyncManager.java
index 92b6fe2b7f..9e5645af7b 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/SyncManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/SyncManager.java
@@ -41,8 +41,8 @@ import org.apache.iotdb.confignode.consensus.request.write.sync.PreCreatePipePla
 import org.apache.iotdb.confignode.consensus.request.write.sync.RecordPipeMessagePlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.SetPipeStatusPlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.ShowPipePlan;
-import org.apache.iotdb.confignode.consensus.response.PipeResp;
-import org.apache.iotdb.confignode.consensus.response.PipeSinkResp;
+import org.apache.iotdb.confignode.consensus.response.pipe.PipeResp;
+import org.apache.iotdb.confignode.consensus.response.pipe.PipeSinkResp;
 import org.apache.iotdb.confignode.manager.node.NodeManager;
 import org.apache.iotdb.confignode.manager.observer.NodeStatisticsEvent;
 import org.apache.iotdb.confignode.persistence.sync.ClusterSyncInfo;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/TriggerManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/TriggerManager.java
index 6f6813952c..ae094acc3e 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/TriggerManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/TriggerManager.java
@@ -33,10 +33,10 @@ import org.apache.iotdb.confignode.consensus.request.read.trigger.GetTriggerLoca
 import org.apache.iotdb.confignode.consensus.request.read.trigger.GetTriggerTablePlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggerLocationPlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggersOnTransferNodesPlan;
-import org.apache.iotdb.confignode.consensus.response.JarResp;
-import org.apache.iotdb.confignode.consensus.response.TransferringTriggersResp;
-import org.apache.iotdb.confignode.consensus.response.TriggerLocationResp;
-import org.apache.iotdb.confignode.consensus.response.TriggerTableResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TransferringTriggersResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TriggerLocationResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TriggerTableResp;
+import org.apache.iotdb.confignode.consensus.response.udf.JarResp;
 import org.apache.iotdb.confignode.manager.node.NodeManager;
 import org.apache.iotdb.confignode.persistence.TriggerInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateTriggerReq;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
index 38d177911c..96485bffc2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/UDFManager.java
@@ -31,8 +31,8 @@ import org.apache.iotdb.confignode.consensus.request.read.function.GetFunctionTa
 import org.apache.iotdb.confignode.consensus.request.read.udf.GetUDFJarPlan;
 import org.apache.iotdb.confignode.consensus.request.write.function.CreateFunctionPlan;
 import org.apache.iotdb.confignode.consensus.request.write.function.DropFunctionPlan;
-import org.apache.iotdb.confignode.consensus.response.FunctionTableResp;
-import org.apache.iotdb.confignode.consensus.response.JarResp;
+import org.apache.iotdb.confignode.consensus.response.function.FunctionTableResp;
+import org.apache.iotdb.confignode.consensus.response.udf.JarResp;
 import org.apache.iotdb.confignode.persistence.UDFInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetJarInListReq;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/cq/CQManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/cq/CQManager.java
index ead3f1b63f..25a1763ffc 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/cq/CQManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/cq/CQManager.java
@@ -25,7 +25,7 @@ import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.write.cq.DropCQPlan;
 import org.apache.iotdb.confignode.consensus.request.write.cq.ShowCQPlan;
-import org.apache.iotdb.confignode.consensus.response.ShowCQResp;
+import org.apache.iotdb.confignode.consensus.response.cq.ShowCQResp;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.persistence.cq.CQInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index 6b8a42bb5a..a7040004c0 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -47,10 +47,10 @@ import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConf
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RegisterDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.UpdateDataNodePlan;
-import org.apache.iotdb.confignode.consensus.response.ConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeRegisterResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeToStatusResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.ConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeRegisterResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeToStatusResp;
 import org.apache.iotdb.confignode.manager.ClusterSchemaManager;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.manager.ConsensusManager;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
index 8c3e063711..b8fa5732e1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
@@ -51,14 +51,14 @@ import org.apache.iotdb.confignode.consensus.request.write.partition.CreateSchem
 import org.apache.iotdb.confignode.consensus.request.write.partition.UpdateRegionLocationPlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGroupsPlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.PollRegionMaintainTaskPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.GetRegionIdResp;
-import org.apache.iotdb.confignode.consensus.response.GetSeriesSlotListResp;
-import org.apache.iotdb.confignode.consensus.response.GetTimeSlotListResp;
-import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaPartitionResp;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.response.partition.DataPartitionResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetRegionIdResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetSeriesSlotListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetTimeSlotListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.RegionInfoListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaNodeManagementResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaPartitionResp;
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
 import org.apache.iotdb.confignode.exception.NoAvailableRegionGroupException;
 import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
@@ -643,10 +643,10 @@ public class PartitionManager {
   }
 
   public void preDeleteStorageGroup(
-      String storageGroup, PreDeleteStorageGroupPlan.PreDeleteType preDeleteType) {
-    final PreDeleteStorageGroupPlan preDeleteStorageGroupPlan =
-        new PreDeleteStorageGroupPlan(storageGroup, preDeleteType);
-    getConsensusManager().write(preDeleteStorageGroupPlan);
+      String storageGroup, PreDeleteDatabasePlan.PreDeleteType preDeleteType) {
+    final PreDeleteDatabasePlan preDeleteDatabasePlan =
+        new PreDeleteDatabasePlan(storageGroup, preDeleteType);
+    getConsensusManager().write(preDeleteDatabasePlan);
   }
 
   public void addMetrics() {
@@ -709,7 +709,7 @@ public class PartitionManager {
   public GetRegionIdResp getRegionId(TGetRegionIdReq req) {
     GetRegionIdPlan plan =
         new GetRegionIdPlan(
-            req.getStorageGroup(),
+            req.getDatabase(),
             req.getType(),
             req.isSetSeriesSlotId()
                 ? req.getSeriesSlotId()
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
index 3f7a473bc5..0d72f5a59a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/AuthorInfo.java
@@ -36,7 +36,7 @@ import org.apache.iotdb.commons.utils.FileUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
-import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
+import org.apache.iotdb.confignode.consensus.response.auth.PermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TPermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TRoleResp;
 import org.apache.iotdb.confignode.rpc.thrift.TUserResp;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/TriggerInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/TriggerInfo.java
index 54fa77e2da..99816ad17a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/TriggerInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/TriggerInfo.java
@@ -38,10 +38,10 @@ import org.apache.iotdb.confignode.consensus.request.write.trigger.DeleteTrigger
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggerLocationPlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggerStateInTablePlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggersOnTransferNodesPlan;
-import org.apache.iotdb.confignode.consensus.response.JarResp;
-import org.apache.iotdb.confignode.consensus.response.TransferringTriggersResp;
-import org.apache.iotdb.confignode.consensus.response.TriggerLocationResp;
-import org.apache.iotdb.confignode.consensus.response.TriggerTableResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TransferringTriggersResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TriggerLocationResp;
+import org.apache.iotdb.confignode.consensus.response.trigger.TriggerTableResp;
+import org.apache.iotdb.confignode.consensus.response.udf.JarResp;
 import org.apache.iotdb.confignode.rpc.thrift.TTriggerState;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
index dc9e695d4f..bbc0198b29 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/UDFInfo.java
@@ -31,8 +31,8 @@ import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.read.udf.GetUDFJarPlan;
 import org.apache.iotdb.confignode.consensus.request.write.function.CreateFunctionPlan;
 import org.apache.iotdb.confignode.consensus.request.write.function.DropFunctionPlan;
-import org.apache.iotdb.confignode.consensus.response.FunctionTableResp;
-import org.apache.iotdb.confignode.consensus.response.JarResp;
+import org.apache.iotdb.confignode.consensus.response.function.FunctionTableResp;
+import org.apache.iotdb.confignode.consensus.response.udf.JarResp;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/cq/CQInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/cq/CQInfo.java
index 3c296765d1..328eef6d25 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/cq/CQInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/cq/CQInfo.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.confignode.consensus.request.write.cq.AddCQPlan;
 import org.apache.iotdb.confignode.consensus.request.write.cq.DropCQPlan;
 import org.apache.iotdb.confignode.consensus.request.write.cq.ShowCQPlan;
 import org.apache.iotdb.confignode.consensus.request.write.cq.UpdateCQLastExecTimePlan;
-import org.apache.iotdb.confignode.consensus.response.ShowCQResp;
+import org.apache.iotdb.confignode.consensus.response.cq.ShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
index 232224b8c5..8ac4878631 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
@@ -25,6 +25,8 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlan;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetNodePathsPartitionPlan;
@@ -33,8 +35,6 @@ import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlo
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.CheckTemplateSettablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetPathsSetTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetSchemaTemplatePlan;
@@ -64,8 +64,8 @@ import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGr
 import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMaintainTasksPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.AdjustMaxRegionGroupNumPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetDataReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetSchemaReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPlan;
@@ -89,7 +89,7 @@ import org.apache.iotdb.confignode.consensus.request.write.trigger.DeleteTrigger
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggerLocationPlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggerStateInTablePlan;
 import org.apache.iotdb.confignode.consensus.request.write.trigger.UpdateTriggersOnTransferNodesPlan;
-import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaNodeManagementResp;
 import org.apache.iotdb.confignode.exception.physical.UnknownPhysicalPlanTypeException;
 import org.apache.iotdb.confignode.persistence.AuthorInfo;
 import org.apache.iotdb.confignode.persistence.ProcedureInfo;
@@ -100,8 +100,8 @@ import org.apache.iotdb.confignode.persistence.node.NodeInfo;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
 import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
 import org.apache.iotdb.confignode.persistence.sync.ClusterSyncInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.consensus.common.DataSet;
 import org.apache.iotdb.db.metadata.mnode.MNodeType;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -192,9 +192,9 @@ public class ConfigPlanExecutor {
       case GetDataNodeConfiguration:
         return nodeInfo.getDataNodeConfiguration((GetDataNodeConfigurationPlan) req);
       case CountDatabase:
-        return clusterSchemaInfo.countMatchedStorageGroups((CountStorageGroupPlan) req);
+        return clusterSchemaInfo.countMatchedDatabases((CountDatabasePlan) req);
       case GetDatabase:
-        return clusterSchemaInfo.getMatchedStorageGroupSchemas((GetStorageGroupPlan) req);
+        return clusterSchemaInfo.getMatchedDatabaseSchemas((GetDatabasePlan) req);
       case GetDataPartition:
       case GetOrCreateDataPartition:
         return partitionInfo.getDataPartition((GetDataPartitionPlan) req);
@@ -275,10 +275,10 @@ public class ConfigPlanExecutor {
         return clusterSchemaInfo.adjustMaxRegionGroupCount(
             (AdjustMaxRegionGroupNumPlan) physicalPlan);
       case DeleteDatabase:
-        partitionInfo.deleteStorageGroup((DeleteStorageGroupPlan) physicalPlan);
-        return clusterSchemaInfo.deleteStorageGroup((DeleteStorageGroupPlan) physicalPlan);
+        partitionInfo.deleteDatabase((DeleteDatabasePlan) physicalPlan);
+        return clusterSchemaInfo.deleteDatabase((DeleteDatabasePlan) physicalPlan);
       case PreDeleteDatabase:
-        return partitionInfo.preDeleteStorageGroup((PreDeleteStorageGroupPlan) physicalPlan);
+        return partitionInfo.preDeleteDatabase((PreDeleteDatabasePlan) physicalPlan);
       case SetTTL:
         return clusterSchemaInfo.setTTL((SetTTLPlan) physicalPlan);
       case SetSchemaReplicationFactor:
@@ -487,14 +487,14 @@ public class ConfigPlanExecutor {
   private DataSet getRegionInfoList(ConfigPhysicalPlan req) {
     final GetRegionInfoListPlan getRegionInfoListPlan = (GetRegionInfoListPlan) req;
     TShowRegionReq showRegionReq = getRegionInfoListPlan.getShowRegionReq();
-    if (showRegionReq != null && showRegionReq.isSetStorageGroups()) {
-      final List<String> storageGroups = showRegionReq.getStorageGroups();
+    if (showRegionReq != null && showRegionReq.isSetDatabases()) {
+      final List<String> storageGroups = showRegionReq.getDatabases();
       final List<String> matchedStorageGroups =
           clusterSchemaInfo.getMatchedDatabaseSchemasByName(storageGroups).values().stream()
-              .map(TStorageGroupSchema::getName)
+              .map(TDatabaseSchema::getName)
               .collect(Collectors.toList());
       if (!matchedStorageGroups.isEmpty()) {
-        showRegionReq.setStorageGroups(matchedStorageGroups);
+        showRegionReq.setDatabases(matchedStorageGroups);
       }
     }
     return partitionInfo.getRegionInfoList(getRegionInfoListPlan);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
index 47210cf082..022f15be4e 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
@@ -22,8 +22,8 @@ package org.apache.iotdb.confignode.persistence.metric;
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
 import org.apache.iotdb.commons.service.metric.enums.Metric;
 import org.apache.iotdb.commons.service.metric.enums.Tag;
+import org.apache.iotdb.confignode.persistence.partition.DatabasePartitionTable;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
-import org.apache.iotdb.confignode.persistence.partition.StorageGroupPartitionTable;
 import org.apache.iotdb.metrics.AbstractMetricService;
 import org.apache.iotdb.metrics.metricsets.IMetricSet;
 import org.apache.iotdb.metrics.utils.MetricLevel;
@@ -101,11 +101,10 @@ public class PartitionInfoMetrics implements IMetricSet {
   }
 
   public static class StorageGroupPartitionTableMetrics implements IMetricSet {
-    private StorageGroupPartitionTable storageGroupPartitionTable;
+    private DatabasePartitionTable databasePartitionTable;
 
-    public StorageGroupPartitionTableMetrics(
-        StorageGroupPartitionTable storageGroupPartitionTable) {
-      this.storageGroupPartitionTable = storageGroupPartitionTable;
+    public StorageGroupPartitionTableMetrics(DatabasePartitionTable databasePartitionTable) {
+      this.databasePartitionTable = databasePartitionTable;
     }
 
     @Override
@@ -113,38 +112,38 @@ public class PartitionInfoMetrics implements IMetricSet {
       metricService.createAutoGauge(
           Metric.REGION.toString(),
           MetricLevel.NORMAL,
-          storageGroupPartitionTable,
+          databasePartitionTable,
           o -> o.getRegionGroupCount(TConsensusGroupType.SchemaRegion),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           TConsensusGroupType.SchemaRegion.toString());
       metricService.createAutoGauge(
           Metric.REGION.toString(),
           MetricLevel.NORMAL,
-          storageGroupPartitionTable,
+          databasePartitionTable,
           o -> o.getRegionGroupCount(TConsensusGroupType.DataRegion),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           TConsensusGroupType.DataRegion.toString());
       // TODO slot will be updated in the future
       metricService.createAutoGauge(
           Metric.SLOT.toString(),
           MetricLevel.NORMAL,
-          storageGroupPartitionTable,
-          StorageGroupPartitionTable::getSchemaPartitionMapSize,
+          databasePartitionTable,
+          DatabasePartitionTable::getSchemaPartitionMapSize,
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           "schemaSlotNumber");
       metricService.createAutoGauge(
           Metric.SLOT.toString(),
           MetricLevel.NORMAL,
-          storageGroupPartitionTable,
-          StorageGroupPartitionTable::getDataPartitionMapSize,
+          databasePartitionTable,
+          DatabasePartitionTable::getDataPartitionMapSize,
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           "dataSlotNumber");
     }
@@ -155,14 +154,14 @@ public class PartitionInfoMetrics implements IMetricSet {
           MetricType.AUTO_GAUGE,
           Metric.REGION.toString(),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           TConsensusGroupType.SchemaRegion.toString());
       metricService.remove(
           MetricType.AUTO_GAUGE,
           Metric.REGION.toString(),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           TConsensusGroupType.DataRegion.toString());
       // TODO slot will be updated in the future
@@ -170,14 +169,14 @@ public class PartitionInfoMetrics implements IMetricSet {
           MetricType.AUTO_GAUGE,
           Metric.SLOT.toString(),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           "schemaSlotNumber");
       metricService.remove(
           MetricType.AUTO_GAUGE,
           Metric.SLOT.toString(),
           Tag.NAME.toString(),
-          storageGroupPartitionTable.getStorageGroupName(),
+          databasePartitionTable.getDatabaseName(),
           Tag.TYPE.toString(),
           "dataSlotNumber");
     }
@@ -187,12 +186,12 @@ public class PartitionInfoMetrics implements IMetricSet {
       if (this == o) return true;
       if (o == null || getClass() != o.getClass()) return false;
       StorageGroupPartitionTableMetrics that = (StorageGroupPartitionTableMetrics) o;
-      return Objects.equals(storageGroupPartitionTable, that.storageGroupPartitionTable);
+      return Objects.equals(databasePartitionTable, that.databasePartitionTable);
     }
 
     @Override
     public int hashCode() {
-      return Objects.hash(storageGroupPartitionTable);
+      return Objects.hash(databasePartitionTable);
     }
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
index 67790476ff..9183869042 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/node/NodeInfo.java
@@ -30,7 +30,7 @@ import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConf
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RegisterDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.UpdateDataNodePlan;
-import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeConfigurationResp;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java
similarity index 93%
rename from confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java
index 1f341b0005..10842fc1e1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/DatabasePartitionTable.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.confignode.persistence.partition;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
@@ -55,12 +56,12 @@ import java.util.concurrent.atomic.AtomicLong;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-public class StorageGroupPartitionTable {
-  private static final Logger LOGGER = LoggerFactory.getLogger(StorageGroupPartitionTable.class);
+public class DatabasePartitionTable {
+  private static final Logger LOGGER = LoggerFactory.getLogger(DatabasePartitionTable.class);
 
   private volatile boolean isPredeleted = false;
   // The name of database
-  private String storageGroupName;
+  private String databaseName;
 
   // RegionGroup
   private final Map<TConsensusGroupId, RegionGroup> regionGroupMap;
@@ -69,8 +70,8 @@ public class StorageGroupPartitionTable {
   // DataPartition
   private final DataPartitionTable dataPartitionTable;
 
-  public StorageGroupPartitionTable(String storageGroupName) {
-    this.storageGroupName = storageGroupName;
+  public DatabasePartitionTable(String databaseName) {
+    this.databaseName = databaseName;
 
     this.regionGroupMap = new ConcurrentHashMap<>();
 
@@ -338,10 +339,10 @@ public class StorageGroupPartitionTable {
         .getReplicaSet()
         .getDataNodeLocations()
         .forEach(
-            (dataNodeLocation) -> {
+            dataNodeLocation -> {
               TRegionInfo regionInfo = new TRegionInfo();
               regionInfo.setConsensusGroupId(regionId);
-              regionInfo.setStorageGroup(storageGroupName);
+              regionInfo.setDatabase(databaseName);
               regionInfo.setSeriesSlots(regionGroup.getSeriesSlotCount());
               regionInfo.setTimeSlots(regionGroup.getTimeSlotCount());
               regionInfo.setDataNodeId(dataNodeLocation.getDataNodeId());
@@ -356,7 +357,7 @@ public class StorageGroupPartitionTable {
   public void serialize(OutputStream outputStream, TProtocol protocol)
       throws IOException, TException {
     ReadWriteIOUtils.write(isPredeleted, outputStream);
-    ReadWriteIOUtils.write(storageGroupName, outputStream);
+    ReadWriteIOUtils.write(databaseName, outputStream);
 
     ReadWriteIOUtils.write(regionGroupMap.size(), outputStream);
     for (Map.Entry<TConsensusGroupId, RegionGroup> regionInfoEntry : regionGroupMap.entrySet()) {
@@ -371,7 +372,7 @@ public class StorageGroupPartitionTable {
   public void deserialize(InputStream inputStream, TProtocol protocol)
       throws IOException, TException {
     isPredeleted = ReadWriteIOUtils.readBool(inputStream);
-    storageGroupName = ReadWriteIOUtils.readString(inputStream);
+    databaseName = ReadWriteIOUtils.readString(inputStream);
 
     int length = ReadWriteIOUtils.readInt(inputStream);
     for (int i = 0; i < length; i++) {
@@ -437,13 +438,14 @@ public class StorageGroupPartitionTable {
       LOGGER.warn(
           "Cannot find RegionGroup for region {} when addRegionNewLocation in {}",
           regionId,
-          storageGroupName);
+          databaseName);
       return;
     }
     if (regionGroup.getReplicaSet().getDataNodeLocations().contains(node)) {
       LOGGER.info(
-          "Node is already in region locations when addRegionNewLocation in {}, node: {}, region: {}",
-          storageGroupName,
+          "Node is already in region locations when addRegionNewLocation in {}, "
+              + "node: {}, region: {}",
+          databaseName,
           node,
           regionId);
       return;
@@ -457,13 +459,14 @@ public class StorageGroupPartitionTable {
       LOGGER.warn(
           "Cannot find RegionGroup for region {} when removeRegionOldLocation in {}",
           regionId,
-          storageGroupName);
+          databaseName);
       return;
     }
     if (!regionGroup.getReplicaSet().getDataNodeLocations().contains(node)) {
       LOGGER.info(
-          "Node is not in region locations when removeRegionOldLocation in {}, no need to remove it, node: {}, region: {}",
-          storageGroupName,
+          "Node is not in region locations when removeRegionOldLocation in {}, "
+              + "no need to remove it, node: {}, region: {}",
+          databaseName,
           node,
           regionId);
       return;
@@ -472,17 +475,17 @@ public class StorageGroupPartitionTable {
   }
 
   /**
-   * if the region contained?
+   * Check if the DatabasePartitionTable contains the specified Region.
    *
    * @param regionId TConsensusGroupId
-   * @return true if contain
+   * @return True if contains.
    */
   public boolean containRegion(TConsensusGroupId regionId) {
     return regionGroupMap.containsKey(regionId);
   }
 
-  public String getStorageGroupName() {
-    return storageGroupName;
+  public String getDatabaseName() {
+    return databaseName;
   }
 
   public int getDataPartitionMapSize() {
@@ -495,10 +498,14 @@ public class StorageGroupPartitionTable {
 
   @Override
   public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-    StorageGroupPartitionTable that = (StorageGroupPartitionTable) o;
-    return storageGroupName.equals(that.storageGroupName)
+    if (this == o) {
+      return true;
+    }
+    if (o == null || getClass() != o.getClass()) {
+      return false;
+    }
+    DatabasePartitionTable that = (DatabasePartitionTable) o;
+    return databaseName.equals(that.databaseName)
         && regionGroupMap.equals(that.regionGroupMap)
         && schemaPartitionTable.equals(that.schemaPartitionTable)
         && dataPartitionTable.equals(that.dataPartitionTable);
@@ -506,6 +513,6 @@ public class StorageGroupPartitionTable {
 
   @Override
   public int hashCode() {
-    return Objects.hash(storageGroupName, regionGroupMap, schemaPartitionTable, dataPartitionTable);
+    return Objects.hash(databaseName, regionGroupMap, schemaPartitionTable, dataPartitionTable);
   }
 }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
index 2043b6c087..38849fc6af 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
@@ -44,15 +44,15 @@ import org.apache.iotdb.confignode.consensus.request.write.partition.UpdateRegio
 import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGroupsPlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMaintainTasksPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.response.DataPartitionResp;
-import org.apache.iotdb.confignode.consensus.response.GetRegionIdResp;
-import org.apache.iotdb.confignode.consensus.response.GetSeriesSlotListResp;
-import org.apache.iotdb.confignode.consensus.response.GetTimeSlotListResp;
-import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaNodeManagementResp;
-import org.apache.iotdb.confignode.consensus.response.SchemaPartitionResp;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.response.partition.DataPartitionResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetRegionIdResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetSeriesSlotListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.GetTimeSlotListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.RegionInfoListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaNodeManagementResp;
+import org.apache.iotdb.confignode.consensus.response.partition.SchemaPartitionResp;
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
 import org.apache.iotdb.confignode.persistence.metric.PartitionInfoMetrics;
 import org.apache.iotdb.confignode.persistence.partition.maintainer.RegionMaintainTask;
@@ -105,7 +105,7 @@ public class PartitionInfo implements SnapshotProcessor {
   // For allocating Regions
   private final AtomicInteger nextRegionGroupId;
   // Map<StorageGroupName, StorageGroupPartitionInfo>
-  private final Map<String, StorageGroupPartitionTable> storageGroupPartitionTables;
+  private final Map<String, DatabasePartitionTable> storageGroupPartitionTables;
 
   /** For Region-Maintainer */
   // For RegionReplicas' asynchronous management
@@ -136,12 +136,11 @@ public class PartitionInfo implements SnapshotProcessor {
    */
   public TSStatus createDatabase(DatabaseSchemaPlan plan) {
     String storageGroupName = plan.getSchema().getName();
-    StorageGroupPartitionTable storageGroupPartitionTable =
-        new StorageGroupPartitionTable(storageGroupName);
-    storageGroupPartitionTables.put(storageGroupName, storageGroupPartitionTable);
+    DatabasePartitionTable databasePartitionTable = new DatabasePartitionTable(storageGroupName);
+    storageGroupPartitionTables.put(storageGroupName, databasePartitionTable);
     MetricService.getInstance()
         .addMetricSet(
-            new PartitionInfoMetrics.StorageGroupPartitionTableMetrics(storageGroupPartitionTable));
+            new PartitionInfoMetrics.StorageGroupPartitionTableMetrics(databasePartitionTable));
     return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
   }
 
@@ -218,24 +217,23 @@ public class PartitionInfo implements SnapshotProcessor {
   /**
    * Thread-safely pre-delete the specific StorageGroup
    *
-   * @param preDeleteStorageGroupPlan PreDeleteStorageGroupPlan
+   * @param preDeleteDatabasePlan PreDeleteStorageGroupPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus preDeleteStorageGroup(PreDeleteStorageGroupPlan preDeleteStorageGroupPlan) {
-    final PreDeleteStorageGroupPlan.PreDeleteType preDeleteType =
-        preDeleteStorageGroupPlan.getPreDeleteType();
-    final String storageGroup = preDeleteStorageGroupPlan.getStorageGroup();
-    StorageGroupPartitionTable storageGroupPartitionTable =
-        storageGroupPartitionTables.get(storageGroup);
-    if (storageGroupPartitionTable == null) {
+  public TSStatus preDeleteDatabase(PreDeleteDatabasePlan preDeleteDatabasePlan) {
+    final PreDeleteDatabasePlan.PreDeleteType preDeleteType =
+        preDeleteDatabasePlan.getPreDeleteType();
+    final String storageGroup = preDeleteDatabasePlan.getStorageGroup();
+    DatabasePartitionTable databasePartitionTable = storageGroupPartitionTables.get(storageGroup);
+    if (databasePartitionTable == null) {
       return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
     }
     switch (preDeleteType) {
       case EXECUTE:
-        storageGroupPartitionTable.setPredeleted(true);
+        databasePartitionTable.setPredeleted(true);
         break;
       case ROLLBACK:
-        storageGroupPartitionTable.setPredeleted(false);
+        databasePartitionTable.setPredeleted(false);
         break;
       default:
         break;
@@ -248,7 +246,7 @@ public class PartitionInfo implements SnapshotProcessor {
    *
    * @param plan DeleteStorageGroupPlan
    */
-  public void deleteStorageGroup(DeleteStorageGroupPlan plan) {
+  public void deleteDatabase(DeleteDatabasePlan plan) {
     // Clean the StorageGroupTable cache
     storageGroupPartitionTables.remove(plan.getName());
   }
@@ -267,11 +265,11 @@ public class PartitionInfo implements SnapshotProcessor {
     if (plan.getPartitionSlotsMap().size() == 0) {
       // Return all SchemaPartitions when the queried PartitionSlots are empty
       storageGroupPartitionTables.forEach(
-          (storageGroup, storageGroupPartitionTable) -> {
-            if (!storageGroupPartitionTable.isPredeleted()) {
+          (storageGroup, databasePartitionTable) -> {
+            if (!databasePartitionTable.isPredeleted()) {
               schemaPartition.put(storageGroup, new SchemaPartitionTable());
 
-              storageGroupPartitionTable.getSchemaPartition(
+              databasePartitionTable.getSchemaPartition(
                   new ArrayList<>(), schemaPartition.get(storageGroup));
 
               if (schemaPartition.get(storageGroup).getSchemaPartitionMap().isEmpty()) {
@@ -372,9 +370,9 @@ public class PartitionInfo implements SnapshotProcessor {
   }
 
   private boolean isStorageGroupExisted(String storageGroup) {
-    final StorageGroupPartitionTable storageGroupPartitionTable =
+    final DatabasePartitionTable databasePartitionTable =
         storageGroupPartitionTables.get(storageGroup);
-    return storageGroupPartitionTable != null && !storageGroupPartitionTable.isPredeleted();
+    return databasePartitionTable != null && !databasePartitionTable.isPredeleted();
   }
 
   /**
@@ -453,14 +451,13 @@ public class PartitionInfo implements SnapshotProcessor {
       return regionResp;
     }
     TShowRegionReq showRegionReq = regionsInfoPlan.getShowRegionReq();
-    final List<String> storageGroups =
-        showRegionReq != null ? showRegionReq.getStorageGroups() : null;
+    final List<String> storageGroups = showRegionReq != null ? showRegionReq.getDatabases() : null;
     storageGroupPartitionTables.forEach(
-        (storageGroup, storageGroupPartitionTable) -> {
+        (storageGroup, databasePartitionTable) -> {
           if (storageGroups != null && !storageGroups.contains(storageGroup)) {
             return;
           }
-          regionInfoList.addAll(storageGroupPartitionTable.getRegionInfoList(regionsInfoPlan));
+          regionInfoList.addAll(databasePartitionTable.getRegionInfoList(regionsInfoPlan));
         });
     regionInfoList.sort(
         (o1, o2) ->
@@ -498,13 +495,11 @@ public class PartitionInfo implements SnapshotProcessor {
    * @return database name
    */
   public String getRegionStorageGroup(TConsensusGroupId regionId) {
-    Optional<StorageGroupPartitionTable> sgPartitionTableOptional =
+    Optional<DatabasePartitionTable> sgPartitionTableOptional =
         storageGroupPartitionTables.values().stream()
             .filter(s -> s.containRegion(regionId))
             .findFirst();
-    return sgPartitionTableOptional
-        .map(StorageGroupPartitionTable::getStorageGroupName)
-        .orElse(null);
+    return sgPartitionTableOptional.map(DatabasePartitionTable::getDatabaseName).orElse(null);
   }
 
   // ======================================================
@@ -571,8 +566,7 @@ public class PartitionInfo implements SnapshotProcessor {
     storageGroupPartitionTables
         .values()
         .forEach(
-            storageGroupPartitionTable ->
-                result.addAll(storageGroupPartitionTable.getAllReplicaSets()));
+            databasePartitionTable -> result.addAll(databasePartitionTable.getAllReplicaSets()));
     return result;
   }
 
@@ -587,8 +581,8 @@ public class PartitionInfo implements SnapshotProcessor {
     storageGroupPartitionTables
         .values()
         .forEach(
-            storageGroupPartitionTable ->
-                result.addAll(storageGroupPartitionTable.getAllReplicaSets(type)));
+            databasePartitionTable ->
+                result.addAll(databasePartitionTable.getAllReplicaSets(type)));
     return result;
   }
 
@@ -662,8 +656,7 @@ public class PartitionInfo implements SnapshotProcessor {
    */
   public int updateRegionGroupMetric(TConsensusGroupType type) {
     Set<RegionGroup> regionGroups = new HashSet<>();
-    for (Map.Entry<String, StorageGroupPartitionTable> entry :
-        storageGroupPartitionTables.entrySet()) {
+    for (Map.Entry<String, DatabasePartitionTable> entry : storageGroupPartitionTables.entrySet()) {
       regionGroups.addAll(entry.getValue().getRegionGroups(type));
     }
     int result = regionGroups.size();
@@ -725,7 +718,7 @@ public class PartitionInfo implements SnapshotProcessor {
 
       // serialize StorageGroupPartitionTable
       ReadWriteIOUtils.write(storageGroupPartitionTables.size(), fileOutputStream);
-      for (Map.Entry<String, StorageGroupPartitionTable> storageGroupPartitionTableEntry :
+      for (Map.Entry<String, DatabasePartitionTable> storageGroupPartitionTableEntry :
           storageGroupPartitionTables.entrySet()) {
         ReadWriteIOUtils.write(storageGroupPartitionTableEntry.getKey(), fileOutputStream);
         storageGroupPartitionTableEntry.getValue().serialize(fileOutputStream, protocol);
@@ -781,10 +774,9 @@ public class PartitionInfo implements SnapshotProcessor {
         if (storageGroup == null) {
           throw new IOException("Failed to load snapshot because get null StorageGroup name");
         }
-        StorageGroupPartitionTable storageGroupPartitionTable =
-            new StorageGroupPartitionTable(storageGroup);
-        storageGroupPartitionTable.deserialize(fileInputStream, protocol);
-        storageGroupPartitionTables.put(storageGroup, storageGroupPartitionTable);
+        DatabasePartitionTable databasePartitionTable = new DatabasePartitionTable(storageGroup);
+        databasePartitionTable.deserialize(fileInputStream, protocol);
+        storageGroupPartitionTables.put(storageGroup, databasePartitionTable);
       }
 
       // restore deletedRegionSet
@@ -801,7 +793,7 @@ public class PartitionInfo implements SnapshotProcessor {
       return new GetRegionIdResp(
           new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()), new ArrayList<>());
     }
-    StorageGroupPartitionTable sgPartitionTable =
+    DatabasePartitionTable sgPartitionTable =
         storageGroupPartitionTables.get(plan.getStorageGroup());
     return new GetRegionIdResp(
         new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()),
@@ -814,7 +806,7 @@ public class PartitionInfo implements SnapshotProcessor {
       return new GetTimeSlotListResp(
           new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()), new ArrayList<>());
     }
-    StorageGroupPartitionTable sgPartitionTable =
+    DatabasePartitionTable sgPartitionTable =
         storageGroupPartitionTables.get(plan.getStorageGroup());
     return new GetTimeSlotListResp(
         new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()),
@@ -827,7 +819,7 @@ public class PartitionInfo implements SnapshotProcessor {
       return new GetSeriesSlotListResp(
           new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()), new ArrayList<>());
     }
-    StorageGroupPartitionTable sgPartitionTable =
+    DatabasePartitionTable sgPartitionTable =
         storageGroupPartitionTables.get(plan.getStorageGroup());
     return new GetSeriesSlotListResp(
         new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()),
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
index 6f74aae67f..ccd4b4f9f4 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
@@ -27,15 +27,15 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.snapshot.SnapshotProcessor;
 import org.apache.iotdb.commons.utils.StatusUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.CheckTemplateSettablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetPathsSetTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetTemplateSetInfoPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.AdjustMaxRegionGroupNumPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetDataReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetSchemaReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPlan;
@@ -46,14 +46,14 @@ import org.apache.iotdb.confignode.consensus.request.write.template.PreUnsetSche
 import org.apache.iotdb.confignode.consensus.request.write.template.RollbackPreUnsetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.SetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.UnsetSchemaTemplatePlan;
-import org.apache.iotdb.confignode.consensus.response.AllTemplateSetInfoResp;
-import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
-import org.apache.iotdb.confignode.consensus.response.PathInfoResp;
-import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
-import org.apache.iotdb.confignode.consensus.response.TemplateInfoResp;
-import org.apache.iotdb.confignode.consensus.response.TemplateSetInfoResp;
+import org.apache.iotdb.confignode.consensus.response.database.CountDatabaseResp;
+import org.apache.iotdb.confignode.consensus.response.database.DatabaseSchemaResp;
+import org.apache.iotdb.confignode.consensus.response.partition.PathInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.AllTemplateSetInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.TemplateInfoResp;
+import org.apache.iotdb.confignode.consensus.response.template.TemplateSetInfoResp;
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.mtree.ConfigMTree;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.db.metadata.template.TemplateInternalRPCUtil;
@@ -128,7 +128,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     storageGroupReadWriteLock.writeLock().lock();
     try {
       // Set StorageGroup
-      TStorageGroupSchema storageGroupSchema = plan.getSchema();
+      TDatabaseSchema storageGroupSchema = plan.getSchema();
       PartialPath partialPathName = new PartialPath(storageGroupSchema.getName());
       mTree.setStorageGroup(partialPathName);
 
@@ -157,10 +157,10 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
-      TStorageGroupSchema alterSchema = plan.getSchema();
+      TDatabaseSchema alterSchema = plan.getSchema();
       PartialPath partialPathName = new PartialPath(alterSchema.getName());
 
-      TStorageGroupSchema currentSchema =
+      TDatabaseSchema currentSchema =
           mTree.getStorageGroupNodeByStorageGroupPath(partialPathName).getStorageGroupSchema();
       // TODO: Support alter other fields
       if (alterSchema.isSetMinSchemaRegionGroupNum()) {
@@ -213,7 +213,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
    * @param plan DeleteStorageGroupPlan
    * @return SUCCESS_STATUS
    */
-  public TSStatus deleteStorageGroup(DeleteStorageGroupPlan plan) {
+  public TSStatus deleteDatabase(DeleteDatabasePlan plan) {
     TSStatus result = new TSStatus();
     storageGroupReadWriteLock.writeLock().lock();
     try {
@@ -235,8 +235,8 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   }
 
   /** @return The number of matched StorageGroups by the specific StorageGroup pattern */
-  public CountStorageGroupResp countMatchedStorageGroups(CountStorageGroupPlan plan) {
-    CountStorageGroupResp result = new CountStorageGroupResp();
+  public CountDatabaseResp countMatchedDatabases(CountDatabasePlan plan) {
+    CountDatabaseResp result = new CountDatabaseResp();
     storageGroupReadWriteLock.readLock().lock();
     try {
       PartialPath patternPath = new PartialPath(plan.getStorageGroupPattern());
@@ -254,11 +254,11 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
   }
 
   /** @return All StorageGroupSchemas that matches to the specific StorageGroup pattern */
-  public StorageGroupSchemaResp getMatchedStorageGroupSchemas(GetStorageGroupPlan plan) {
-    StorageGroupSchemaResp result = new StorageGroupSchemaResp();
+  public DatabaseSchemaResp getMatchedDatabaseSchemas(GetDatabasePlan plan) {
+    DatabaseSchemaResp result = new DatabaseSchemaResp();
     storageGroupReadWriteLock.readLock().lock();
     try {
-      Map<String, TStorageGroupSchema> schemaMap = new HashMap<>();
+      Map<String, TDatabaseSchema> schemaMap = new HashMap<>();
       PartialPath patternPath = new PartialPath(plan.getStorageGroupPattern());
       List<PartialPath> matchedPaths = mTree.getMatchedStorageGroups(patternPath, false);
       for (PartialPath path : matchedPaths) {
@@ -388,7 +388,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
       for (Map.Entry<String, Pair<Integer, Integer>> entry :
           plan.getMaxRegionGroupNumMap().entrySet()) {
         PartialPath path = new PartialPath(entry.getKey());
-        TStorageGroupSchema storageGroupSchema =
+        TDatabaseSchema storageGroupSchema =
             mTree.getStorageGroupNodeByStorageGroupPath(path).getStorageGroupSchema();
         storageGroupSchema.setMaxSchemaRegionGroupNum(entry.getValue().getLeft());
         storageGroupSchema.setMaxDataRegionGroupNum(entry.getValue().getRight());
@@ -463,7 +463,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
    * @return The specific StorageGroupSchema
    * @throws DatabaseNotExistsException When the specific StorageGroup doesn't exist
    */
-  public TStorageGroupSchema getMatchedDatabaseSchemaByName(String storageGroup)
+  public TDatabaseSchema getMatchedDatabaseSchemaByName(String storageGroup)
       throws DatabaseNotExistsException {
     storageGroupReadWriteLock.readLock().lock();
     try {
@@ -483,9 +483,8 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
    * @param rawPathList StorageGroups' path patterns or full paths
    * @return All StorageGroupSchemas that matches to the specific StorageGroup patterns
    */
-  public Map<String, TStorageGroupSchema> getMatchedDatabaseSchemasByName(
-      List<String> rawPathList) {
-    Map<String, TStorageGroupSchema> schemaMap = new HashMap<>();
+  public Map<String, TDatabaseSchema> getMatchedDatabaseSchemasByName(List<String> rawPathList) {
+    Map<String, TDatabaseSchema> schemaMap = new HashMap<>();
     storageGroupReadWriteLock.readLock().lock();
     try {
       for (String rawPath : rawPathList) {
@@ -515,7 +514,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     storageGroupReadWriteLock.readLock().lock();
     try {
       PartialPath path = new PartialPath(database);
-      TStorageGroupSchema storageGroupSchema =
+      TDatabaseSchema storageGroupSchema =
           mTree.getStorageGroupNodeByStorageGroupPath(path).getStorageGroupSchema();
       switch (consensusGroupType) {
         case SchemaRegion:
@@ -543,7 +542,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     storageGroupReadWriteLock.readLock().lock();
     try {
       PartialPath path = new PartialPath(database);
-      TStorageGroupSchema storageGroupSchema =
+      TDatabaseSchema storageGroupSchema =
           mTree.getStorageGroupNodeByStorageGroupPath(path).getStorageGroupSchema();
       switch (consensusGroupType) {
         case SchemaRegion:
@@ -870,9 +869,9 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
     }
   }
 
-  public Map<String, TStorageGroupSchema> getMatchedStorageGroupSchemasByOneName(
+  public Map<String, TDatabaseSchema> getMatchedStorageGroupSchemasByOneName(
       String[] storageGroupPathPattern) {
-    Map<String, TStorageGroupSchema> schemaMap = new HashMap<>();
+    Map<String, TDatabaseSchema> schemaMap = new HashMap<>();
     storageGroupReadWriteLock.readLock().lock();
     try {
       PartialPath patternPath = new PartialPath(storageGroupPathPattern);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/sync/ClusterSyncInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/sync/ClusterSyncInfo.java
index beb0e0e18f..43ecde07c1 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/sync/ClusterSyncInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/sync/ClusterSyncInfo.java
@@ -34,8 +34,8 @@ import org.apache.iotdb.confignode.consensus.request.write.sync.PreCreatePipePla
 import org.apache.iotdb.confignode.consensus.request.write.sync.RecordPipeMessagePlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.SetPipeStatusPlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.ShowPipePlan;
-import org.apache.iotdb.confignode.consensus.response.PipeResp;
-import org.apache.iotdb.confignode.consensus.response.PipeSinkResp;
+import org.apache.iotdb.confignode.consensus.response.pipe.PipeResp;
+import org.apache.iotdb.confignode.consensus.response.pipe.PipeSinkResp;
 import org.apache.iotdb.db.utils.sync.SyncPipeUtil;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index 642c4ac669..e01bb7ebf5 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -38,8 +38,8 @@ import org.apache.iotdb.confignode.client.sync.SyncDataNodeClientPool;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGroupsPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
 import org.apache.iotdb.confignode.exception.AddConsensusGroupException;
 import org.apache.iotdb.confignode.exception.AddPeerException;
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
@@ -122,8 +122,8 @@ public class ConfigNodeProcedureEnv {
    * @return tsStatus
    */
   public TSStatus deleteConfig(String name) {
-    DeleteStorageGroupPlan deleteStorageGroupPlan = new DeleteStorageGroupPlan(name);
-    return getClusterSchemaManager().deleteStorageGroup(deleteStorageGroupPlan);
+    DeleteDatabasePlan deleteDatabasePlan = new DeleteDatabasePlan(name);
+    return getClusterSchemaManager().deleteStorageGroup(deleteDatabasePlan);
   }
 
   /**
@@ -132,8 +132,7 @@ public class ConfigNodeProcedureEnv {
    * @param preDeleteType execute/rollback
    * @param deleteSgName database name
    */
-  public void preDelete(
-      PreDeleteStorageGroupPlan.PreDeleteType preDeleteType, String deleteSgName) {
+  public void preDelete(PreDeleteDatabasePlan.PreDeleteType preDeleteType, String deleteSgName) {
     getPartitionManager().preDeleteStorageGroup(deleteSgName, preDeleteType);
   }
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
index c33a261751..d424a1eff9 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
@@ -31,7 +31,7 @@ import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.partition.UpdateRegionLocationPlan;
-import org.apache.iotdb.confignode.consensus.response.DataNodeToStatusResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeToStatusResp;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.manager.node.heartbeat.BaseNodeCache;
 import org.apache.iotdb.confignode.persistence.node.NodeInfo;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteStorageGroupProcedure.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteStorageGroupProcedure.java
index 759843be8a..89ecff9aa2 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteStorageGroupProcedure.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteStorageGroupProcedure.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.exception.runtime.ThriftSerDeException;
 import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
 import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMaintainTasksPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.PreDeleteDatabasePlan;
 import org.apache.iotdb.confignode.persistence.partition.maintainer.RegionDeleteTask;
 import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
@@ -33,7 +33,7 @@ import org.apache.iotdb.confignode.procedure.exception.ProcedureYieldException;
 import org.apache.iotdb.confignode.procedure.impl.statemachine.StateMachineProcedure;
 import org.apache.iotdb.confignode.procedure.state.schema.DeleteStorageGroupState;
 import org.apache.iotdb.confignode.procedure.store.ProcedureType;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.apache.thrift.TException;
@@ -50,22 +50,22 @@ public class DeleteStorageGroupProcedure
   private static final Logger LOG = LoggerFactory.getLogger(DeleteStorageGroupProcedure.class);
   private static final int RETRY_THRESHOLD = 5;
 
-  private TStorageGroupSchema deleteSgSchema;
+  private TDatabaseSchema deleteSgSchema;
 
   public DeleteStorageGroupProcedure() {
     super();
   }
 
-  public DeleteStorageGroupProcedure(TStorageGroupSchema deleteSgSchema) {
+  public DeleteStorageGroupProcedure(TDatabaseSchema deleteSgSchema) {
     super();
     this.deleteSgSchema = deleteSgSchema;
   }
 
-  public TStorageGroupSchema getDeleteSgSchema() {
+  public TDatabaseSchema getDeleteSgSchema() {
     return deleteSgSchema;
   }
 
-  public void setDeleteSgSchema(TStorageGroupSchema deleteSgSchema) {
+  public void setDeleteSgSchema(TDatabaseSchema deleteSgSchema) {
     this.deleteSgSchema = deleteSgSchema;
   }
 
@@ -83,7 +83,7 @@ public class DeleteStorageGroupProcedure
           break;
         case DELETE_PRE:
           LOG.info("Pre delete for database {}", deleteSgSchema.getName());
-          env.preDelete(PreDeleteStorageGroupPlan.PreDeleteType.EXECUTE, deleteSgSchema.getName());
+          env.preDelete(PreDeleteDatabasePlan.PreDeleteType.EXECUTE, deleteSgSchema.getName());
           setNextState(DeleteStorageGroupState.INVALIDATE_CACHE);
           break;
         case INVALIDATE_CACHE:
@@ -156,7 +156,7 @@ public class DeleteStorageGroupProcedure
       case DELETE_PRE:
       case INVALIDATE_CACHE:
         LOG.info("Rollback preDeleted:{}", deleteSgSchema.getName());
-        env.preDelete(PreDeleteStorageGroupPlan.PreDeleteType.ROLLBACK, deleteSgSchema.getName());
+        env.preDelete(PreDeleteDatabasePlan.PreDeleteType.ROLLBACK, deleteSgSchema.getName());
         break;
       default:
         break;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 44dbe630c3..29798f63df 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -36,14 +36,14 @@ import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.conf.SystemPropertiesUtils;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetOrCreateDataPartitionPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.write.confignode.RemoveConfigNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.RemoveDataNodePlan;
 import org.apache.iotdb.confignode.consensus.request.write.datanode.UpdateDataNodePlan;
@@ -54,14 +54,14 @@ import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPl
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.CreatePipeSinkPlan;
 import org.apache.iotdb.confignode.consensus.request.write.sync.DropPipeSinkPlan;
-import org.apache.iotdb.confignode.consensus.response.ConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.CountStorageGroupResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeConfigurationResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeRegisterResp;
-import org.apache.iotdb.confignode.consensus.response.DataNodeToStatusResp;
-import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
-import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
-import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
+import org.apache.iotdb.confignode.consensus.response.auth.PermissionInfoResp;
+import org.apache.iotdb.confignode.consensus.response.database.CountDatabaseResp;
+import org.apache.iotdb.confignode.consensus.response.database.DatabaseSchemaResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.ConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeConfigurationResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeRegisterResp;
+import org.apache.iotdb.confignode.consensus.response.datanode.DataNodeToStatusResp;
+import org.apache.iotdb.confignode.consensus.response.partition.RegionInfoListResp;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.manager.ConsensusManager;
 import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
@@ -72,7 +72,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRestartReq;
-import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
+import org.apache.iotdb.confignode.rpc.thrift.TCountDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateModelReq;
@@ -89,9 +89,11 @@ import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRestartResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeUpdateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeactivateSchemaTemplateReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabaseReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabasesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteTimeSeriesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropFunctionReq;
@@ -136,18 +138,16 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowModelReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowModelResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowTrailReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowTrailResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowVariablesResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSystemConfigurationResp;
 import org.apache.iotdb.confignode.rpc.thrift.TUnsetSchemaTemplateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TUpdateModelInfoReq;
@@ -274,7 +274,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   }
 
   @Override
-  public TSStatus setDatabase(TStorageGroupSchema databaseSchema) {
+  public TSStatus setDatabase(TDatabaseSchema databaseSchema) {
     TSStatus errorResp = null;
 
     // Set default configurations if necessary
@@ -345,14 +345,14 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
         new DatabaseSchemaPlan(ConfigPhysicalPlanType.CreateDatabase, databaseSchema);
     TSStatus resp = configManager.setDatabase(setPlan);
 
-    // Print log to record the ConfigNode that performs the set SetStorageGroupRequest
+    // Print log to record the ConfigNode that performs the set SetDatabaseRequest
     LOGGER.info("Execute SetDatabase: {} with result: {}", databaseSchema, resp);
 
     return resp;
   }
 
   @Override
-  public TSStatus alterDatabase(TStorageGroupSchema databaseSchema) {
+  public TSStatus alterDatabase(TDatabaseSchema databaseSchema) {
     TSStatus errorResp = null;
 
     // TODO: Support alter the following fields
@@ -389,20 +389,20 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
         new DatabaseSchemaPlan(ConfigPhysicalPlanType.AlterDatabase, databaseSchema);
     TSStatus resp = configManager.alterDatabase(alterPlan);
 
-    // Print log to record the ConfigNode that performs the set SetStorageGroupRequest
+    // Print log to record the ConfigNode that performs the set SetDatabaseRequest
     LOGGER.info("Execute AlterDatabase: {} with result: {}", databaseSchema, resp);
 
     return resp;
   }
 
   @Override
-  public TSStatus deleteStorageGroup(TDeleteStorageGroupReq tDeleteReq) {
+  public TSStatus deleteDatabase(TDeleteDatabaseReq tDeleteReq) {
     String prefixPath = tDeleteReq.getPrefixPath();
     return configManager.deleteStorageGroups(Collections.singletonList(prefixPath));
   }
 
   @Override
-  public TSStatus deleteStorageGroups(TDeleteStorageGroupsReq tDeleteReq) {
+  public TSStatus deleteDatabases(TDeleteDatabasesReq tDeleteReq) {
     List<String> prefixList = tDeleteReq.getPrefixPathList();
     return configManager.deleteStorageGroups(prefixList);
   }
@@ -415,43 +415,40 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   @Override
   public TSStatus setSchemaReplicationFactor(TSetSchemaReplicationFactorReq req) throws TException {
     return configManager.setSchemaReplicationFactor(
-        new SetSchemaReplicationFactorPlan(
-            req.getStorageGroup(), req.getSchemaReplicationFactor()));
+        new SetSchemaReplicationFactorPlan(req.getDatabase(), req.getSchemaReplicationFactor()));
   }
 
   @Override
   public TSStatus setDataReplicationFactor(TSetDataReplicationFactorReq req) throws TException {
     return configManager.setDataReplicationFactor(
-        new SetDataReplicationFactorPlan(req.getStorageGroup(), req.getDataReplicationFactor()));
+        new SetDataReplicationFactorPlan(req.getDatabase(), req.getDataReplicationFactor()));
   }
 
   @Override
   public TSStatus setTimePartitionInterval(TSetTimePartitionIntervalReq req) throws TException {
     return configManager.setTimePartitionInterval(
-        new SetTimePartitionIntervalPlan(req.getStorageGroup(), req.getTimePartitionInterval()));
+        new SetTimePartitionIntervalPlan(req.getDatabase(), req.getTimePartitionInterval()));
   }
 
   @Override
-  public TCountStorageGroupResp countMatchedStorageGroups(List<String> storageGroupPathPattern) {
-    CountStorageGroupResp countStorageGroupResp =
-        (CountStorageGroupResp)
-            configManager.countMatchedStorageGroups(
-                new CountStorageGroupPlan(storageGroupPathPattern));
+  public TCountDatabaseResp countMatchedDatabases(List<String> storageGroupPathPattern) {
+    CountDatabaseResp countDatabaseResp =
+        (CountDatabaseResp)
+            configManager.countMatchedStorageGroups(new CountDatabasePlan(storageGroupPathPattern));
 
-    TCountStorageGroupResp resp = new TCountStorageGroupResp();
-    countStorageGroupResp.convertToRPCCountStorageGroupResp(resp);
+    TCountDatabaseResp resp = new TCountDatabaseResp();
+    countDatabaseResp.convertToRPCCountStorageGroupResp(resp);
     return resp;
   }
 
   @Override
-  public TStorageGroupSchemaResp getMatchedStorageGroupSchemas(
-      List<String> storageGroupPathPattern) {
-    StorageGroupSchemaResp storageGroupSchemaResp =
-        (StorageGroupSchemaResp)
+  public TDatabaseSchemaResp getMatchedDatabaseSchemas(List<String> storageGroupPathPattern) {
+    DatabaseSchemaResp databaseSchemaResp =
+        (DatabaseSchemaResp)
             configManager.getMatchedStorageGroupSchemas(
-                new GetStorageGroupPlan(storageGroupPathPattern));
+                new GetDatabasePlan(storageGroupPathPattern));
 
-    return storageGroupSchemaResp.convertToRPCStorageGroupSchemaResp();
+    return databaseSchemaResp.convertToRPCStorageGroupSchemaResp();
   }
 
   @Override
@@ -775,8 +772,8 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   }
 
   @Override
-  public TShowStorageGroupResp showStorageGroup(List<String> storageGroupPathPattern) {
-    return configManager.showStorageGroup(new GetStorageGroupPlan(storageGroupPathPattern));
+  public TShowDatabaseResp showDatabase(List<String> storageGroupPathPattern) {
+    return configManager.showStorageGroup(new GetDatabasePlan(storageGroupPathPattern));
   }
 
   @Override
@@ -810,12 +807,12 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   }
 
   @Override
-  public TSStatus unsetSchemaTemplate(TUnsetSchemaTemplateReq req) throws TException {
+  public TSStatus unsetSchemaTemplate(TUnsetSchemaTemplateReq req) {
     return configManager.unsetSchemaTemplate(req);
   }
 
   @Override
-  public TSStatus dropSchemaTemplate(String req) throws TException {
+  public TSStatus dropSchemaTemplate(String req) {
     return configManager.dropSchemaTemplate(req);
   }
 
@@ -887,7 +884,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
     long startTime = req.isSetStartTime() ? req.getStartTime() : Long.MIN_VALUE;
     long endTime = req.isSetEndTime() ? req.getEndTime() : Long.MAX_VALUE;
     GetTimeSlotListPlan plan =
-        new GetTimeSlotListPlan(req.getStorageGroup(), req.getSeriesSlotId(), startTime, endTime);
+        new GetTimeSlotListPlan(req.getDatabase(), req.getSeriesSlotId(), startTime, endTime);
     return configManager.getTimeSlotList(plan);
   }
 
@@ -895,7 +892,7 @@ public class ConfigNodeRPCServiceProcessor implements IConfigNodeRPCService.Ifac
   public TGetSeriesSlotListResp getSeriesSlotList(TGetSeriesSlotListReq req) {
     TConsensusGroupType type =
         req.isSetType() ? req.getType() : TConsensusGroupType.ConfigNodeRegion;
-    GetSeriesSlotListPlan plan = new GetSeriesSlotListPlan(req.getStorageGroup(), type);
+    GetSeriesSlotListPlan plan = new GetSeriesSlotListPlan(req.getDatabase(), type);
     return configManager.getSeriesSlotList(plan);
   }
 
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
index be70040b22..7fd105a297 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
@@ -40,6 +40,8 @@ import org.apache.iotdb.commons.sync.pipe.PipeStatus;
 import org.apache.iotdb.commons.sync.pipe.TsFilePipeInfo;
 import org.apache.iotdb.commons.trigger.TriggerInformation;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.CountDatabasePlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.datanode.GetDataNodeConfigurationPlan;
 import org.apache.iotdb.confignode.consensus.request.read.function.GetFunctionTablePlan;
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetDataPartitionPlan;
@@ -51,8 +53,6 @@ import org.apache.iotdb.confignode.consensus.request.read.partition.GetSeriesSlo
 import org.apache.iotdb.confignode.consensus.request.read.partition.GetTimeSlotListPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionIdPlan;
 import org.apache.iotdb.confignode.consensus.request.read.region.GetRegionInfoListPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.CountStorageGroupPlan;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetAllTemplateSetInfoPlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetPathsSetTemplatePlan;
@@ -81,7 +81,7 @@ import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMai
 import org.apache.iotdb.confignode.consensus.request.write.region.PollRegionMaintainTaskPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.AdjustMaxRegionGroupNumPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DeleteDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetDataReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetSchemaReplicationFactorPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.SetTTLPlan;
@@ -109,9 +109,9 @@ import org.apache.iotdb.confignode.procedure.Procedure;
 import org.apache.iotdb.confignode.procedure.impl.schema.DeleteStorageGroupProcedure;
 import org.apache.iotdb.confignode.procedure.impl.statemachine.CreateRegionGroupsProcedure;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TPipeSinkInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.confignode.rpc.thrift.TTriggerState;
 import org.apache.iotdb.db.metadata.template.Template;
@@ -193,7 +193,7 @@ public class ConfigPhysicalPlanSerDeTest {
     DatabaseSchemaPlan req0 =
         new DatabaseSchemaPlan(
             ConfigPhysicalPlanType.CreateDatabase,
-            new TStorageGroupSchema()
+            new TDatabaseSchema()
                 .setName("sg")
                 .setTTL(Long.MAX_VALUE)
                 .setSchemaReplicationFactor(3)
@@ -209,7 +209,7 @@ public class ConfigPhysicalPlanSerDeTest {
     DatabaseSchemaPlan req0 =
         new DatabaseSchemaPlan(
             ConfigPhysicalPlanType.AlterDatabase,
-            new TStorageGroupSchema()
+            new TDatabaseSchema()
                 .setName("sg")
                 .setTTL(Long.MAX_VALUE)
                 .setSchemaReplicationFactor(3)
@@ -227,9 +227,9 @@ public class ConfigPhysicalPlanSerDeTest {
   @Test
   public void DeleteStorageGroupPlanTest() throws IOException {
     // TODO: Add serialize and deserialize test
-    DeleteStorageGroupPlan req0 = new DeleteStorageGroupPlan("root.sg");
-    DeleteStorageGroupPlan req1 =
-        (DeleteStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
+    DeleteDatabasePlan req0 = new DeleteDatabasePlan("root.sg");
+    DeleteDatabasePlan req1 =
+        (DeleteDatabasePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -282,17 +282,17 @@ public class ConfigPhysicalPlanSerDeTest {
 
   @Test
   public void CountStorageGroupPlanTest() throws IOException {
-    CountStorageGroupPlan req0 = new CountStorageGroupPlan(Arrays.asList("root", "sg"));
-    CountStorageGroupPlan req1 =
-        (CountStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
+    CountDatabasePlan req0 = new CountDatabasePlan(Arrays.asList("root", "sg"));
+    CountDatabasePlan req1 =
+        (CountDatabasePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
   @Test
   public void GetStorageGroupPlanTest() throws IOException {
-    GetStorageGroupPlan req0 = new GetStorageGroupPlan(Arrays.asList("root", "sg"));
-    CountStorageGroupPlan req1 =
-        (CountStorageGroupPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
+    GetDatabasePlan req0 = new GetDatabasePlan(Arrays.asList("root", "sg"));
+    CountDatabasePlan req1 =
+        (CountDatabasePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0, req1);
   }
 
@@ -752,7 +752,7 @@ public class ConfigPhysicalPlanSerDeTest {
   public void updateProcedureTest() throws IOException {
     // test procedure equals DeleteStorageGroupProcedure
     DeleteStorageGroupProcedure deleteStorageGroupProcedure = new DeleteStorageGroupProcedure();
-    deleteStorageGroupProcedure.setDeleteSgSchema(new TStorageGroupSchema("root.sg"));
+    deleteStorageGroupProcedure.setDeleteSgSchema(new TDatabaseSchema("root.sg"));
     UpdateProcedurePlan updateProcedurePlan0 = new UpdateProcedurePlan();
     updateProcedurePlan0.setProcedure(deleteStorageGroupProcedure);
     UpdateProcedurePlan updateProcedurePlan1 =
@@ -797,9 +797,9 @@ public class ConfigPhysicalPlanSerDeTest {
   public void UpdateProcedurePlanTest() throws IOException {
     UpdateProcedurePlan req0 = new UpdateProcedurePlan();
     DeleteStorageGroupProcedure deleteStorageGroupProcedure = new DeleteStorageGroupProcedure();
-    TStorageGroupSchema tStorageGroupSchema = new TStorageGroupSchema();
-    tStorageGroupSchema.setName("root.sg");
-    deleteStorageGroupProcedure.setDeleteSgSchema(tStorageGroupSchema);
+    TDatabaseSchema tDatabaseSchema = new TDatabaseSchema();
+    tDatabaseSchema.setName("root.sg");
+    deleteStorageGroupProcedure.setDeleteSgSchema(tDatabaseSchema);
     req0.setProcedure(deleteStorageGroupProcedure);
     UpdateProcedurePlan req1 =
         (UpdateProcedurePlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
@@ -826,7 +826,7 @@ public class ConfigPhysicalPlanSerDeTest {
     Assert.assertEquals(req0.getType(), req1.getType());
     Assert.assertEquals(req0.getShowRegionReq(), req1.getShowRegionReq());
     final List<String> sgList = Collections.singletonList("root.sg1, root.sg2, root.*");
-    showRegionReq.setStorageGroups(new ArrayList<>(sgList));
+    showRegionReq.setDatabases(new ArrayList<>(sgList));
     GetRegionInfoListPlan req2 =
         (GetRegionInfoListPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
     Assert.assertEquals(req0.getType(), req1.getType());
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
index 55346f6ed1..cc0e2888ca 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/AuthorInfoTest.java
@@ -25,7 +25,7 @@ import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
 import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
-import org.apache.iotdb.confignode.consensus.response.PermissionInfoResp;
+import org.apache.iotdb.confignode.consensus.response.auth.PermissionInfoResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.rpc.TSStatusCode;
 
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
index bf706ff942..bbd1673399 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSchemaInfoTest.java
@@ -22,13 +22,13 @@ package org.apache.iotdb.confignode.persistence;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.utils.PathUtils;
 import org.apache.iotdb.confignode.consensus.request.ConfigPhysicalPlanType;
-import org.apache.iotdb.confignode.consensus.request.read.storagegroup.GetStorageGroupPlan;
+import org.apache.iotdb.confignode.consensus.request.read.database.GetDatabasePlan;
 import org.apache.iotdb.confignode.consensus.request.read.template.GetPathsSetTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.CreateSchemaTemplatePlan;
 import org.apache.iotdb.confignode.consensus.request.write.template.SetSchemaTemplatePlan;
 import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.template.Template;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -81,18 +81,18 @@ public class ClusterSchemaInfoTest {
     storageGroupPathList.add("root.a.b.sg");
     storageGroupPathList.add("root.a.a.a.b.sg");
 
-    Map<String, TStorageGroupSchema> testMap = new TreeMap<>();
+    Map<String, TDatabaseSchema> testMap = new TreeMap<>();
     int i = 0;
     for (String path : storageGroupPathList) {
-      TStorageGroupSchema tStorageGroupSchema = new TStorageGroupSchema();
-      tStorageGroupSchema.setName(path);
-      tStorageGroupSchema.setTTL(i);
-      tStorageGroupSchema.setDataReplicationFactor(i);
-      tStorageGroupSchema.setSchemaReplicationFactor(i);
-      tStorageGroupSchema.setTimePartitionInterval(i);
-      testMap.put(path, tStorageGroupSchema);
+      TDatabaseSchema tDatabaseSchema = new TDatabaseSchema();
+      tDatabaseSchema.setName(path);
+      tDatabaseSchema.setTTL(i);
+      tDatabaseSchema.setDataReplicationFactor(i);
+      tDatabaseSchema.setSchemaReplicationFactor(i);
+      tDatabaseSchema.setTimePartitionInterval(i);
+      testMap.put(path, tDatabaseSchema);
       clusterSchemaInfo.createDatabase(
-          new DatabaseSchemaPlan(ConfigPhysicalPlanType.CreateDatabase, tStorageGroupSchema));
+          new DatabaseSchemaPlan(ConfigPhysicalPlanType.CreateDatabase, tDatabaseSchema));
       i++;
     }
     clusterSchemaInfo.processTakeSnapshot(snapshotDir);
@@ -101,10 +101,10 @@ public class ClusterSchemaInfoTest {
 
     Assert.assertEquals(storageGroupPathList.size(), clusterSchemaInfo.getDatabaseNames().size());
 
-    GetStorageGroupPlan getStorageGroupReq =
-        new GetStorageGroupPlan(Arrays.asList(PathUtils.splitPathToDetachedNodes("root.**")));
-    Map<String, TStorageGroupSchema> reloadResult =
-        clusterSchemaInfo.getMatchedStorageGroupSchemas(getStorageGroupReq).getSchemaMap();
+    GetDatabasePlan getStorageGroupReq =
+        new GetDatabasePlan(Arrays.asList(PathUtils.splitPathToDetachedNodes("root.**")));
+    Map<String, TDatabaseSchema> reloadResult =
+        clusterSchemaInfo.getMatchedDatabaseSchemas(getStorageGroupReq).getSchemaMap();
     Assert.assertEquals(testMap, reloadResult);
   }
 
@@ -118,13 +118,13 @@ public class ClusterSchemaInfoTest {
 
     clusterSchemaInfo.createDatabase(
         new DatabaseSchemaPlan(
-            ConfigPhysicalPlanType.CreateDatabase, new TStorageGroupSchema("root.test1")));
+            ConfigPhysicalPlanType.CreateDatabase, new TDatabaseSchema("root.test1")));
     clusterSchemaInfo.createDatabase(
         new DatabaseSchemaPlan(
-            ConfigPhysicalPlanType.CreateDatabase, new TStorageGroupSchema("root.test2")));
+            ConfigPhysicalPlanType.CreateDatabase, new TDatabaseSchema("root.test2")));
     clusterSchemaInfo.createDatabase(
         new DatabaseSchemaPlan(
-            ConfigPhysicalPlanType.CreateDatabase, new TStorageGroupSchema("root.test3")));
+            ConfigPhysicalPlanType.CreateDatabase, new TDatabaseSchema("root.test3")));
 
     clusterSchemaInfo.setSchemaTemplate(
         new SetSchemaTemplatePlan(templateName, "root.test1.template"));
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
index 2ed59e9122..b0553b1b92 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
@@ -36,12 +36,12 @@ import org.apache.iotdb.confignode.consensus.request.write.partition.CreateSchem
 import org.apache.iotdb.confignode.consensus.request.write.region.CreateRegionGroupsPlan;
 import org.apache.iotdb.confignode.consensus.request.write.region.OfferRegionMaintainTasksPlan;
 import org.apache.iotdb.confignode.consensus.request.write.storagegroup.DatabaseSchemaPlan;
-import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
+import org.apache.iotdb.confignode.consensus.response.partition.RegionInfoListResp;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
 import org.apache.iotdb.confignode.persistence.partition.maintainer.RegionCreateTask;
 import org.apache.iotdb.confignode.persistence.partition.maintainer.RegionDeleteTask;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.thrift.TException;
@@ -104,7 +104,7 @@ public class PartitionInfoTest {
     // Set StorageGroup
     partitionInfo.createDatabase(
         new DatabaseSchemaPlan(
-            ConfigPhysicalPlanType.CreateDatabase, new TStorageGroupSchema("root.test")));
+            ConfigPhysicalPlanType.CreateDatabase, new TDatabaseSchema("root.test")));
 
     // Create a SchemaRegion
     CreateRegionGroupsPlan createRegionGroupsReq = new CreateRegionGroupsPlan();
@@ -159,7 +159,7 @@ public class PartitionInfoTest {
       // Set StorageGroup
       partitionInfo.createDatabase(
           new DatabaseSchemaPlan(
-              ConfigPhysicalPlanType.CreateDatabase, new TStorageGroupSchema("root.test" + i)));
+              ConfigPhysicalPlanType.CreateDatabase, new TDatabaseSchema("root.test" + i)));
 
       // Create a SchemaRegion
       CreateRegionGroupsPlan createRegionGroupsPlan = new CreateRegionGroupsPlan();
@@ -214,7 +214,7 @@ public class PartitionInfoTest {
                 Assert.assertEquals(
                     regionInfo.getConsensusGroupId().getType(), TConsensusGroupType.DataRegion));
     showRegionReq.setConsensusGroupType(null);
-    showRegionReq.setStorageGroups(Collections.singletonList("root.test1"));
+    showRegionReq.setDatabases(Collections.singletonList("root.test1"));
     RegionInfoListResp regionInfoList4 =
         (RegionInfoListResp) partitionInfo.getRegionInfoList(regionReq);
     Assert.assertEquals(regionInfoList4.getRegionInfoList().size(), 10);
@@ -223,7 +223,7 @@ public class PartitionInfoTest {
         .forEach(
             (regionInfo) -> {
               Assert.assertEquals(regionInfo.getClientRpcIp(), "127.0.0.1");
-              Assert.assertEquals(regionInfo.getStorageGroup(), "root.test1");
+              Assert.assertEquals(regionInfo.getDatabase(), "root.test1");
             });
   }
 
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedureTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedureTest.java
index 199e6202e6..612ac01c60 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedureTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedureTest.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.confignode.procedure.impl;
 
 import org.apache.iotdb.confignode.procedure.impl.schema.DeleteStorageGroupProcedure;
 import org.apache.iotdb.confignode.procedure.store.ProcedureFactory;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.tsfile.utils.PublicBAOS;
 
 import org.junit.Test;
@@ -40,7 +40,7 @@ public class DeleteStorageGroupProcedureTest {
     PublicBAOS byteArrayOutputStream = new PublicBAOS();
     DataOutputStream outputStream = new DataOutputStream(byteArrayOutputStream);
     DeleteStorageGroupProcedure p1 =
-        new DeleteStorageGroupProcedure(new TStorageGroupSchema("root.sg"));
+        new DeleteStorageGroupProcedure(new TDatabaseSchema("root.sg"));
 
     try {
       p1.serialize(outputStream);
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
index fca62b0a95..d55aef043f 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
@@ -36,12 +36,12 @@ import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateTriggerReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TGetTriggerTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetUDFTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -116,7 +116,7 @@ public class IoTDBConfigNodeSnapshotIT {
 
       for (int i = 0; i < storageGroupNum; i++) {
         String storageGroup = sg + i;
-        TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema(storageGroup);
+        TDatabaseSchema storageGroupSchema = new TDatabaseSchema(storageGroup);
         TSStatus status = client.setDatabase(storageGroupSchema);
         assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
index 6b8f796c7c..fd6e275c68 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
@@ -24,10 +24,10 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
 import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.env.cluster.AbstractEnv;
@@ -182,7 +182,7 @@ public class IoTDBClusterRestartIT {
       Map<String, Map<TSeriesPartitionSlot, TConsensusGroupId>> schemaPartitionTable;
 
       // Set StorageGroups
-      status = client.setDatabase((new TStorageGroupSchema(sg0)));
+      status = client.setDatabase((new TDatabaseSchema(sg0)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       // Test getSchemaPartition, the result should be empty
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
index 7eca448735..b66fadeb35 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
@@ -96,7 +96,7 @@ public class IoTDBDatabaseRegionControlIT {
       // Check RegionGroupNum, which should be equal to the default value
       TShowRegionResp resp =
           configNodeClient.showRegion(
-              new TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+              new TShowRegionReq().setDatabases(Collections.singletonList(database)));
       AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
       AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), resp.getStatus().getCode());
@@ -140,7 +140,7 @@ public class IoTDBDatabaseRegionControlIT {
       // Check RegionGroupNum, which should be equal to the specified value
       TShowRegionResp resp =
           configNodeClient.showRegion(
-              new TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+              new TShowRegionReq().setDatabases(Collections.singletonList(database)));
       AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
       AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), resp.getStatus().getCode());
@@ -179,7 +179,7 @@ public class IoTDBDatabaseRegionControlIT {
       // Check RegionGroupNum, which should be equal to the default value
       TShowRegionResp resp =
           configNodeClient.showRegion(
-              new TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+              new TShowRegionReq().setDatabases(Collections.singletonList(database)));
       AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
       AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), resp.getStatus().getCode());
@@ -212,7 +212,7 @@ public class IoTDBDatabaseRegionControlIT {
       // Check RegionGroupNum, which should be equal to the specified value
       resp =
           configNodeClient.showRegion(
-              new TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+              new TShowRegionReq().setDatabases(Collections.singletonList(database)));
       schemaRegionGroupNum.set(0);
       dataRegionGroupNum.set(0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), resp.getStatus().getCode());
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
index 654edcf0f4..e39a1a1462 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
@@ -23,13 +23,13 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
 import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
+import org.apache.iotdb.confignode.rpc.thrift.TCountDatabaseResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabasesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataReplicationFactorReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetTimePartitionIntervalReq;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -71,13 +71,13 @@ public class IoTDBDatabaseSetAndDeleteIT {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       // set Database0 by default values
-      TStorageGroupSchema storageGroupSchema0 = new TStorageGroupSchema(sg0);
+      TDatabaseSchema storageGroupSchema0 = new TDatabaseSchema(sg0);
       status = client.setDatabase(storageGroupSchema0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       // set Database1 by specific values
-      TStorageGroupSchema storageGroupSchema1 =
-          new TStorageGroupSchema(sg1)
+      TDatabaseSchema storageGroupSchema1 =
+          new TDatabaseSchema(sg1)
               .setTTL(1024L)
               .setSchemaReplicationFactor(5)
               .setDataReplicationFactor(5)
@@ -86,26 +86,24 @@ public class IoTDBDatabaseSetAndDeleteIT {
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       // test count all Databases
-      TCountStorageGroupResp countResp =
-          client.countMatchedStorageGroups(Arrays.asList("root", "**"));
+      TCountDatabaseResp countResp = client.countMatchedDatabases(Arrays.asList("root", "**"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), countResp.getStatus().getCode());
       Assert.assertEquals(2, countResp.getCount());
 
       // test count one Database
-      countResp = client.countMatchedStorageGroups(Arrays.asList("root", "sg0"));
+      countResp = client.countMatchedDatabases(Arrays.asList("root", "sg0"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), countResp.getStatus().getCode());
       Assert.assertEquals(1, countResp.getCount());
 
       // test query all DatabaseSchemas
-      TStorageGroupSchemaResp getResp =
-          client.getMatchedStorageGroupSchemas(Arrays.asList("root", "**"));
+      TDatabaseSchemaResp getResp = client.getMatchedDatabaseSchemas(Arrays.asList("root", "**"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), getResp.getStatus().getCode());
-      Map<String, TStorageGroupSchema> schemaMap = getResp.getStorageGroupSchemaMap();
+      Map<String, TDatabaseSchema> schemaMap = getResp.getDatabaseSchemaMap();
       Assert.assertEquals(2, schemaMap.size());
-      TStorageGroupSchema storageGroupSchema = schemaMap.get(sg0);
+      TDatabaseSchema storageGroupSchema = schemaMap.get(sg0);
       Assert.assertNotNull(storageGroupSchema);
       Assert.assertEquals(sg0, storageGroupSchema.getName());
       Assert.assertEquals(Long.MAX_VALUE, storageGroupSchema.getTTL());
@@ -136,10 +134,10 @@ public class IoTDBDatabaseSetAndDeleteIT {
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       // test setter results
-      getResp = client.getMatchedStorageGroupSchemas(Arrays.asList("root", "sg1"));
+      getResp = client.getMatchedDatabaseSchemas(Arrays.asList("root", "sg1"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), getResp.getStatus().getCode());
-      schemaMap = getResp.getStorageGroupSchemaMap();
+      schemaMap = getResp.getDatabaseSchemaMap();
       Assert.assertEquals(1, schemaMap.size());
       storageGroupSchema = schemaMap.get(sg1);
       Assert.assertNotNull(storageGroupSchema);
@@ -159,21 +157,20 @@ public class IoTDBDatabaseSetAndDeleteIT {
 
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TStorageGroupSchema storageGroupSchema0 = new TStorageGroupSchema(sg0);
+      TDatabaseSchema storageGroupSchema0 = new TDatabaseSchema(sg0);
       // set StorageGroup0 by default values
       status = client.setDatabase(storageGroupSchema0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
       // set StorageGroup1 by specific values
-      TStorageGroupSchema storageGroupSchema1 = new TStorageGroupSchema(sg1);
+      TDatabaseSchema storageGroupSchema1 = new TDatabaseSchema(sg1);
       status = client.setDatabase(storageGroupSchema1);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
-      TDeleteStorageGroupsReq deleteStorageGroupsReq = new TDeleteStorageGroupsReq();
+      TDeleteDatabasesReq deleteStorageGroupsReq = new TDeleteDatabasesReq();
       List<String> sgs = Arrays.asList(sg0, sg1);
       deleteStorageGroupsReq.setPrefixPathList(sgs);
-      TSStatus deleteSgStatus = client.deleteStorageGroups(deleteStorageGroupsReq);
-      TStorageGroupSchemaResp root =
-          client.getMatchedStorageGroupSchemas(Arrays.asList("root", "*"));
-      Assert.assertTrue(root.getStorageGroupSchemaMap().isEmpty());
+      TSStatus deleteSgStatus = client.deleteDatabases(deleteStorageGroupsReq);
+      TDatabaseSchemaResp root = client.getMatchedDatabaseSchemas(Arrays.asList("root", "*"));
+      Assert.assertTrue(root.getDatabaseSchemaMap().isEmpty());
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), deleteSgStatus.getCode());
     }
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
index a8bad2f649..2d1f17cb6c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
@@ -26,9 +26,9 @@ import org.apache.iotdb.commons.cluster.NodeStatus;
 import org.apache.iotdb.commons.cluster.RegionRoleType;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -90,7 +90,7 @@ public class IoTDBClusterRegionLeaderBalancingIT {
 
       // Set StorageGroups
       for (int i = 0; i < storageGroupNum; i++) {
-        status = client.setDatabase(new TStorageGroupSchema(sg + i));
+        status = client.setDatabase(new TDatabaseSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
       }
 
@@ -140,7 +140,7 @@ public class IoTDBClusterRegionLeaderBalancingIT {
 
       for (int i = 0; i < storageGroupNum; i++) {
         // Set StorageGroups
-        status = client.setDatabase(new TStorageGroupSchema(sg + i));
+        status = client.setDatabase(new TDatabaseSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
         // Create a DataRegionGroup for each StorageGroup
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
index 236d0df9e3..3c264f70bf 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
@@ -25,9 +25,9 @@ import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -102,9 +102,9 @@ public class IoTDBConfigNodeSwitchLeaderIT {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       // Set StorageGroups
-      status = client.setDatabase((new TStorageGroupSchema(sg0)));
+      status = client.setDatabase((new TDatabaseSchema(sg0)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
-      status = client.setDatabase((new TStorageGroupSchema(sg1)));
+      status = client.setDatabase((new TDatabaseSchema(sg1)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       // Create SchemaRegionGroups through getOrCreateSchemaPartition and record
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
index 030b249a8e..608fdaa68a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
@@ -26,12 +26,12 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabaseReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -102,7 +102,7 @@ public class IoTDBAutoRegionGroupExtensionIT {
       // Delete all StorageGroups
       for (int i = 0; i < testSgNum; i++) {
         String curSg = sg + i;
-        client.deleteStorageGroup(new TDeleteStorageGroupReq(curSg));
+        client.deleteDatabase(new TDeleteDatabaseReq(curSg));
       }
       boolean isAllRegionGroupDeleted = false;
       for (int retry = 0; retry < retryNum; retry++) {
@@ -128,7 +128,7 @@ public class IoTDBAutoRegionGroupExtensionIT {
       String curSg = sg + i;
       TSStatus status =
           client.setDatabase(
-              new TStorageGroupSchema(curSg)
+              new TDatabaseSchema(curSg)
                   .setMinSchemaRegionGroupNum(testMinSchemaRegionGroupNum)
                   .setMinDataRegionGroupNum(testMinDataRegionGroupNum));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
@@ -170,7 +170,7 @@ public class IoTDBAutoRegionGroupExtensionIT {
         .forEach(
             regionInfo ->
                 regionCounter
-                    .computeIfAbsent(regionInfo.getStorageGroup(), empty -> new AtomicInteger(0))
+                    .computeIfAbsent(regionInfo.getDatabase(), empty -> new AtomicInteger(0))
                     .getAndIncrement());
     Assert.assertEquals(testSgNum, regionCounter.size());
     regionCounter.forEach(
@@ -188,7 +188,7 @@ public class IoTDBAutoRegionGroupExtensionIT {
         .forEach(
             regionInfo ->
                 regionCounter
-                    .computeIfAbsent(regionInfo.getStorageGroup(), empty -> new AtomicInteger(0))
+                    .computeIfAbsent(regionInfo.getDatabase(), empty -> new AtomicInteger(0))
                     .getAndIncrement());
     Assert.assertEquals(testSgNum, regionCounter.size());
     regionCounter.forEach(
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
index 6ee12cef1c..820e6835c5 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
@@ -25,11 +25,11 @@ import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -99,7 +99,7 @@ public class IoTDBCustomRegionGroupExtensionIT {
         String curSg = sg + i;
 
         /* Set StorageGroup */
-        TSStatus status = client.setDatabase(new TStorageGroupSchema(curSg));
+        TSStatus status = client.setDatabase(new TDatabaseSchema(curSg));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
         /* Insert a DataPartition to create DataRegionGroups */
@@ -130,12 +130,12 @@ public class IoTDBCustomRegionGroupExtensionIT {
             .getRegionInfoList()
             .forEach(
                 regionInfo -> {
-                  if (regionInfo.getStorageGroup().equals(curSg)
+                  if (regionInfo.getDatabase().equals(curSg)
                       && TConsensusGroupType.DataRegion.equals(
                           regionInfo.getConsensusGroupId().getType())) {
                     dataRegionCount.getAndIncrement();
                   }
-                  if (regionInfo.getStorageGroup().equals(curSg)
+                  if (regionInfo.getDatabase().equals(curSg)
                       && TConsensusGroupType.SchemaRegion.equals(
                           regionInfo.getConsensusGroupId().getType())) {
                     schemaRegionCount.getAndIncrement();
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
index f978bcf425..33844dcf48 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
@@ -28,12 +28,12 @@ import org.apache.iotdb.commons.cluster.RegionStatus;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataNodeStatusReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -100,7 +100,7 @@ public class IoTDBPartitionCreationIT {
   private void setStorageGroup() throws Exception {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TSStatus status = client.setDatabase(new TStorageGroupSchema(sg));
+      TSStatus status = client.setDatabase(new TDatabaseSchema(sg));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     }
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
index 16b33942c5..7d409d7a5d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
@@ -38,7 +39,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -110,7 +110,7 @@ public class IoTDBPartitionDurableIT {
   private void setStorageGroup() throws Exception {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TSStatus status = client.setDatabase(new TStorageGroupSchema(sg));
+      TSStatus status = client.setDatabase(new TDatabaseSchema(sg));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
     }
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
index 6a851fea09..f8afd8d2d4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
@@ -28,6 +28,7 @@ import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetRegionIdResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetSeriesSlotListReq;
@@ -39,8 +40,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -112,7 +112,7 @@ public class IoTDBPartitionGetterIT {
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       /* Set StorageGroups */
       for (int i = 0; i < storageGroupNum; i++) {
-        TSStatus status = client.setDatabase(new TStorageGroupSchema(sg + i));
+        TSStatus status = client.setDatabase(new TDatabaseSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
       }
 
@@ -326,10 +326,10 @@ public class IoTDBPartitionGetterIT {
 
         // Check the number of DataRegionGroup.
         // And this number should be greater than or equal to leastDataRegionGroupNum
-        TShowStorageGroupResp showStorageGroupResp =
-            client.showStorageGroup(Arrays.asList(storageGroup.split("\\.")));
+        TShowDatabaseResp showStorageGroupResp =
+            client.showDatabase(Arrays.asList(storageGroup.split("\\.")));
         Assert.assertTrue(
-            showStorageGroupResp.getStorageGroupInfoMap().get(storageGroup).getDataRegionNum()
+            showStorageGroupResp.getDatabaseInfoMap().get(storageGroup).getDataRegionNum()
                 >= leastDataRegionGroupNum);
       }
     }
@@ -405,7 +405,7 @@ public class IoTDBPartitionGetterIT {
       TSchemaPartitionReq schemaPartitionReq = new TSchemaPartitionReq(buffer);
       TSchemaPartitionTableResp schemaPartitionTableResp =
           client.getSchemaPartitionTable(schemaPartitionReq);
-      getRegionIdReq.setStorageGroup(sg0);
+      getRegionIdReq.setDatabase(sg0);
       getRegionIdReq.setSeriesSlotId(
           new ArrayList<>(schemaPartitionTableResp.getSchemaPartitionTable().get(sg0).keySet())
               .get(0));
diff --git a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
index f4a054bc0a..a36df635b8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
@@ -24,9 +24,9 @@ import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
 import org.apache.iotdb.it.env.EnvFactory;
@@ -82,7 +82,7 @@ public class IoTDBPartitionInheritPolicyIT {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       for (int i = 0; i < storageGroupNum; i++) {
-        TSStatus status = client.setDatabase(new TStorageGroupSchema(sg + i));
+        TSStatus status = client.setDatabase(new TDatabaseSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
       }
     }
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtils.java
index 1677caacc9..3a2be10483 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtils.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtils.java
@@ -20,8 +20,8 @@ package org.apache.iotdb.commons.utils;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.commons.exception.runtime.ThriftSerDeException;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TPipeSinkInfo;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
@@ -67,7 +67,7 @@ public class ThriftConfigNodeSerDeUtils {
   }
 
   public static void serializeTStorageGroupSchema(
-      TStorageGroupSchema storageGroupSchema, ByteBuffer buffer) {
+      TDatabaseSchema storageGroupSchema, ByteBuffer buffer) {
     try {
       storageGroupSchema.write(generateWriteProtocol(buffer));
     } catch (TException e) {
@@ -75,8 +75,8 @@ public class ThriftConfigNodeSerDeUtils {
     }
   }
 
-  public static TStorageGroupSchema deserializeTStorageGroupSchema(ByteBuffer buffer) {
-    TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
+  public static TDatabaseSchema deserializeTStorageGroupSchema(ByteBuffer buffer) {
+    TDatabaseSchema storageGroupSchema = new TDatabaseSchema();
     try {
       storageGroupSchema.read(generateReadProtocol(buffer));
     } catch (TException e) {
@@ -86,7 +86,7 @@ public class ThriftConfigNodeSerDeUtils {
   }
 
   public static void serializeTStorageGroupSchema(
-      TStorageGroupSchema storageGroupSchema, OutputStream outputStream) {
+      TDatabaseSchema storageGroupSchema, OutputStream outputStream) {
     try {
       storageGroupSchema.write(generateWriteProtocol(outputStream));
     } catch (TException e) {
@@ -94,8 +94,8 @@ public class ThriftConfigNodeSerDeUtils {
     }
   }
 
-  public static TStorageGroupSchema deserializeTStorageGroupSchema(InputStream inputStream) {
-    TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
+  public static TDatabaseSchema deserializeTStorageGroupSchema(InputStream inputStream) {
+    TDatabaseSchema storageGroupSchema = new TDatabaseSchema();
     try {
       storageGroupSchema.read(generateReadProtocol(inputStream));
     } catch (TException e) {
diff --git a/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java b/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java
index 24aee00bf6..5d949079ac 100644
--- a/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java
+++ b/node-commons/src/test/java/org/apache/iotdb/commons/utils/ThriftConfigNodeSerDeUtilsTest.java
@@ -20,7 +20,7 @@ package org.apache.iotdb.commons.utils;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TEndPoint;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 
 import org.junit.After;
 import org.junit.Assert;
@@ -39,7 +39,7 @@ public class ThriftConfigNodeSerDeUtilsTest {
 
   @Test
   public void readWriteTStorageGroupSchemaTest() {
-    TStorageGroupSchema storageGroupSchema0 = new TStorageGroupSchema();
+    TDatabaseSchema storageGroupSchema0 = new TDatabaseSchema();
     storageGroupSchema0.setName("root.sg");
     storageGroupSchema0.setTTL(Long.MAX_VALUE);
     storageGroupSchema0.setSchemaReplicationFactor(3);
@@ -48,7 +48,7 @@ public class ThriftConfigNodeSerDeUtilsTest {
 
     ThriftConfigNodeSerDeUtils.serializeTStorageGroupSchema(storageGroupSchema0, buffer);
     buffer.flip();
-    TStorageGroupSchema storageGroupSchema1 =
+    TDatabaseSchema storageGroupSchema1 =
         ThriftConfigNodeSerDeUtils.deserializeTStorageGroupSchema(buffer);
     Assert.assertEquals(storageGroupSchema0, storageGroupSchema1);
   }
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
index aac3de5a11..8efabdfb29 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode;
 
 import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
 import org.apache.iotdb.db.metadata.mnode.MNodeType;
 import org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaConstants;
@@ -109,10 +109,10 @@ public class RStorageGroupMNode extends RInternalMNode implements IStorageGroupM
   public void setTimePartitionInterval(long timePartitionInterval) {}
 
   @Override
-  public void setStorageGroupSchema(TStorageGroupSchema schema) {}
+  public void setStorageGroupSchema(TDatabaseSchema schema) {}
 
   @Override
-  public TStorageGroupSchema getStorageGroupSchema() {
+  public TDatabaseSchema getStorageGroupSchema() {
     return null;
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
index 8ddf9dccec..aa169cd3eb 100644
--- a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
@@ -38,7 +38,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRestartReq;
-import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
+import org.apache.iotdb.confignode.rpc.thrift.TCountDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateModelReq;
@@ -55,9 +55,11 @@ import org.apache.iotdb.confignode.rpc.thrift.TDataNodeRestartResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeUpdateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeactivateSchemaTemplateReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabaseReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabasesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteTimeSeriesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropFunctionReq;
@@ -102,18 +104,16 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowModelReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowModelResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowTrailReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowTrailResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowVariablesResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSystemConfigurationResp;
 import org.apache.iotdb.confignode.rpc.thrift.TUnsetSchemaTemplateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TUpdateModelInfoReq;
@@ -492,7 +492,7 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TSStatus setDatabase(TStorageGroupSchema databaseSchema) throws TException {
+  public TSStatus setDatabase(TDatabaseSchema databaseSchema) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
         TSStatus status = client.setDatabase(databaseSchema);
@@ -513,7 +513,7 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TSStatus alterDatabase(TStorageGroupSchema databaseSchema) throws TException {
+  public TSStatus alterDatabase(TDatabaseSchema databaseSchema) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
         TSStatus status = client.alterDatabase(databaseSchema);
@@ -534,10 +534,10 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TSStatus deleteStorageGroup(TDeleteStorageGroupReq req) throws TException {
+  public TSStatus deleteDatabase(TDeleteDatabaseReq req) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TSStatus status = client.deleteStorageGroup(req);
+        TSStatus status = client.deleteDatabase(req);
         if (!updateConfigNodeLeader(status)) {
           return status;
         }
@@ -555,10 +555,10 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TSStatus deleteStorageGroups(TDeleteStorageGroupsReq req) throws TException {
+  public TSStatus deleteDatabases(TDeleteDatabasesReq req) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TSStatus status = client.deleteStorageGroups(req);
+        TSStatus status = client.deleteDatabases(req);
         if (!updateConfigNodeLeader(status)) {
           return status;
         }
@@ -576,11 +576,11 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TCountStorageGroupResp countMatchedStorageGroups(List<String> storageGroupPathPattern)
+  public TCountDatabaseResp countMatchedDatabases(List<String> storageGroupPathPattern)
       throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TCountStorageGroupResp resp = client.countMatchedStorageGroups(storageGroupPathPattern);
+        TCountDatabaseResp resp = client.countMatchedDatabases(storageGroupPathPattern);
         if (!updateConfigNodeLeader(resp.status)) {
           return resp;
         }
@@ -598,12 +598,11 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TStorageGroupSchemaResp getMatchedStorageGroupSchemas(List<String> storageGroupPathPattern)
+  public TDatabaseSchemaResp getMatchedDatabaseSchemas(List<String> storageGroupPathPattern)
       throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TStorageGroupSchemaResp resp =
-            client.getMatchedStorageGroupSchemas(storageGroupPathPattern);
+        TDatabaseSchemaResp resp = client.getMatchedDatabaseSchemas(storageGroupPathPattern);
         if (!updateConfigNodeLeader(resp.status)) {
           return resp;
         }
@@ -1149,12 +1148,10 @@ public class ConfigNodeClient implements IConfigNodeRPCService.Iface, ThriftClie
   }
 
   @Override
-  public TShowStorageGroupResp showStorageGroup(List<String> storageGroupPathPattern)
-      throws TException {
+  public TShowDatabaseResp showDatabase(List<String> storageGroupPathPattern) throws TException {
     for (int i = 0; i < RETRY_NUM; i++) {
       try {
-        TShowStorageGroupResp showStorageGroupResp =
-            client.showStorageGroup(storageGroupPathPattern);
+        TShowDatabaseResp showStorageGroupResp = client.showDatabase(storageGroupPathPattern);
         if (!updateConfigNodeLeader(showStorageGroupResp.getStatus())) {
           return showStorageGroupResp;
         }
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IStorageGroupMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IStorageGroupMNode.java
index 60244cbf96..25d9e2f7b0 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IStorageGroupMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IStorageGroupMNode.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.db.metadata.mnode;
 
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 
 /** This interface defines a StorageGroupMNode's operation interfaces. */
 public interface IStorageGroupMNode extends IMNode {
@@ -33,7 +33,7 @@ public interface IStorageGroupMNode extends IMNode {
 
   void setTimePartitionInterval(long timePartitionInterval);
 
-  void setStorageGroupSchema(TStorageGroupSchema schema);
+  void setStorageGroupSchema(TDatabaseSchema schema);
 
-  TStorageGroupSchema getStorageGroupSchema();
+  TDatabaseSchema getStorageGroupSchema();
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
index 5f9d50cca8..f68a5ddad3 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.db.metadata.mnode;
 
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
 
 public class StorageGroupEntityMNode extends EntityMNode implements IStorageGroupMNode {
@@ -61,10 +61,10 @@ public class StorageGroupEntityMNode extends EntityMNode implements IStorageGrou
   public void setTimePartitionInterval(long timePartitionInterval) {}
 
   @Override
-  public void setStorageGroupSchema(TStorageGroupSchema schema) {}
+  public void setStorageGroupSchema(TDatabaseSchema schema) {}
 
   @Override
-  public TStorageGroupSchema getStorageGroupSchema() {
+  public TDatabaseSchema getStorageGroupSchema() {
     return null;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
index 7fb6e90d03..2cf4d75c75 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
@@ -18,14 +18,14 @@
  */
 package org.apache.iotdb.db.metadata.mnode;
 
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
 
 public class StorageGroupMNode extends InternalMNode implements IStorageGroupMNode {
 
   private static final long serialVersionUID = 7999036474525817732L;
 
-  private TStorageGroupSchema schema;
+  private TDatabaseSchema schema;
 
   public StorageGroupMNode(IMNode parent, String name) {
     super(parent, name);
@@ -34,7 +34,7 @@ public class StorageGroupMNode extends InternalMNode implements IStorageGroupMNo
   // TODO: @yukun, remove this constructor
   public StorageGroupMNode(IMNode parent, String name, long dataTTL) {
     super(parent, name);
-    this.schema = new TStorageGroupSchema(name).setTTL(dataTTL);
+    this.schema = new TDatabaseSchema(name).setTTL(dataTTL);
   }
 
   @Override
@@ -71,12 +71,12 @@ public class StorageGroupMNode extends InternalMNode implements IStorageGroupMNo
   }
 
   @Override
-  public void setStorageGroupSchema(TStorageGroupSchema schema) {
+  public void setStorageGroupSchema(TDatabaseSchema schema) {
     this.schema = schema;
   }
 
   @Override
-  public TStorageGroupSchema getStorageGroupSchema() {
+  public TDatabaseSchema getStorageGroupSchema() {
     return schema;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
index 16dff082fe..8ff3f587cf 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/cache/PartitionCache.java
@@ -37,9 +37,9 @@ import org.apache.iotdb.commons.partition.SeriesPartitionTable;
 import org.apache.iotdb.commons.partition.executor.SeriesPartitionExecutor;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.utils.PathUtils;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionRouteMapResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.db.client.ConfigNodeClient;
 import org.apache.iotdb.db.client.ConfigNodeClientManager;
 import org.apache.iotdb.db.client.ConfigNodeInfo;
@@ -190,12 +190,10 @@ public class PartitionCache {
       result.reset();
       getStorageGroupMap(result, devicePaths, true);
       if (!result.isSuccess()) {
-        TStorageGroupSchemaResp storageGroupSchemaResp =
-            client.getMatchedStorageGroupSchemas(ROOT_PATH);
+        TDatabaseSchemaResp storageGroupSchemaResp = client.getMatchedDatabaseSchemas(ROOT_PATH);
         if (storageGroupSchemaResp.getStatus().getCode()
             == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-          Set<String> storageGroupNames =
-              storageGroupSchemaResp.getStorageGroupSchemaMap().keySet();
+          Set<String> storageGroupNames = storageGroupSchemaResp.getDatabaseSchemaMap().keySet();
           // update all database into cache
           updateStorageCache(storageGroupNames);
         }
@@ -235,7 +233,7 @@ public class PartitionCache {
         // try to create databases one by one until done or one database fail
         Set<String> successFullyCreatedStorageGroup = new HashSet<>();
         for (String storageGroupName : storageGroupNamesNeedCreated) {
-          TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
+          TDatabaseSchema storageGroupSchema = new TDatabaseSchema();
           storageGroupSchema.setName(storageGroupName);
           TSStatus tsStatus = client.setDatabase(storageGroupSchema);
           if (TSStatusCode.SUCCESS_STATUS.getStatusCode() == tsStatus.getCode()) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index 7845364ca0..52fd828625 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -35,13 +35,15 @@ import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.commons.trigger.service.TriggerExecutableManager;
 import org.apache.iotdb.commons.udf.service.UDFClassLoader;
 import org.apache.iotdb.commons.udf.service.UDFExecutableManager;
-import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
+import org.apache.iotdb.confignode.rpc.thrift.TCountDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreatePipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateTriggerReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeactivateSchemaTemplateReq;
-import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
+import org.apache.iotdb.confignode.rpc.thrift.TDeleteDatabasesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteTimeSeriesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropCQReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDropFunctionReq;
@@ -64,15 +66,13 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowConfigNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
+import org.apache.iotdb.confignode.rpc.thrift.TShowDatabaseResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
-import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowVariablesResp;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.confignode.rpc.thrift.TUnsetSchemaTemplateReq;
 import org.apache.iotdb.db.client.ConfigNodeClient;
 import org.apache.iotdb.db.client.ConfigNodeClientManager;
@@ -207,7 +207,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
       DatabaseSchemaStatement databaseSchemaStatement) {
     SettableFuture<ConfigTaskResult> future = SettableFuture.create();
     // Construct request using statement
-    TStorageGroupSchema storageGroupSchema =
+    TDatabaseSchema storageGroupSchema =
         DatabaseSchemaTask.constructStorageGroupSchema(databaseSchemaStatement);
     try (ConfigNodeClient configNodeClient =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
@@ -234,7 +234,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
       DatabaseSchemaStatement databaseSchemaStatement) {
     SettableFuture<ConfigTaskResult> future = SettableFuture.create();
     // Construct request using statement
-    TStorageGroupSchema storageGroupSchema =
+    TDatabaseSchema storageGroupSchema =
         DatabaseSchemaTask.constructStorageGroupSchema(databaseSchemaStatement);
     try (ConfigNodeClient configNodeClient =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
@@ -266,9 +266,9 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     try (ConfigNodeClient client =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
       // Send request to some API server
-      TShowStorageGroupResp resp = client.showStorageGroup(storageGroupPathPattern);
+      TShowDatabaseResp resp = client.showDatabase(storageGroupPathPattern);
       // build TSBlock
-      showStorageGroupStatement.buildTSBlock(resp.getStorageGroupInfoMap(), future);
+      showStorageGroupStatement.buildTSBlock(resp.getDatabaseInfoMap(), future);
     } catch (ClientManagerException | TException e) {
       future.setException(e);
     }
@@ -284,7 +284,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
         Arrays.asList(countStorageGroupStatement.getPathPattern().getNodes());
     try (ConfigNodeClient client =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
-      TCountStorageGroupResp resp = client.countMatchedStorageGroups(storageGroupPathPattern);
+      TCountDatabaseResp resp = client.countMatchedDatabases(storageGroupPathPattern);
       storageGroupNum = resp.getCount();
       // build TSBlock
       CountStorageGroupTask.buildTSBlock(storageGroupNum, future);
@@ -298,11 +298,10 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
   public SettableFuture<ConfigTaskResult> deleteStorageGroup(
       DeleteStorageGroupStatement deleteStorageGroupStatement) {
     SettableFuture<ConfigTaskResult> future = SettableFuture.create();
-    TDeleteStorageGroupsReq req =
-        new TDeleteStorageGroupsReq(deleteStorageGroupStatement.getPrefixPath());
+    TDeleteDatabasesReq req = new TDeleteDatabasesReq(deleteStorageGroupStatement.getPrefixPath());
     try (ConfigNodeClient client =
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
-      TSStatus tsStatus = client.deleteStorageGroups(req);
+      TSStatus tsStatus = client.deleteDatabases(req);
       if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != tsStatus.getCode()) {
         LOGGER.warn(
             "Failed to execute delete database {} in config node, status is {}.",
@@ -905,19 +904,15 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
         CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.configNodeRegionId)) {
       if (showTTLStatement.isAll()) {
         List<String> allStorageGroupPathPattern = Arrays.asList("root", "**");
-        TStorageGroupSchemaResp resp =
-            client.getMatchedStorageGroupSchemas(allStorageGroupPathPattern);
-        for (Map.Entry<String, TStorageGroupSchema> entry :
-            resp.getStorageGroupSchemaMap().entrySet()) {
+        TDatabaseSchemaResp resp = client.getMatchedDatabaseSchemas(allStorageGroupPathPattern);
+        for (Map.Entry<String, TDatabaseSchema> entry : resp.getDatabaseSchemaMap().entrySet()) {
           storageGroupToTTL.put(entry.getKey(), entry.getValue().getTTL());
         }
       } else {
         for (PartialPath storageGroupPath : storageGroupPaths) {
           List<String> storageGroupPathPattern = Arrays.asList(storageGroupPath.getNodes());
-          TStorageGroupSchemaResp resp =
-              client.getMatchedStorageGroupSchemas(storageGroupPathPattern);
-          for (Map.Entry<String, TStorageGroupSchema> entry :
-              resp.getStorageGroupSchemaMap().entrySet()) {
+          TDatabaseSchemaResp resp = client.getMatchedDatabaseSchemas(storageGroupPathPattern);
+          for (Map.Entry<String, TDatabaseSchema> entry : resp.getDatabaseSchemaMap().entrySet()) {
             if (!storageGroupToTTL.containsKey(entry.getKey())) {
               storageGroupToTTL.put(entry.getKey(), entry.getValue().getTTL());
             }
@@ -939,9 +934,9 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     TShowRegionReq showRegionReq = new TShowRegionReq();
     showRegionReq.setConsensusGroupType(showRegionStatement.getRegionType());
     if (showRegionStatement.getStorageGroups() == null) {
-      showRegionReq.setStorageGroups(null);
+      showRegionReq.setDatabases(null);
     } else {
-      showRegionReq.setStorageGroups(
+      showRegionReq.setDatabases(
           showRegionStatement.getStorageGroups().stream()
               .map(PartialPath::getFullPath)
               .collect(Collectors.toList()));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DatabaseSchemaTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DatabaseSchemaTask.java
index 2771f3cb49..ee431f4e34 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DatabaseSchemaTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DatabaseSchemaTask.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.mpp.plan.execution.config.metadata;
 
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.mpp.plan.execution.config.ConfigTaskResult;
 import org.apache.iotdb.db.mpp.plan.execution.config.IConfigTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.executor.IConfigTaskExecutor;
@@ -49,9 +49,9 @@ public class DatabaseSchemaTask implements IConfigTask {
   }
 
   /** Construct DatabaseSchema according to statement */
-  public static TStorageGroupSchema constructStorageGroupSchema(
+  public static TDatabaseSchema constructStorageGroupSchema(
       DatabaseSchemaStatement databaseSchemaStatement) {
-    TStorageGroupSchema storageGroupSchema = new TStorageGroupSchema();
+    TDatabaseSchema storageGroupSchema = new TDatabaseSchema();
     storageGroupSchema.setName(databaseSchemaStatement.getStorageGroupPath().getFullPath());
     if (databaseSchemaStatement.getTTL() != null) {
       storageGroupSchema.setTTL(databaseSchemaStatement.getTTL());
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowRegionTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowRegionTask.java
index 0847ba9759..4cee887fa4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowRegionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowRegionTask.java
@@ -83,7 +83,7 @@ public class ShowRegionTask implements IConfigTask {
             .getColumnBuilder(2)
             .writeBinary(
                 Binary.valueOf(regionInfo.getStatus() == null ? "" : regionInfo.getStatus()));
-        builder.getColumnBuilder(3).writeBinary(Binary.valueOf(regionInfo.getStorageGroup()));
+        builder.getColumnBuilder(3).writeBinary(Binary.valueOf(regionInfo.getDatabase()));
         builder.getColumnBuilder(4).writeInt(regionInfo.getSeriesSlots());
         builder.getColumnBuilder(5).writeLong(regionInfo.getTimeSlots());
         builder.getColumnBuilder(6).writeInt(regionInfo.getDataNodeId());
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
index c20a5ece03..e5e98ab8d8 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowStorageGroupStatement.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.mpp.plan.statement.metadata;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupInfo;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseInfo;
 import org.apache.iotdb.db.mpp.common.header.ColumnHeader;
 import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
@@ -72,7 +72,7 @@ public class ShowStorageGroupStatement extends ShowStatement implements IConfigS
   }
 
   public void buildTSBlock(
-      Map<String, TStorageGroupInfo> storageGroupInfoMap, SettableFuture<ConfigTaskResult> future) {
+      Map<String, TDatabaseInfo> storageGroupInfoMap, SettableFuture<ConfigTaskResult> future) {
 
     List<TSDataType> outputDataTypes =
         isDetailed
@@ -84,9 +84,9 @@ public class ShowStorageGroupStatement extends ShowStatement implements IConfigS
                 .collect(Collectors.toList());
 
     TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
-    for (Map.Entry<String, TStorageGroupInfo> entry : storageGroupInfoMap.entrySet()) {
+    for (Map.Entry<String, TDatabaseInfo> entry : storageGroupInfoMap.entrySet()) {
       String storageGroup = entry.getKey();
-      TStorageGroupInfo storageGroupInfo = entry.getValue();
+      TDatabaseInfo storageGroupInfo = entry.getValue();
       builder.getTimeColumnBuilder().writeLong(0L);
       builder.getColumnBuilder(0).writeBinary(new Binary(storageGroup));
 
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
index b4488acafe..ee4a8a3689 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.metadata.mtree;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
+import org.apache.iotdb.confignode.rpc.thrift.TDatabaseSchema;
 import org.apache.iotdb.db.metadata.mnode.IMNode;
 import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
@@ -271,7 +271,7 @@ public class ConfigMTreeTest {
     newTree.deserialize(inputStream);
 
     for (int i = 0; i < pathList.length; i++) {
-      TStorageGroupSchema storageGroupSchema =
+      TDatabaseSchema storageGroupSchema =
           newTree.getStorageGroupNodeByStorageGroupPath(pathList[i]).getStorageGroupSchema();
       Assert.assertEquals(i, storageGroupSchema.getTTL());
       Assert.assertEquals(i, storageGroupSchema.getSchemaReplicationFactor());
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift b/thrift-confignode/src/main/thrift/confignode.thrift
index de3006fc9a..654617349a 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -146,41 +146,41 @@ struct TSetDataNodeStatusReq {
 }
 
 // Database
-struct TDeleteStorageGroupReq {
+struct TDeleteDatabaseReq {
   1: required string prefixPath
 }
 
-struct TDeleteStorageGroupsReq {
+struct TDeleteDatabasesReq {
   1: required list<string> prefixPathList
 }
 
 struct TSetSchemaReplicationFactorReq {
-  1: required string storageGroup
+  1: required string database
   2: required i32 schemaReplicationFactor
 }
 
 struct TSetDataReplicationFactorReq {
-  1: required string storageGroup
+  1: required string database
   2: required i32 dataReplicationFactor
 }
 
 struct TSetTimePartitionIntervalReq {
-  1: required string storageGroup
+  1: required string database
   2: required i64 timePartitionInterval
 }
 
-struct TCountStorageGroupResp {
+struct TCountDatabaseResp {
   1: required common.TSStatus status
   2: optional i32 count
 }
 
-struct TStorageGroupSchemaResp {
+struct TDatabaseSchemaResp {
   1: required common.TSStatus status
-  // map<string, TStorageGroupSchema>
-  2: optional map<string, TStorageGroupSchema> storageGroupSchemaMap
+  // map<string, TDatabaseSchema>
+  2: optional map<string, TDatabaseSchema> databaseSchemaMap
 }
 
-struct TStorageGroupSchema {
+struct TDatabaseSchema {
   1: required string name
   2: optional i64 TTL
   3: optional i32 schemaReplicationFactor
@@ -199,7 +199,7 @@ struct TSchemaPartitionReq {
 
 struct TSchemaPartitionTableResp {
   1: required common.TSStatus status
-  // map<StorageGroupName, map<TSeriesPartitionSlot, TConsensusGroupId>>
+  // map<DatabaseName, map<TSeriesPartitionSlot, TConsensusGroupId>>
   2: optional map<string, map<common.TSeriesPartitionSlot, common.TConsensusGroupId>> schemaPartitionTable
 }
 
@@ -211,7 +211,7 @@ struct TSchemaNodeManagementReq {
 
 struct TSchemaNodeManagementResp {
   1: required common.TSStatus status
-  // map<StorageGroupName, map<TSeriesPartitionSlot, TRegionReplicaSet>>
+  // map<DatabaseName, map<TSeriesPartitionSlot, TRegionReplicaSet>>
   2: optional map<string, map<common.TSeriesPartitionSlot, common.TRegionReplicaSet>> schemaRegionMap
   3: optional set<common.TSchemaNode> matchedNode
 }
@@ -224,18 +224,18 @@ struct TTimeSlotList {
 
 // Data
 struct TDataPartitionReq {
-  // map<StorageGroupName, map<TSeriesPartitionSlot, TTimePartionSlotList>>
+  // map<DatabaseName, map<TSeriesPartitionSlot, TTimePartionSlotList>>
   1: required map<string, map<common.TSeriesPartitionSlot, TTimeSlotList>> partitionSlotsMap
 }
 
 struct TDataPartitionTableResp {
   1: required common.TSStatus status
-  // map<StorageGroupName, map<TSeriesPartitionSlot, map<TTimePartitionSlot, list<TConsensusGroupId>>>>
+  // map<DatabaseName, map<TSeriesPartitionSlot, map<TTimePartitionSlot, list<TConsensusGroupId>>>>
   2: optional map<string, map<common.TSeriesPartitionSlot, map<common.TTimePartitionSlot, list<common.TConsensusGroupId>>>> dataPartitionTable
 }
 
 struct TGetRegionIdReq {
-    1: required string storageGroup
+    1: required string database
     2: required common.TConsensusGroupType type
     3: optional common.TSeriesPartitionSlot seriesSlotId
     4: optional string deviceId
@@ -249,7 +249,7 @@ struct TGetRegionIdResp {
 }
 
 struct TGetTimeSlotListReq {
-    1: required string storageGroup
+    1: required string database
     2: required common.TSeriesPartitionSlot seriesSlotId
     3: optional i64 startTime
     4: optional i64 endTime
@@ -261,7 +261,7 @@ struct TGetTimeSlotListResp {
 }
 
 struct TGetSeriesSlotListReq {
-    1: required string storageGroup
+    1: required string database
     2: optional common.TConsensusGroupType type
 }
 
@@ -482,8 +482,8 @@ struct TShowConfigNodesResp {
   2: optional list<TConfigNodeInfo> configNodesInfoList
 }
 
-// Show storageGroup
-struct TStorageGroupInfo {
+// Show Database
+struct TDatabaseInfo {
   1: required string name
   2: required i64 TTL
   3: required i32 schemaReplicationFactor
@@ -497,21 +497,21 @@ struct TStorageGroupInfo {
   11: required i32 maxDataRegionNum
 }
 
-struct TShowStorageGroupResp {
+struct TShowDatabaseResp {
   1: required common.TSStatus status
-  // map<StorageGroupName, TStorageGroupInfo>
-  2: optional map<string, TStorageGroupInfo> storageGroupInfoMap
+  // map<DatabaseName, TDatabaseInfo>
+  2: optional map<string, TDatabaseInfo> databaseInfoMap
 }
 
 // Show regions
 struct TShowRegionReq {
   1: optional common.TConsensusGroupType consensusGroupType;
-  2: optional list<string> storageGroups
+  2: optional list<string> databases
 }
 
 struct TRegionInfo {
   1: required common.TConsensusGroupId consensusGroupId
-  2: required string storageGroup
+  2: required string database
   3: required i32 dataNodeId
   4: required string clientRpcIp
   5: required i32 clientRpcPort
@@ -781,7 +781,7 @@ service IConfigNodeRPCService {
   // ======================================================
 
   /**
-   * Set a new Databse, all fields in TStorageGroupSchema can be customized
+   * Set a new Databse, all fields in TDatabaseSchema can be customized
    * while the undefined fields will automatically use default values
    *
    * @return SUCCESS_STATUS if the new Database set successfully
@@ -789,7 +789,7 @@ service IConfigNodeRPCService {
    *         DATABASE_CONFIG_ERROR if some of the DatabaseSchema is illeagal
    *         DATABASE_ALREADY_EXISTS if the Database already exist
    */
-  common.TSStatus setDatabase(TStorageGroupSchema databaseSchema)
+  common.TSStatus setDatabase(TDatabaseSchema databaseSchema)
 
   /**
    * Alter a Database's schema, including
@@ -800,43 +800,43 @@ service IConfigNodeRPCService {
    *         DATABASE_CONFIG_ERROR if some of the DatabaseSchema is illeagal
    *         DATABASE_NOT_EXIST if the specified Database doesn't exist
    */
-  common.TSStatus alterDatabase(TStorageGroupSchema databaseSchema)
+  common.TSStatus alterDatabase(TDatabaseSchema databaseSchema)
 
   /**
-   * Generate a DeleteStorageGroupProcedure to delete a specific StorageGroup
+   * Generate a DeleteDatabaseProcedure to delete a specified Database
    *
-   * @return SUCCESS_STATUS if the DeleteStorageGroupProcedure submitted successfully
-   *         TIMESERIES_NOT_EXIST if the specific StorageGroup doesn't exist
-   *         EXECUTE_STATEMENT_ERROR if failed to submit the DeleteStorageGroupProcedure
+   * @return SUCCESS_STATUS if the DeleteDatabaseProcedure submitted successfully
+   *         TIMESERIES_NOT_EXIST if the specific Database doesn't exist
+   *         EXECUTE_STATEMENT_ERROR if failed to submit the DeleteDatabaseProcedure
    */
-  common.TSStatus deleteStorageGroup(TDeleteStorageGroupReq req)
+  common.TSStatus deleteDatabase(TDeleteDatabaseReq req)
 
   /**
-   * Generate a set of DeleteStorageGroupProcedure to delete some specific StorageGroups
+   * Generate a set of DeleteDatabaseProcedure to delete some specific Databases
    *
-   * @return SUCCESS_STATUS if the DeleteStorageGroupProcedure submitted successfully
-   *         TIMESERIES_NOT_EXIST if the specific StorageGroup doesn't exist
-   *         EXECUTE_STATEMENT_ERROR if failed to submit the DeleteStorageGroupProcedure
+   * @return SUCCESS_STATUS if the DeleteDatabaseProcedure submitted successfully
+   *         TIMESERIES_NOT_EXIST if the specific Database doesn't exist
+   *         EXECUTE_STATEMENT_ERROR if failed to submit the DeleteDatabaseProcedure
    */
-  common.TSStatus deleteStorageGroups(TDeleteStorageGroupsReq req)
+  common.TSStatus deleteDatabases(TDeleteDatabasesReq req)
 
-  /** Update the specific StorageGroup's TTL */
+  /** Update the specific Database's TTL */
   common.TSStatus setTTL(common.TSetTTLReq req)
 
-  /** Update the specific StorageGroup's SchemaReplicationFactor */
+  /** Update the specific Database's SchemaReplicationFactor */
   common.TSStatus setSchemaReplicationFactor(TSetSchemaReplicationFactorReq req)
 
-  /** Update the specific StorageGroup's DataReplicationFactor */
+  /** Update the specific Database's DataReplicationFactor */
   common.TSStatus setDataReplicationFactor(TSetDataReplicationFactorReq req)
 
-  /** Update the specific StorageGroup's PartitionInterval */
+  /** Update the specific Database's PartitionInterval */
   common.TSStatus setTimePartitionInterval(TSetTimePartitionIntervalReq req)
 
-  /** Count the matched StorageGroups */
-  TCountStorageGroupResp countMatchedStorageGroups(list<string> storageGroupPathPattern)
+  /** Count the matched Databases */
+  TCountDatabaseResp countMatchedDatabases(list<string> DatabasePathPattern)
 
-  /** Get the matched StorageGroups' TStorageGroupSchema */
-  TStorageGroupSchemaResp getMatchedStorageGroupSchemas(list<string> storageGroupPathPattern)
+  /** Get the matched Databases' TDatabaseSchema */
+  TDatabaseSchemaResp getMatchedDatabaseSchemas(list<string> DatabasePathPattern)
 
   // ======================================================
   // SchemaPartition
@@ -856,7 +856,7 @@ service IConfigNodeRPCService {
    *
    * @return SUCCESS_STATUS if the SchemaPartitionTable got or created successfully
    *         NOT_ENOUGH_DATA_NODE if the number of cluster DataNodes is not enough for creating new SchemaRegions
-   *         STORAGE_GROUP_NOT_EXIST if some StorageGroups don't exist
+   *         STORAGE_GROUP_NOT_EXIST if some Databases don't exist
    */
   TSchemaPartitionTableResp getOrCreateSchemaPartitionTable(TSchemaPartitionReq req)
 
@@ -886,7 +886,7 @@ service IConfigNodeRPCService {
    *
    * @return SUCCESS_STATUS if the DataPartitionTable got or created successfully
    *         NOT_ENOUGH_DATA_NODE if the number of cluster DataNodes is not enough for creating new DataRegions
-   *         STORAGE_GROUP_NOT_EXIST if some StorageGroups don't exist
+   *         STORAGE_GROUP_NOT_EXIST if some Databases don't exist
    */
   TDataPartitionTableResp getOrCreateDataPartitionTable(TDataPartitionReq req)
 
@@ -1101,8 +1101,8 @@ service IConfigNodeRPCService {
   /** Show cluster ConfigNodes' information */
   TShowConfigNodesResp showConfigNodes()
 
-  /** Show cluster StorageGroups' information */
-  TShowStorageGroupResp showStorageGroup(list<string> storageGroupPathPattern)
+  /** Show cluster Databases' information */
+  TShowDatabaseResp showDatabase(list<string> databasePathPattern)
 
   /**
    * Show the matched cluster Regions' information