You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/11/14 01:35:18 UTC

[iotdb] branch master updated: [IOTDB-4891] Rename storage group to database (#7946)

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

haonan 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 665242103d [IOTDB-4891] Rename storage group to database (#7946)
665242103d is described below

commit 665242103d039044b55139beaa9d2f5d49a74356
Author: Jialin Qiao <qj...@mails.tsinghua.edu.cn>
AuthorDate: Mon Nov 14 09:35:12 2022 +0800

    [IOTDB-4891] Rename storage group to database (#7946)
    
    Co-authored-by: Weihao Li <60...@users.noreply.github.com>
    Co-authored-by: Minghui Liu <li...@foxmail.com>
    Co-authored-by: HTHou <hh...@outlook.com>
---
 README.md                                          |  16 +-
 README_ZH.md                                       |  26 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   2 +-
 client-py/README.md                                |  12 +-
 client-py/SessionAlignedTimeseriesExample.py       |   4 +-
 client-py/SessionExample.py                        |   4 +-
 client-py/iotdb/Session.py                         |  16 +-
 client-py/iotdb/dbapi/tests/test_cursor.py         |   8 +-
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |   2 +-
 client-py/iotdb/sqlalchemy/tests/test_dialect.py   |   8 +-
 client-py/tests/test_aligned_timeseries.py         |   6 +-
 client-py/tests/test_dataframe.py                  |  20 +-
 client-py/tests/test_one_device.py                 |   2 +-
 client-py/tests/test_session.py                    |   6 +-
 client-py/tests/test_tablet.py                     |   4 +-
 client-py/tests/test_template.py                   |   2 +-
 client-py/tests/test_todf.py                       |   6 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   2 +-
 .../confignode/manager/ClusterSchemaManager.java   |   2 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   6 +-
 .../manager/partition/PartitionManager.java        |   8 +-
 .../persistence/partition/PartitionInfo.java       |   4 +-
 .../partition/StorageGroupPartitionTable.java      |   2 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   4 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   8 +-
 .../impl/schema/DeleteStorageGroupProcedure.java   |   6 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |   6 +-
 docs/Blog/Release0_93.md                           |   2 +-
 docs/Development/VoteRelease.md                    |   4 +-
 docs/Download/README.md                            |   2 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |  12 +-
 docs/UserGuide/API/Interface-Comparison.md         |   4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |   6 +-
 docs/UserGuide/API/Programming-JDBC.md             |   8 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |  14 +-
 .../UserGuide/API/Programming-Python-Native-API.md |  16 +-
 docs/UserGuide/API/Programming-Thrift.md           |   2 +-
 docs/UserGuide/API/RestService.md                  |  16 +-
 docs/UserGuide/API/Status-Codes.md                 |   8 +-
 .../Administration-Management/Administration.md    |   8 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |   4 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |  18 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |   2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |  22 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |   2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |  26 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   2 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   8 +-
 .../Integration-Test-refactoring-tutorial.md       |  12 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  40 +--
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |  14 +-
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |  12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |  10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |  20 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |  73 ++--
 docs/UserGuide/Operate-Metadata/Template.md        |  22 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |  36 +-
 docs/UserGuide/Process-Data/Continuous-Query.md    |   4 +-
 docs/UserGuide/Process-Data/Select-Into.md         |   6 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |   6 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |   2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |  18 +-
 docs/UserGuide/QuickStart/ServerFileList.md        |   4 +-
 .../Reference/ConfigNode-Config-Manual.md          |   4 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   8 +-
 docs/UserGuide/Reference/SQL-Reference.md          |  50 +--
 docs/UserGuide/Reference/Syntax-Conventions.md     |   4 +-
 docs/UserGuide/Reference/TSDB-Comparison.md        |   4 +-
 docs/UserGuide/Write-Data/CSV-Tool.md              |   6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   2 +-
 docs/zh/Development/VoteRelease.md                 |   4 +-
 docs/zh/Download/README.md                         |   2 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |  12 +-
 docs/zh/UserGuide/API/Interface-Comparison.md      |   4 +-
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |   6 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |   8 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |  12 +-
 .../UserGuide/API/Programming-Python-Native-API.md |  14 +-
 docs/zh/UserGuide/API/Programming-Thrift.md        |   4 +-
 docs/zh/UserGuide/API/RestService.md               |  16 +-
 .../Administration-Management/Administration.md    |   8 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |   4 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |  20 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |   4 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |  12 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |   2 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |  22 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |   2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |   2 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   6 +-
 .../Integration-Test-refactoring-tutorial.md       |   8 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  42 +--
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |  10 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |   2 +-
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |  12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |  10 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |  18 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |  73 ++--
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   6 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |  18 +-
 docs/zh/UserGuide/Process-Data/Continuous-Query.md |   4 +-
 docs/zh/UserGuide/Process-Data/Select-Into.md      |   6 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |   8 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |   2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |  16 +-
 docs/zh/UserGuide/QuickStart/ServerFileList.md     |   4 +-
 .../Reference/ConfigNode-Config-Manual.md          |   8 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   6 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |  60 ++--
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   4 +-
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |   6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   2 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |   2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |   2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |   4 +-
 example/mqtt/README.md                             |   2 +-
 example/rest-client-c-example/main.c               |   4 +-
 example/rocketmq/readme.md                         |   6 +-
 .../org/apache/iotdb/DataMigrationExample.java     |   4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |   6 +-
 .../java/org/apache/iotdb/udf/UDTFExample.java     |   2 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |   4 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |   2 +-
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |   2 +-
 grafana-plugin/README.md                           |   2 +-
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   8 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |  11 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |  18 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |  45 +--
 .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java  |   2 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   6 +-
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |   6 +-
 .../apache/iotdb/db/it/IoTDBExecuteBatchIT.java    |  56 ++--
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |  17 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |   7 +-
 .../apache/iotdb/db/it/IoTDBFloatPrecisionIT.java  |   4 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |  16 +-
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |   2 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNaNIT.java   |  11 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNullIT.java  |   2 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |   2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |  15 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |   4 +-
 .../db/it/IoTDBQueryWithRecreatedTimeseriesIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |   7 +-
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |   6 +-
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |   6 +-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |   2 +-
 .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java |   2 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |  57 ++--
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |  17 +-
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   3 +-
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |   6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |   8 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |  14 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   8 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |   2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   2 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |   6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |   4 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |   9 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |  19 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |   2 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |   2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |   4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |   2 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |   6 +-
 .../iotdb/db/it/query/IoTDBArithmeticIT.java       |   2 +-
 .../iotdb/db/it/query/IoTDBFuzzyQueryIT.java       |   2 +-
 .../org/apache/iotdb/db/it/query/IoTDBInIT.java    |   4 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |   2 +-
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |   2 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |   2 +-
 .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java |   4 +-
 .../query/IoTDBQueryWithComplexValueFilterIT.java  |   2 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |  32 +-
 .../it/query/IoTDBSelectCompareExpressionIT.java   |   2 +-
 .../iotdb/db/it/query/IoTDBSelectSchemaIT.java     |   2 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |  25 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |  21 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |  24 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |  12 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |  10 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |   7 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |  54 +--
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |  23 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  71 ++--
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |  68 ++--
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java | 208 ++++++------
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  | 275 +++++++--------
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |   8 +-
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   8 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |   2 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |  15 +-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |   2 +-
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |   2 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |   2 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |   4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |   8 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |   5 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |   2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |   2 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |   2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |   2 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |   2 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   2 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   2 +-
 .../iotdb/integration/env/ClusterEnvBase.java      |   4 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |   8 +-
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |   2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |   4 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |  49 +--
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |   4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |   2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |   8 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |   8 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |   4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |   4 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |   2 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |   4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |  18 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |  10 +-
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   2 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |   2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |   2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |   2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |   2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |   4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |   4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  12 +-
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |   2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |   2 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |  66 ++--
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |   2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |   2 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |   2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |   4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |  32 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |   8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |  69 ++--
 .../iotdb/db/integration/IoTDBTracingIT.java       |   2 +-
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |  20 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |   2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |   2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |   2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |   2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |   4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |  14 +-
 .../IoTDBUserDefinedAggregationFunctionIT.java     |   8 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |   2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |   2 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |  10 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |   2 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |   2 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |   2 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   2 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |   4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |  24 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |   4 +-
 .../IoTDBQueryVersionAdaptionIT.java               |   4 +-
 jdbc/README.md                                     |  10 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |  14 +-
 .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java |   4 +-
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |   2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |   6 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |   2 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |   2 +-
 .../resources/conf/iotdb-common.properties         |  18 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   6 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |  24 +-
 .../iotdb/commons/partition/DataPartition.java     |   2 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |   4 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |   6 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |   6 +-
 schema-engine-tag/README.md                        |   8 +-
 .../utils/PathTagConverterUtils.java               |   6 +-
 .../utils/ShowTimeSeriesResultUtils.java           |   4 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  16 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   2 +-
 .../org/apache/iotdb/db/constant/TestConstant.java |   2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |   6 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  19 +-
 .../engine/compaction/CompactionTaskManager.java   |   7 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   4 +-
 .../db/engine/compaction/log/TsFileIdentifier.java |  10 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |  20 +-
 .../db/engine/querycontext/QueryDataSource.java    |   4 +-
 .../iotdb/db/engine/snapshot/SnapshotLogger.java   |   2 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  47 ++-
 .../db/engine/storagegroup/DataRegionInfo.java     |   4 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |   4 +-
 .../db/engine/storagegroup/TsFileResource.java     |   3 +-
 .../version/SimpleFileVersionController.java       |   2 +-
 .../iotdb/db/engine/version/VersionController.java |  12 +-
 .../SchemaDirCreationFailureException.java         |   2 +-
 .../metadata/StorageGroupAlreadySetException.java  |   4 +-
 .../metadata/StorageGroupNotSetException.java      |   6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  | 116 ++++---
 .../db/localconfignode/LocalDataPartitionInfo.java |   4 +-
 .../localconfignode/LocalDataPartitionTable.java   |   2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |   2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  77 +++--
 .../idtable/AppendOnlyDiskSchemaManager.java       |   3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |   2 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |  12 +-
 .../apache/iotdb/db/metadata/mnode/MNodeType.java  |   2 +-
 .../db/metadata/mnode/StorageGroupEntityMNode.java |   4 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |  70 ++--
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   6 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  18 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  18 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |   4 +-
 .../mtree/store/disk/schemafile/ISchemaFile.java   |   6 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |   4 +-
 .../db/metadata/mtree/traverser/Traverser.java     |   2 +-
 .../mtree/traverser/collector/MNodeCollector.java  |   2 +-
 .../traverser/collector/StorageGroupCollector.java |   2 +-
 .../traverser/counter/StorageGroupCounter.java     |   2 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |   2 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |   4 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |   6 +-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  13 +-
 .../storagegroup/IStorageGroupSchemaManager.java   |  82 +++--
 .../storagegroup/StorageGroupSchemaManager.java    |   8 +-
 .../db/metadata/upgrade/MetadataUpgrader.java      |   6 +-
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |   2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java | 373 ++++++++++-----------
 .../mpp/common/schematree/ClusterSchemaTree.java   |   8 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |   6 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |   2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |   2 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  15 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   2 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |   8 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |   4 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  | 109 +++---
 .../config/executor/ClusterConfigTaskExecutor.java |   4 +-
 .../executor/StandaloneConfigTaskExecutor.java     |   2 +-
 .../config/metadata/SetStorageGroupTask.java       |   2 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   8 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   2 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |   6 +-
 .../plan/planner/distribution/SourceRewriter.java  |   2 +-
 .../plan/node/source/LastQueryScanNode.java        |   6 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   4 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |  10 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   2 +-
 .../plan/statement/metadata/CountStatement.java    |   2 +-
 .../statement/metadata/ShowDevicesStatement.java   |   2 +-
 .../metadata/ShowStorageGroupStatement.java        |   4 +-
 .../db/mpp/plan/statement/sys/FlushStatement.java  |   2 +-
 .../protocol/influxdb/handler/NewQueryHandler.java |   2 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |   2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |   2 +-
 .../influxdb/meta/TagInfluxDBMetaManager.java      |   2 +-
 .../protocol/influxdb/util/QueryResultUtils.java   |  11 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   | 170 +++++-----
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   9 +-
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |   4 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  10 +-
 .../db/query/control/QueryResourceManager.java     |   6 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |   4 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   4 +-
 .../db/query/executor/AggregationExecutor.java     |   2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |   4 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |  15 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   2 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   2 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |   2 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   4 +-
 .../iotdb/db/sync/datasource/PipeOpManager.java    |   2 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   4 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   4 +-
 .../java/org/apache/iotdb/db/tools/WalChecker.java |   2 +-
 .../db/tools/validate/TsFileValidationTool.java    |   2 +-
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   4 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |   6 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   2 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   2 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   2 +-
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |   8 +-
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |   8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |   2 +-
 .../schema/SchemaQueryScanOperatorTest.java        |   6 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  10 +-
 .../mpp/plan/analyze/cache/PartitionCacheTest.java |   6 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |   2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |   6 +-
 .../db/protocol/rest/IoTDBRestServiceTest.java     |  14 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   2 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |   4 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |  12 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |   8 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   6 +-
 .../db/utils/datastructure/PrecisionTest.java      |   8 +-
 .../java/org/apache/iotdb/session/ISession.java    |  13 +
 .../java/org/apache/iotdb/session/Session.java     |  18 +
 .../org/apache/iotdb/session/pool/SessionPool.java |  63 ++++
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |  10 +-
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  | 123 ++++---
 test/e2e/cases/cli/res/init.sql                    |   4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |   6 +-
 .../src/main/thrift/confignode.thrift              |   4 +-
 thrift/src/main/thrift/datanode.thrift             |   2 +-
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |   4 +-
 .../tsfile/common/block/TsBlockSerdeTest.java      |   4 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |   2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  23 +-
 418 files changed, 2599 insertions(+), 2550 deletions(-)

diff --git a/README.md b/README.md
index 1a3cfde622..1139260a2d 100644
--- a/README.md
+++ b/README.md
@@ -245,25 +245,25 @@ IoTDB>
 
 Now, let us introduce the way of creating timeseries, inserting data and querying data.
 
-The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a storage group. Before defining a timeseries, we should define a storage group using SET STORAGE GROUP first, and here is an example:
+The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a database. Before defining a timeseries, we should define a database using CREATE DATABASE first, and here is an example:
 
 ```
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABSE root.ln
 ```
 
-We can also use SHOW STORAGE GROUP to check the storage group being created:
+We can also use SHOW DATABASES to check the database being created:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 +-------------+
-|storage group|
+|     Database|
 +-------------+
 |      root.ln|
 +-------------+
 Total line number = 1
 ```
 
-After the storage group is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here We create two timeseries:
+After the database is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here We create two timeseries:
 
 ```
 IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
@@ -277,7 +277,7 @@ In order to query the specific timeseries, we can use SHOW TIMESERIES <Path>. <P
 ```
 IoTDB> SHOW TIMESERIES
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -290,7 +290,7 @@ Total line number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/README_ZH.md b/README_ZH.md
index 5987a528a7..00e888bf5e 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -230,26 +230,26 @@ IoTDB>
 现在,让我们介绍创建 timeseries、插入数据和查询数据的方法。
 
 
-IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个`数据-时间`对,由一个存储组拥有。
-在定义 timeseries 之前,我们应该先使用SET storage group来定义一个存储组,下面是一个例子:
+IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个`数据-时间`对,由一个 database 拥有。
+在定义 timeseries 之前,我们应该先使用 CREATE DATABASE 来创建一个数据库,下面是一个例子:
 
 ```
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABASE root.ln
 ```
 
-我们也可以使用`SHOW STORAGE GROUP`来检查正在创建的存储组:
+我们也可以使用`SHOW DATABASES`来检查已创建的数据库:
 
 ```
-IoTDB> SHOW STORAGE GROUP
-+-------------+
-|storage group|
-+-------------+
-|      root.ln|
-+-------------+
+IoTDB> SHOW DATABASES
++--------+
+|Database|
++--------+
+| root.ln|
++--------+
 Total line number = 1
 ```
 
-在设置存储组之后,我们可以使用CREATE TIMESERIES来创建一个新的TIMESERIES。
+在设置 database 之后,我们可以使用CREATE TIMESERIES来创建一个新的TIMESERIES。
 在创建 timeseries 时,我们应该定义它的数据类型和编码方案。这里我们创建两个 timeseries:
 
 
@@ -266,7 +266,7 @@ IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCO
 ```
 IoTDB> SHOW TIMESERIES
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -279,7 +279,7 @@ Total line number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index 271e66569f..0146d26e72 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@ -291,7 +291,7 @@ showStorageGroup
 
 // Show Devices
 showDevices
-    : SHOW DEVICES prefixPath? (WITH STORAGE GROUP)? limitClause?
+    : SHOW DEVICES prefixPath? (WITH (STORAGE GROUP | DATABASE))? limitClause?
     ;
 
 // Show Timeseries
diff --git a/client-py/README.md b/client-py/README.md
index 3197cc7186..5ab07dd247 100644
--- a/client-py/README.md
+++ b/client-py/README.md
@@ -98,15 +98,15 @@ session.close()
 
 ### Data Definition Interface (DDL Interface)
 
-#### Storage Group Management
+#### DATABASE Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```python
 session.set_storage_group(group_name)
 ```
 
-* Delete one or several storage groups
+* Delete one or several databases
 
 ```python
 session.delete_storage_group(group_name)
@@ -481,7 +481,7 @@ Converting the data model of IoTDB into the data model of SQLAlchemy.
 
 The metadata in the IoTDB are:
 
-1. Storage Group
+1. Database
 2. Path
 3. Entity
 4. Measurement
@@ -495,8 +495,8 @@ The mapping relationship between them is:
 
 | The metadata in the SQLAlchemy | The metadata in the IoTDB                            |
 | -------------------- | ---------------------------------------------- |
-| Schema               | Storage Group                                  |
-| Table                | Path ( from storage group to entity ) + Entity |
+| Schema               |      Database                                  |
+| Table                | Path ( from database to entity ) + Entity |
 | Column               | Measurement                                    |
 
 The following figure shows the relationship between the two more intuitively:
diff --git a/client-py/SessionAlignedTimeseriesExample.py b/client-py/SessionAlignedTimeseriesExample.py
index 0d8271faa7..99b9f16a62 100644
--- a/client-py/SessionAlignedTimeseriesExample.py
+++ b/client-py/SessionAlignedTimeseriesExample.py
@@ -30,7 +30,7 @@ password_ = "root"
 session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="UTC+8")
 session.open(False)
 
-# set and delete storage groups
+# set and delete databases
 session.set_storage_group("root.sg_test_01")
 session.set_storage_group("root.sg_test_02")
 session.set_storage_group("root.sg_test_03")
@@ -216,7 +216,7 @@ session.insert_aligned_string_records_of_one_device(
     values_list,
 )
 
-# delete storage group
+# delete database
 session.delete_storage_group("root.sg_test_01")
 
 # close session connection.
diff --git a/client-py/SessionExample.py b/client-py/SessionExample.py
index 61e82234db..a91b456ca0 100644
--- a/client-py/SessionExample.py
+++ b/client-py/SessionExample.py
@@ -35,7 +35,7 @@ password_ = "root"
 session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="UTC+8")
 session.open(False)
 
-# set and delete storage groups
+# create and delete databases
 session.set_storage_group("root.sg_test_01")
 session.set_storage_group("root.sg_test_02")
 session.set_storage_group("root.sg_test_03")
@@ -324,7 +324,7 @@ with session.execute_last_data_query(
     while session_data_set.has_next():
         print(session_data_set.next())
 
-# delete storage group
+# delete database
 session.delete_storage_group("root.sg_test_01")
 
 # create measurement node template
diff --git a/client-py/iotdb/Session.py b/client-py/iotdb/Session.py
index 529a6a93d8..a1254e227c 100644
--- a/client-py/iotdb/Session.py
+++ b/client-py/iotdb/Session.py
@@ -173,32 +173,32 @@ class Session(object):
 
     def set_storage_group(self, group_name):
         """
-        set one storage group
-        :param group_name: String, storage group name (starts from root)
+        create one database
+        :param group_name: String, database name (starts from root)
         """
         status = self.__client.setStorageGroup(self.__session_id, group_name)
         logger.debug(
-            "setting storage group {} message: {}".format(group_name, status.message)
+            "setting database {} message: {}".format(group_name, status.message)
         )
 
         return Session.verify_success(status)
 
     def delete_storage_group(self, storage_group):
         """
-        delete one storage group.
-        :param storage_group: String, path of the target storage group.
+        delete one database.
+        :param storage_group: String, path of the target database.
         """
         groups = [storage_group]
         return self.delete_storage_groups(groups)
 
     def delete_storage_groups(self, storage_group_lst):
         """
-        delete multiple storage groups.
-        :param storage_group_lst: List, paths of the target storage groups.
+        delete multiple databases.
+        :param storage_group_lst: List, paths of the target databases.
         """
         status = self.__client.deleteStorageGroups(self.__session_id, storage_group_lst)
         logger.debug(
-            "delete storage group(s) {} message: {}".format(
+            "delete database(s) {} message: {}".format(
                 storage_group_lst, status.message
             )
         )
diff --git a/client-py/iotdb/dbapi/tests/test_cursor.py b/client-py/iotdb/dbapi/tests/test_cursor.py
index 6cd42257dc..b0ece9d0e6 100644
--- a/client-py/iotdb/dbapi/tests/test_cursor.py
+++ b/client-py/iotdb/dbapi/tests/test_cursor.py
@@ -44,9 +44,9 @@ def test_cursor():
         cursor: Cursor = conn.cursor()
 
         # execute test
-        cursor.execute("create storage group root.cursor")
-        cursor.execute("create storage group root.cursor_s1")
-        cursor.execute("delete storage group root.cursor_s1")
+        cursor.execute("create database root.cursor")
+        cursor.execute("create database root.cursor_s1")
+        cursor.execute("delete database root.cursor_s1")
         if cursor.rowcount < 0:
             test_fail()
             print_message("execute test failed!")
@@ -110,7 +110,7 @@ def test_cursor():
             test_fail()
             print_message("fetchone test failed")
 
-        cursor.execute("delete storage group root.cursor")
+        cursor.execute("delete database root.cursor")
         cursor.close()
         conn.close()
 
diff --git a/client-py/iotdb/sqlalchemy/IoTDBDialect.py b/client-py/iotdb/sqlalchemy/IoTDBDialect.py
index baf5d6525d..3d4ee192ad 100644
--- a/client-py/iotdb/sqlalchemy/IoTDBDialect.py
+++ b/client-py/iotdb/sqlalchemy/IoTDBDialect.py
@@ -79,7 +79,7 @@ class IoTDBDialect(default.DefaultDialect):
         return table_name in self.get_table_names(connection, schema=schema)
 
     def get_schema_names(self, connection, **kw):
-        cursor = connection.execute("SHOW STORAGE GROUP")
+        cursor = connection.execute("SHOW DATABASES")
         return [row[0] for row in cursor.fetchall()]
 
     def get_table_names(self, connection, schema=None, **kw):
diff --git a/client-py/iotdb/sqlalchemy/tests/test_dialect.py b/client-py/iotdb/sqlalchemy/tests/test_dialect.py
index 7b0e3e2ad6..20615cc3e8 100644
--- a/client-py/iotdb/sqlalchemy/tests/test_dialect.py
+++ b/client-py/iotdb/sqlalchemy/tests/test_dialect.py
@@ -51,8 +51,8 @@ def test_dialect():
         )
         registry.register("iotdb", "iotdb.sqlalchemy.IoTDBDialect", "IoTDBDialect")
         eng = create_engine(url)
-        eng.execute("create storage group root.cursor")
-        eng.execute("create storage group root.cursor_s1")
+        eng.execute("create database root.cursor")
+        eng.execute("create database root.cursor_s1")
         eng.execute(
             "create timeseries root.cursor.device1.temperature with datatype=FLOAT,encoding=RLE"
         )
@@ -78,8 +78,8 @@ def test_dialect():
         if len(columns) != 3:
             test_fail()
             print_message("test get_columns failed!")
-        eng.execute("delete storage group root.cursor")
-        eng.execute("delete storage group root.cursor_s1")
+        eng.execute("delete database root.cursor")
+        eng.execute("delete database root.cursor_s1")
         # close engine
         eng.dispose()
 
diff --git a/client-py/tests/test_aligned_timeseries.py b/client-py/tests/test_aligned_timeseries.py
index ef57af5f59..6e6c6ee23b 100644
--- a/client-py/tests/test_aligned_timeseries.py
+++ b/client-py/tests/test_aligned_timeseries.py
@@ -50,7 +50,7 @@ def test_aligned_timeseries():
             print("can't open session")
             exit(1)
 
-        # set and delete storage groups
+        # set and delete databases
         session.set_storage_group("root.sg_test_01")
         session.set_storage_group("root.sg_test_02")
         session.set_storage_group("root.sg_test_03")
@@ -58,11 +58,11 @@ def test_aligned_timeseries():
 
         if session.delete_storage_group("root.sg_test_02") < 0:
             test_fail()
-            print_message("delete storage group failed")
+            print_message("delete database failed")
 
         if session.delete_storage_groups(["root.sg_test_03", "root.sg_test_04"]) < 0:
             test_fail()
-            print_message("delete storage groups failed")
+            print_message("delete databases failed")
 
         # setting aligned time series.
         measurements_lst_ = [
diff --git a/client-py/tests/test_dataframe.py b/client-py/tests/test_dataframe.py
index c7cce58ea5..39ae33d82d 100644
--- a/client-py/tests/test_dataframe.py
+++ b/client-py/tests/test_dataframe.py
@@ -27,7 +27,7 @@ def test_simple_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.device0")
+        session.execute_non_query_statement("CREATE DATABASE root.device0")
 
         # Write data
         session.insert_str_record("root.device0", 123, "pressure", "15.0")
@@ -47,7 +47,7 @@ def test_non_time_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.device0")
+        session.execute_non_query_statement("CREATE DATABASE root.device0")
 
         # Write data
         session.insert_str_record("root.device0", 123, "pressure", "15.0")
@@ -59,14 +59,14 @@ def test_non_time_query():
         session.close()
 
     assert list(df.columns) == [
-        "timeseries",
-        "alias",
-        "storage group",
-        "dataType",
-        "encoding",
-        "compression",
-        "tags",
-        "attributes",
+        "Timeseries",
+        "Alias",
+        "Database",
+        "DataType",
+        "Encoding",
+        "Compression",
+        "Tags",
+        "Attributes",
     ]
     assert_array_equal(
         df.values,
diff --git a/client-py/tests/test_one_device.py b/client-py/tests/test_one_device.py
index d428947e9b..e2fad149fa 100644
--- a/client-py/tests/test_one_device.py
+++ b/client-py/tests/test_one_device.py
@@ -44,7 +44,7 @@ def test_one_device():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.str_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.str_test_01")
 
         if not session.is_open():
             print("can't open session")
diff --git a/client-py/tests/test_session.py b/client-py/tests/test_session.py
index 6ecd14205c..e7ae79fcb9 100644
--- a/client-py/tests/test_session.py
+++ b/client-py/tests/test_session.py
@@ -53,7 +53,7 @@ def test_session():
             print("can't open session")
             exit(1)
 
-        # set and delete storage groups
+        # set and delete databases
         session.set_storage_group("root.sg_test_01")
         session.set_storage_group("root.sg_test_02")
         session.set_storage_group("root.sg_test_03")
@@ -61,11 +61,11 @@ def test_session():
 
         if session.delete_storage_group("root.sg_test_02") < 0:
             test_fail()
-            print_message("delete storage group failed")
+            print_message("delete database failed")
 
         if session.delete_storage_groups(["root.sg_test_03", "root.sg_test_04"]) < 0:
             test_fail()
-            print_message("delete storage groups failed")
+            print_message("delete databases failed")
 
         # setting time series.
         session.create_time_series(
diff --git a/client-py/tests/test_tablet.py b/client-py/tests/test_tablet.py
index 1e80277d77..3e2d53543e 100644
--- a/client-py/tests/test_tablet.py
+++ b/client-py/tests/test_tablet.py
@@ -30,7 +30,7 @@ def test_tablet_insertion():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.sg_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.sg_test_01")
 
         measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
         data_types_ = [
@@ -73,7 +73,7 @@ def test_nullable_tablet_insertion():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.sg_test_01")
+        session.execute_non_query_statement("CREATE DATABASE root.sg_test_01")
 
         measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
         data_types_ = [
diff --git a/client-py/tests/test_template.py b/client-py/tests/test_template.py
index ced3cd9380..e91a8a0990 100644
--- a/client-py/tests/test_template.py
+++ b/client-py/tests/test_template.py
@@ -89,7 +89,7 @@ def test_set_template():
         template.add_template(m_node_y)
         session.create_schema_template(template)
 
-        session.execute_non_query_statement("set storage group to root.python")
+        session.execute_non_query_statement("CREATE DATABASE root.python")
 
         session.set_schema_template(template_name, "root.python.GPS")
         session.execute_non_query_statement("create timeseries of schema template on root.python.GPS")
diff --git a/client-py/tests/test_todf.py b/client-py/tests/test_todf.py
index 07953446cf..a7fcec0fc2 100644
--- a/client-py/tests/test_todf.py
+++ b/client-py/tests/test_todf.py
@@ -69,7 +69,7 @@ def test_simple_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
@@ -106,7 +106,7 @@ def test_with_null_query():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
@@ -186,7 +186,7 @@ def test_multi_fetch():
         db: IoTDBContainer
         session = Session(db.get_container_host_ip(), db.get_exposed_port(6667))
         session.open(False)
-        session.execute_non_query_statement("set storage group to root.wt1")
+        session.execute_non_query_statement("CREATE DATABASE root.wt1")
 
         create_ts(session)
 
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index addb84a15e..65b989d307 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -90,7 +90,7 @@ public class ConfigNodeConfig {
   /** just for test wait for 60 second by default. */
   private int thriftServerAwaitTimeForStopService = 60;
 
-  /** System directory, including version file for each storage group and metadata */
+  /** System directory, including version file for each database and metadata */
   private String systemDir =
       ConfigNodeConstant.DATA_DIR + File.separator + IoTDBConstant.SYSTEM_FOLDER_NAME;
 
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 7fdab11f72..227305330e 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
@@ -204,7 +204,7 @@ public class ClusterSchemaManager {
   }
 
   /**
-   * Update TTL for the specific StorageGroup or all storage groups in a path
+   * Update TTL for the specific StorageGroup or all databases in a path
    *
    * @param setTTLPlan setTTLPlan
    * @return SUCCESS_STATUS if successfully update the TTL, STORAGE_GROUP_NOT_EXIST if the path
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 75230f5283..2baaf0a600 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
@@ -1014,8 +1014,8 @@ public class ConfigManager implements IManager {
   }
 
   /**
-   * @param storageGroups the storage groups to check
-   * @return List of PartialPath the storage groups that not exist
+   * @param storageGroups the databases to check
+   * @return List of PartialPath the databases that not exist
    */
   public List<PartialPath> checkStorageGroupExist(List<PartialPath> storageGroups) {
     List<PartialPath> noExistSg = new ArrayList<>();
@@ -1336,7 +1336,7 @@ public class ConfigManager implements IManager {
    */
   public Map<TConsensusGroupId, TRegionReplicaSet> getRelatedDataRegionGroup(
       PathPatternTree patternTree) {
-    // Get all storage groups and slots by getting schema partition
+    // Get all databases and slots by getting schema partition
     Map<String, Map<TSeriesPartitionSlot, TConsensusGroupId>> schemaPartitionTable =
         getSchemaPartition(patternTree).getSchemaPartitionTable();
 
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 690a5b122c..f130f92894 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
@@ -178,7 +178,7 @@ public class PartitionManager {
 
     // We serialize the creation process of SchemaPartitions to
     // ensure that each SchemaPartition is created by a unique CreateSchemaPartitionReq.
-    // Because the number of SchemaPartitions per storage group is limited
+    // Because the number of SchemaPartitions per database is limited
     // by the number of SeriesPartitionSlots,
     // the number of serialized CreateSchemaPartitionReqs is acceptable.
     synchronized (this) {
@@ -254,7 +254,7 @@ public class PartitionManager {
 
     // We serialize the creation process of DataPartitions to
     // ensure that each DataPartition is created by a unique CreateDataPartitionReq.
-    // Because the number of DataPartitions per storage group is limited
+    // Because the number of DataPartitions per database is limited
     // by the number of SeriesPartitionSlots,
     // the number of serialized CreateDataPartitionReqs is acceptable.
     synchronized (this) {
@@ -627,10 +627,10 @@ public class PartitionManager {
     return (GetSeriesSlotListResp) getConsensusManager().read(plan).getDataset();
   }
   /**
-   * get storage group for region
+   * get database for region
    *
    * @param regionId regionId
-   * @return storage group name
+   * @return database name
    */
   public String getRegionStorageGroup(TConsensusGroupId regionId) {
     return partitionInfo.getRegionStorageGroup(regionId);
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 84115faae2..17d66d36aa 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
@@ -489,10 +489,10 @@ public class PartitionInfo implements SnapshotProcessor {
   }
 
   /**
-   * get storage group for region
+   * get database for region
    *
    * @param regionId regionId
-   * @return storage group name
+   * @return database name
    */
   public String getRegionStorageGroup(TConsensusGroupId regionId) {
     Optional<StorageGroupPartitionTable> sgPartitionTableOptional =
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/StorageGroupPartitionTable.java
index b058b4e938..8ec04c7e4d 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/StorageGroupPartitionTable.java
@@ -57,7 +57,7 @@ public class StorageGroupPartitionTable {
   private static final Logger LOGGER = LoggerFactory.getLogger(StorageGroupPartitionTable.class);
 
   private volatile boolean isPredeleted = false;
-  // The name of storage group
+  // The name of database
   private String storageGroupName;
 
   // RegionGroup
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 72898d2ed9..9d1163a433 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
@@ -163,10 +163,10 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
 
       result.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
     } catch (MetadataException e) {
-      LOGGER.warn("Storage group not exist", e);
+      LOGGER.warn("Database not exist", e);
       result
           .setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode())
-          .setMessage("Storage group not exist: " + e.getMessage());
+          .setMessage("Database not exist: " + e.getMessage());
     } finally {
       storageGroupReadWriteLock.writeLock().unlock();
     }
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 97a97825d9..1f3102a0ce 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
@@ -116,7 +116,7 @@ public class ConfigNodeProcedureEnv {
   /**
    * Delete ConfigNode cache, includes ClusterSchemaInfo and PartitionInfo
    *
-   * @param name storage group name
+   * @param name database name
    * @return tsStatus
    */
   public TSStatus deleteConfig(String name) {
@@ -125,10 +125,10 @@ public class ConfigNodeProcedureEnv {
   }
 
   /**
-   * Pre delete a storage group
+   * Pre delete a database
    *
    * @param preDeleteType execute/rollback
-   * @param deleteSgName storage group name
+   * @param deleteSgName database name
    */
   public void preDelete(
       PreDeleteStorageGroupPlan.PreDeleteType preDeleteType, String deleteSgName) {
@@ -136,7 +136,7 @@ public class ConfigNodeProcedureEnv {
   }
 
   /**
-   * @param storageGroupName Storage group name
+   * @param storageGroupName database name
    * @return ALL SUCCESS OR NOT
    * @throws IOException IOE
    * @throws TException Thrift IOE
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 353e748f7d..a9b507dc71 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
@@ -82,7 +82,7 @@ public class DeleteStorageGroupProcedure
           setNextState(DeleteStorageGroupState.DELETE_PRE);
           break;
         case DELETE_PRE:
-          LOG.info("Pre delete for Storage group {}", deleteSgSchema.getName());
+          LOG.info("Pre delete for database {}", deleteSgSchema.getName());
           env.preDelete(PreDeleteStorageGroupPlan.PreDeleteType.EXECUTE, deleteSgSchema.getName());
           setNextState(DeleteStorageGroupState.INVALIDATE_CACHE);
           break;
@@ -129,10 +129,10 @@ public class DeleteStorageGroupProcedure
       }
     } catch (TException | IOException e) {
       if (isRollbackSupported(state)) {
-        setFailure(new ProcedureException("Delete storage group failed " + state));
+        setFailure(new ProcedureException("Delete database failed " + state));
       } else {
         LOG.error(
-            "Retriable error trying to delete storage group {}, state {}",
+            "Retriable error trying to delete database {}, state {}",
             deleteSgSchema.getName(),
             state,
             e);
diff --git a/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java b/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
index 13fb2e0315..e706728d2c 100644
--- a/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
+++ b/cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ImportCsvTestIT.java
@@ -47,9 +47,9 @@ public class ImportCsvTestIT extends AbstractScript {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.fit.d1",
-        "SET STORAGE GROUP TO root.fit.d2",
-        "SET STORAGE GROUP TO root.fit.p",
+        "CREATE DATABASE root.fit.d1",
+        "CREATE DATABASE root.fit.d2",
+        "CREATE DATABASE root.fit.p",
         "CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE",
         "CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN",
         "CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE",
diff --git a/docs/Blog/Release0_93.md b/docs/Blog/Release0_93.md
index 090a352dc0..f2bc5ff0db 100644
--- a/docs/Blog/Release0_93.md
+++ b/docs/Blog/Release0_93.md
@@ -41,7 +41,7 @@ English: http://iotdb.apache.org/SystemDesign/Architecture/Architecture.html
 Chinese: http://iotdb.apache.org/zh/SystemDesign/Architecture/Architecture.html
 
 
-The Release 0.9.3 is a minor/bugfix release in the 0.9 release series that mainly fixes one serious bug: if the wrong metadata operation is performed, such as deleting a non-existent storage group, the metadata is empty after server restart. This is caused by the metadata module beeing nulled when the metadata log was redone. The fix is to skip the wrong metadata log. In the preparation of version 0.10, we take an execution before logging approach and do not log errors again.
+The Release 0.9.3 is a minor/bugfix release in the 0.9 release series that mainly fixes one serious bug: if the wrong metadata operation is performed, such as deleting a non-existent database, the metadata is empty after server restart. This is caused by the metadata module beeing nulled when the metadata log was redone. The fix is to skip the wrong metadata log. In the preparation of version 0.10, we take an execution before logging approach and do not log errors again.
 
 The [issue module](https://github.com/apache/iotdb/issues) is open on Github, so you can ask questions about bugs or new requirements, and we will answer them promptly.
 
diff --git a/docs/Development/VoteRelease.md b/docs/Development/VoteRelease.md
index bbbe023c4a..139fb5cf42 100644
--- a/docs/Development/VoteRelease.md
+++ b/docs/Development/VoteRelease.md
@@ -130,7 +130,7 @@ nohup ./sbin/start-server.sh >/dev/null 2>&1 &
 
 ./sbin/start-cli.sh
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
@@ -168,7 +168,7 @@ LICENSE and NOTICE [ok]
 signatures and hashes [ok]
 Could run with the following statements [ok]
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
diff --git a/docs/Download/README.md b/docs/Download/README.md
index f5db09fa90..bb7ca72b16 100644
--- a/docs/Download/README.md
+++ b/docs/Download/README.md
@@ -280,7 +280,7 @@ Query the data of root.sg.a, you can see that the string is unescaped:
   * __NOTICE 1: V0.12 changes many settings in conf/iotdb-engine.properties, so do not use previous 
     configuration file directly.__
   * __NOTICE 2: V0.12 doesn't support upgrade from v0.9 or lower version, please upgrade to v0.10 first if needed.__
-  * __NOTICE 3: We don't recommend deleting data before the upgrading finished. The deletion will fail if you try to delete data in the storage group with upgrading files.__
+  * __NOTICE 3: We don't recommend deleting data before the upgrading finished. The deletion will fail if you try to delete data in the database with upgrading files.__
 
 - How to upgrade from v.10.x to v0.11.x?
   * The data format (i.e., TsFile data) of v0.10.x and v0.11 are compatible, but the WAL file is 
diff --git a/docs/UserGuide/API/InfluxDB-Protocol.md b/docs/UserGuide/API/InfluxDB-Protocol.md
index 571b6345d8..677ed68a1d 100644
--- a/docs/UserGuide/API/InfluxDB-Protocol.md
+++ b/docs/UserGuide/API/InfluxDB-Protocol.md
@@ -70,7 +70,7 @@ The metadata of InfluxDB is tag field model, and the metadata of IoTDB is tree m
 
 #### 2.2.2 IoTDB Metadata
 
-1. storage group: storage group name.
+1. database: database name.
 2. path(time series ID): storage path.
 3. measurement: physical quantity.
 
@@ -79,9 +79,9 @@ The metadata of InfluxDB is tag field model, and the metadata of IoTDB is tree m
 #### 2.2.3 Mapping relationship between the two
 
 The mapping relationship between InfluxDB metadata and IoTDB metadata is as follows:
-1. The database and measurement in InfluxDB are combined as the storage group in IoTDB.
+1. The database and measurement in InfluxDB are combined as the database in IoTDB.
 2. The field key in InfluxDB is used as the measurement path in IoTDB, and the field value in InfluxDB is the measured point value recorded under the path.
-3. Tag in InfluxDB is expressed by the path between storage group and measurement in IoTDB. The tag key of InfluxDB is implicitly expressed by the order of the path between storage group and measurement, and the tag value is recorded as the name of the path in the corresponding order.
+3. Tag in InfluxDB is expressed by the path between database and measurement in IoTDB. The tag key of InfluxDB is implicitly expressed by the order of the path between database and measurement, and the tag value is recorded as the name of the path in the corresponding order.
 
 The transformation relationship from InfluxDB metadata to IoTDB metadata can be represented by the following publicity:
 
@@ -91,9 +91,9 @@ The transformation relationship from InfluxDB metadata to IoTDB metadata can be
 
 As shown in the figure above, it can be seen that:
 
-In IoTDB, we use the path between storage group and measurement to express the concept of InfluxDB tag, which is the part of the green box on the right in the figure.
+In IoTDB, we use the path between database and measurement to express the concept of InfluxDB tag, which is the part of the green box on the right in the figure.
 
-Each layer between storage group and measurement represents a tag. If the number of tag keys is n, the number of layers of the path between storage group and measurement is n. We sequentially number each layer between storage group and measurement, and each sequence number corresponds to a tag key one by one. At the same time, we use the **path name** of each layer between storage group and measurement to remember tag value. Tag key can find the tag value under the corresponding path lev [...]
+Each layer between database and measurement represents a tag. If the number of tag keys is n, the number of layers of the path between database and measurement is n. We sequentially number each layer between database and measurement, and each sequence number corresponds to a tag key one by one. At the same time, we use the **path name** of each layer between database and measurement to remember tag value. Tag key can find the tag value under the corresponding path level through its own s [...]
 
 #### 2.2.4 Key Problem
 
@@ -129,7 +129,7 @@ When in use, you can first locate the tag through the InfluxDB measurement, then
 
 **Persistence scheme of tag key correspondence order**
 
-Storage group is `root.TAG_ Info`, using `database_name`,`measurement_ name`, `tag_ Name ` and ` tag_ Order ` under the storage group to store tag key and its corresponding order relationship by measuring points.
+Database is `root.TAG_ Info`, using `database_name`,`measurement_ name`, `tag_ Name ` and ` tag_ Order ` under the database to store tag key and its corresponding order relationship by measuring points.
 
 ```
 +-----------------------------+---------------------------+------------------------------+----------------------+-----------------------+
diff --git a/docs/UserGuide/API/Interface-Comparison.md b/docs/UserGuide/API/Interface-Comparison.md
index ec7f287bdb..e50780b41a 100644
--- a/docs/UserGuide/API/Interface-Comparison.md
+++ b/docs/UserGuide/API/Interface-Comparison.md
@@ -30,8 +30,8 @@ This chapter mainly compares the differences between Java Native API and python
 | 1     | Initialize session                    | `Session.Builder.build();     Session.Builder().host(String host).port(int port).build();     Session.Builder().nodeUrls(List<String> nodeUrls).build();     Session.Builder().fetchSize(int fetchSize).username(String  username).password(String password).thriftDefaultBufferSize(int  thriftDefaultBufferSize).thriftMaxFrameSize(int  thriftMaxFrameSize).enableRedirection(boolean  enableCacheLeader).version(Version version).build();`            [...]
 | 2     | Open session                          | `void open()     void open(boolean enableRPCCompression)`                                                                                                                                                                                                                                                                                                                                                                                                  [...]
 | 3     | Close session                         | `void close()`                                                                                                                                                                                                                                                                                                                                                                                                                                             [...]
-| 4     | Set storage group                     | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                             [...]
-| 5     | Delete storage group                  | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                   [...]
+| 4     | Create Database                     | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                               [...]
+| 5     | Delete database                  | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                        [...]
 | 6     | Create timeseries                     | `void createTimeseries(String  path, TSDataType dataType,TSEncoding encoding, CompressionType compressor,  Map<String, String> props,Map<String, String> tags,  Map<String, String> attributes, String measurementAlias)             void createMultiTimeseries(List<String> paths, List<TSDataType>  dataTypes,List<TSEncoding> encodings, List<CompressionType>  compressors,List<Map<String, String>> propsList,  List<Map<String, String>> tagsList,Li [...]
 | 7     | Create aligned timeseries             | `void  createAlignedTimeseries(String prefixPath, List<String>  measurements,List<TSDataType> dataTypes, List<TSEncoding>  encodings,CompressionType compressor, List<String>  measurementAliasList);`                                                                                                                                                                                                                                                     [...]
 | 8     | Delete timeseries                     | `void deleteTimeseries(String  path)     void deleteTimeseries(List<String> paths)`                                                                                                                                                                                                                                                                                                                                                                        [...]
diff --git a/docs/UserGuide/API/Programming-Cpp-Native-API.md b/docs/UserGuide/API/Programming-Cpp-Native-API.md
index 1ff757a45a..3108634eff 100644
--- a/docs/UserGuide/API/Programming-Cpp-Native-API.md
+++ b/docs/UserGuide/API/Programming-Cpp-Native-API.md
@@ -164,14 +164,14 @@ void close();
 
 ### Data Definition Interface (DDL)
 
-#### Storage Group Management
+#### Database Management
 
-- Set storage group
+- CREATE DATABASE
 ```cpp
 void setStorageGroup(const std::string &storageGroupId);
 ```
 
-- Delete one or several storage groups
+- Delete one or several databases
 ```cpp
 void deleteStorageGroup(const std::string &storageGroup);
 void deleteStorageGroups(const std::vector<std::string> &storageGroups);
diff --git a/docs/UserGuide/API/Programming-JDBC.md b/docs/UserGuide/API/Programming-JDBC.md
index 592243f931..801dcbbde7 100644
--- a/docs/UserGuide/API/Programming-JDBC.md
+++ b/docs/UserGuide/API/Programming-JDBC.md
@@ -82,16 +82,16 @@ public class JDBCExample {
       return;
     }
     Statement statement = connection.createStatement();
-    //Create storage group
+    //Create database
     try {
-      statement.execute("SET STORAGE GROUP TO root.demo");
+      statement.execute("CREATE DATABASE root.demo");
     }catch (IoTDBSQLException e){
       System.out.println(e.getMessage());
     }
 
 
-    //Show storage group
-    statement.execute("SHOW STORAGE GROUP");
+    //SHOW DATABASES
+    statement.execute("SHOW DATABASES");
     outputResult(statement.getResultSet());
 
     //Create time series
diff --git a/docs/UserGuide/API/Programming-Java-Native-API.md b/docs/UserGuide/API/Programming-Java-Native-API.md
index 87c65a2daf..4e289dd416 100644
--- a/docs/UserGuide/API/Programming-Java-Native-API.md
+++ b/docs/UserGuide/API/Programming-Java-Native-API.md
@@ -115,15 +115,15 @@ void close()
 
 ### Data Definition Interface (DDL Interface)
 
-#### Storage Group Management
+#### Database Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```java
 void setStorageGroup(String storageGroupId)    
 ```
 
-* Delete one or several storage groups
+* Delete one or several databases
 
 ```java
 void deleteStorageGroup(String storageGroup)
@@ -286,7 +286,7 @@ public List<String> showMeasurementsInTemplate(String templateName, String patte
 
 To implement schema template, you can set the measurement template named 'templateName' at path 'prefixPath'.
 
-**Please notice that, we strongly recommend not setting templates on the nodes above the storage group to accommodate future updates and collaboration between modules.**
+**Please notice that, we strongly recommend not setting templates on the nodes above the database to accommodate future updates and collaboration between modules.**
 
 ``` java
 void setSchemaTemplate(String templateName, String prefixPath)
@@ -541,7 +541,7 @@ Or `example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java`
 
 ## Cluster information related APIs (only works in the cluster mode)
 
-Cluster information related APIs allow users get the cluster info like where a storage group will be 
+Cluster information related APIs allow users get the cluster info like where a database will be 
 partitioned to, the status of each node in the cluster.
 
 To use the APIs, add dependency in your pom file:
@@ -603,7 +603,7 @@ list<Node> getRing();
 
 ```java 
 /**
- * @param path input path (should contains a Storage group name as its prefix)
+ * @param path input path (should contains a database name as its prefix)
  * @return the data partition info. If the time range only covers one data partition, the the size
  * of the list is one.
  */
@@ -613,7 +613,7 @@ list<DataPartitionEntry> getDataPartition(1:string path, 2:long startTime, 3:lon
 * Get metadata partition information of input path:
 ```java  
 /**
- * @param path input path (should contains a Storage group name as its prefix)
+ * @param path input path (should contains a database name as its prefix)
  * @return metadata partition information
  */
 list<Node> getMetaPartition(1:string path);
diff --git a/docs/UserGuide/API/Programming-Python-Native-API.md b/docs/UserGuide/API/Programming-Python-Native-API.md
index 971c3ba9c4..30ea146e4b 100644
--- a/docs/UserGuide/API/Programming-Python-Native-API.md
+++ b/docs/UserGuide/API/Programming-Python-Native-API.md
@@ -76,15 +76,15 @@ session.close()
 
 ### Data Definition Interface (DDL Interface)
 
-#### Storage Group Management
+#### Database Management
 
-* Set storage group
+* CREATE DATABASE
 
 ```python
 session.set_storage_group(group_name)
 ```
 
-* Delete one or several storage groups
+* Delete one or several databases
 
 ```python
 session.delete_storage_group(group_name)
@@ -458,7 +458,7 @@ Converting the data model of IoTDB into the data model of SQLAlchemy.
 
 The metadata in the IoTDB are:
 
-1. Storage Group
+1. Database
 2. Path
 3. Entity
 4. Measurement
@@ -471,10 +471,10 @@ The metadata in the SQLAlchemy are:
 The mapping relationship between them is:
 
 | The metadata in the SQLAlchemy | The metadata in the IoTDB                            |
-| -------------------- | ---------------------------------------------- |
-| Schema               | Storage Group                                  |
-| Table                | Path ( from storage group to entity ) + Entity |
-| Column               | Measurement                                    |
+| -------------------- | -------------------------------------------- |
+| Schema               | Database                                     |
+| Table                | Path ( from database to entity ) + Entity    |
+| Column               | Measurement                                  |
 
 The following figure shows the relationship between the two more intuitively:
 
diff --git a/docs/UserGuide/API/Programming-Thrift.md b/docs/UserGuide/API/Programming-Thrift.md
index 9212a9a0b5..0b200cb26c 100644
--- a/docs/UserGuide/API/Programming-Thrift.md
+++ b/docs/UserGuide/API/Programming-Thrift.md
@@ -81,7 +81,7 @@ TSStatus setTimeZone(1:TSSetTimeZoneReq req);
 // get server's properties
 ServerProperties getProperties();
 
-// set storage group
+// CREATE DATABASE
 TSStatus setStorageGroup(1:i64 sessionId, 2:string storageGroup);
 
 // create timeseries
diff --git a/docs/UserGuide/API/RestService.md b/docs/UserGuide/API/RestService.md
index e581b7a04a..e0ec03973e 100644
--- a/docs/UserGuide/API/RestService.md
+++ b/docs/UserGuide/API/RestService.md
@@ -244,7 +244,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 {
   "expressions": null,
   "columnNames": [
-    "storage group",
+    "database",
     "ttl"
   ],
   "timestamps": null,
@@ -271,7 +271,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 {
   "expressions": null,
   "columnNames": [
-    "storage group",
+    "database",
     "ttl"
   ],
   "timestamps": null,
@@ -336,7 +336,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "columnNames": [
     "timeseries",
     "alias",
-    "storage group",
+    "database",
     "dataType",
     "encoding",
     "compression",
@@ -409,7 +409,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "columnNames": [
     "timeseries",
     "alias",
-    "storage group",
+    "database",
     "dataType",
     "encoding",
     "compression",
@@ -539,10 +539,10 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 }
 ```
 
-**Show devices with storage group**
+**Show devices with database**
 
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"show devices with storage group"}' http://127.0.0.1:18080/rest/v1/query
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"show devices with database"}' http://127.0.0.1:18080/rest/v1/query
 ```
 
 ```json
@@ -550,7 +550,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "expressions": null,
   "columnNames": [
     "devices",
-    "storage group",
+    "database",
     "isAligned"
   ],
   "timestamps": null,
@@ -784,7 +784,7 @@ Parameter Description:
 
 Example request:
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
 ```
 
 Response parameters:
diff --git a/docs/UserGuide/API/Status-Codes.md b/docs/UserGuide/API/Status-Codes.md
index 19cacaaf7b..a00c409022 100644
--- a/docs/UserGuide/API/Status-Codes.md
+++ b/docs/UserGuide/API/Status-Codes.md
@@ -60,18 +60,18 @@ Here is a list of Status Code and related message:
 |308|SYSTEM_CHECK_ERROR|Meet error while system checking|
 |309|SYNC_DEVICE_OWNER_CONFLICT_ERROR|Sync device owners conflict|
 |310|SYNC_CONNECTION_EXCEPTION|Meet error while sync connecting|
-|311|STORAGE_GROUP_PROCESSOR_ERROR|Storage group processor related error|
-|312|STORAGE_GROUP_ERROR|Storage group related error|
+|311|STORAGE_GROUP_PROCESSOR_ERROR|Database processor related error|
+|312|STORAGE_GROUP_ERROR|Database related error|
 |313|STORAGE_ENGINE_ERROR|Storage engine related error|
 |314|TSFILE_PROCESSOR_ERROR|TsFile processor related error|
 |315|PATH_ILLEGAL|Illegal path|
 |316|LOAD_FILE_ERROR|Meet error while loading file|
-|317|STORAGE_GROUP_NOT_READY| The storage group is in recovery mode, not ready fore accepting read/write operation|
+|317|STORAGE_GROUP_NOT_READY| The database is in recovery mode, not ready fore accepting read/write operation|
 |400|EXECUTE_STATEMENT_ERROR|Execute statement error|
 |401|SQL_PARSE_ERROR|Meet error while parsing SQL|
 |402|GENERATE_TIME_ZONE_ERROR|Meet error while generating time zone|
 |403|SET_TIME_ZONE_ERROR|Meet error while setting time zone|
-|404|NOT_STORAGE_GROUP_ERROR|Operating object is not a storage group|
+|404|NOT_STORAGE_GROUP_ERROR|Operating object is not a database|
 |405|QUERY_NOT_ALLOWED|Query statements are not allowed error|
 |406|AST_FORMAT_ERROR|AST format related error|
 |407|LOGICAL_OPERATOR_ERROR|Logical operator related error|
diff --git a/docs/UserGuide/Administration-Management/Administration.md b/docs/UserGuide/Administration-Management/Administration.md
index 6bf5e1a6f8..aa7f201e7d 100644
--- a/docs/UserGuide/Administration-Management/Administration.md
+++ b/docs/UserGuide/Administration-Management/Administration.md
@@ -94,7 +94,7 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true
 Msg: 602: No permissions for this operation, please add privilege INSERT_TIMESERIES.
 ```
 
-Now, we use root user to grant the two users write privileges to the corresponding storage groups.
+Now, we use root user to grant the two users write privileges to the corresponding databases.
 
 We use `GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>` to grant user privileges(ps: grant create user does not need path). For example:
 
@@ -367,12 +367,12 @@ At the same time, changes to roles are immediately reflected on all users who ow
 
 |privilege Name|Interpretation|Example|
 |:---|:---|----|
-|SET\_STORAGE\_GROUP|set storage groups; set/unset storage group ttl; path dependent|Eg1: `set storage group to root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
-|DELETE\_STORAGE\_GROUP|delete storage groups; path dependent|Eg: `delete storage group root.ln;`|
+|SET\_STORAGE\_GROUP|create database; set/unset database ttl; path dependent|Eg1: `CREATE DATABASE root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
+|DELETE\_STORAGE\_GROUP|delete databases; path dependent|Eg: `delete database root.ln;`|
 |CREATE\_TIMESERIES|create timeseries; path dependent|Eg1: create timeseries<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: create aligned timeseries<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`|
 |INSERT\_TIMESERIES|insert data; path dependent|Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`|
 |ALTER\_TIMESERIES|alter timeseries; path dependent|Eg1: `alter timeseries root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4;`<br />Eg2: `ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4);`|
-|READ\_TIMESERIES|query data; path dependent|Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [Query-Data](../Query-Data/Overview.md)(The query statements under this section all use this permission)<br />Eg8: CVS format data export<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: P [...]
+|READ\_TIMESERIES|query data; path dependent|Eg1: `SHOW DATABASES;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [Query-Data](../Query-Data/Overview.md)(The query statements under this section all use this permission)<br />Eg8: CVS format data export<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: Perfo [...]
 |DELETE\_TIMESERIES|delete data or timeseries; path dependent|Eg1: delete timeseries<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: delete data<br />`delete from root.ln.wf02.wt02.status where time < 10`<br />Eg3: use drop semantic<br />`drop timeseries root.ln.wf01.wt01.status|
 |CREATE\_USER|create users; path independent|Eg: `create user thulab 'passwd';`|
 |DELETE\_USER|delete users; path independent|Eg: `drop user xiaoming;`|
diff --git a/docs/UserGuide/Cluster/Cluster-Concept.md b/docs/UserGuide/Cluster/Cluster-Concept.md
index 7d849754ad..6d3afb1a56 100644
--- a/docs/UserGuide/Cluster/Cluster-Concept.md
+++ b/docs/UserGuide/Cluster/Cluster-Concept.md
@@ -55,9 +55,9 @@ Client could only connect to the DataNode for operation.
 
 The partitioning strategy partitions data and schema into different Regions, and allocates Regions to different DataNodes.
 
-It is recommended to set 1 storage group (there is no need to set the storage group according to the number of cores as in version 0.13), which is used as the database concept, and the cluster will dynamically allocate resources according to the number of nodes and cores.
+It is recommended to set 1 database (there is no need to set the database according to the number of cores as in version 0.13), which is used as the database concept, and the cluster will dynamically allocate resources according to the number of nodes and cores.
 
-The storage group contains multiple SchemaRegions (schema shards) and DataRegions (data shards), which are managed by DataNodes.
+The database contains multiple SchemaRegions (schema shards) and DataRegions (data shards), which are managed by DataNodes.
 
 * Schema partition strategy 
     * For a time series schema, the ConfigNode maps the device ID (full path from root to the penultimate tier node) into a series\_partition\_slot and assigns this partition slot to a SchemaRegion group.
diff --git a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
index a4253307e0..f50fc5fc1d 100644
--- a/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
+++ b/docs/UserGuide/Data-Concept/Data-Model-and-Terminology.md
@@ -29,7 +29,7 @@ According to the enterprise organization structure and equipment entity hierarch
 
 Here are the basic concepts of the model involved in IoTDB. 
 
-## Measurement, Entity, Storage Group, Path
+## Measurement, Entity, Database, Path
 
 ### Measurement (Also called field)
 
@@ -39,19 +39,19 @@ It is information measured by detection equipment in an actual scene and can tra
 
 **An entity** is an equipped with measurements in real scenarios. In IoTDB, all measurements should have their corresponding entities.
 
-### Storage Group
+### Database
 
-**A group of entities.** Users can set any prefix path as a storage group. Provided that there are four timeseries `root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`, two devices `wt01`, `wt02` under the path `root.ln` may belong to the same owner or the same manufacturer, so d1 and d2 are closely related. At this point, the prefix path root.vehicle can be designated as a storage group, which will enable IoTDB to store al [...]
+**A group of entities.** Users can create any prefix path as a database. Provided that there are four timeseries `root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`, two devices `wt01`, `wt02` under the path `root.ln` may belong to the same owner or the same manufacturer, so d1 and d2 are closely related. At this point, the prefix path root.vehicle can be designated as a database, which will enable IoTDB to store all devic [...]
 
-> Note1: A full path (`root.ln.wf01.wt01.status` as in the above example) is not allowed to be set as a storage group.
+> Note1: A full path (`root.ln.wf01.wt01.status` as in the above example) is not allowed to be set as a database.
 >
-> Note2: The prefix of a timeseries must belong to a storage group. Before creating a timeseries, users must set which storage group the series belongs to. Only timeseries whose storage group is set can be persisted to disk.
+> Note2: The prefix of a timeseries must belong to a database. Before creating a timeseries, users must set which database the series belongs to. Only timeseries whose database is set can be persisted to disk.
 
-Once a prefix path is set as a storage group, the storage group settings cannot be changed.
+Once a prefix path is set as a database, the database settings cannot be changed.
 
-After a storage group is set, the ancestral layers, children and descendant layers of the corresponding prefix path are not allowed to be set up again (for example, after `root.ln` is set as the storage group, the root layer and `root.ln.wf01` are not allowed to be set as storage groups).
+After a database is set, the ancestral layers, children and descendant layers of the corresponding prefix path are not allowed to be set up again (for example, after `root.ln` is set as the database, the root layer and `root.ln.wf01` are not allowed to be created as database).
 
-The Layer Name of storage group can only consist of characters, numbers, and underscores, like `root.storagegroup_1`.
+The Layer Name of database can only consist of characters, numbers, and underscores, like `root.storagegroup_1`.
 
 ### Path
 
@@ -82,7 +82,7 @@ The following are the constraints on the `nodeName`:
 
   * [ 0-9 a-z A-Z _ ] (letters, numbers, underscore)
   * ['\u2E80'..'\u9FFF'] (Chinese characters)
-* In particular, if the system is deployed on a Windows machine, the storage group layer name will be case-insensitive. For example, creating both `root.ln` and `root.LN` at the same time is not allowed.
+* In particular, if the system is deployed on a Windows machine, the database layer name will be case-insensitive. For example, creating both `root.ln` and `root.LN` at the same time is not allowed.
 * If you want to use special characters in `nodeName`, you can quote it with back quote, detailed information can be found here: [Syntax-Conventions](https://iotdb.apache.org/UserGuide/Master/Reference/Syntax-Conventions.html).
 
 ### Path Pattern
diff --git a/docs/UserGuide/Data-Concept/Schema-Template.md b/docs/UserGuide/Data-Concept/Schema-Template.md
index abdc5c5c3f..610a5d7d64 100644
--- a/docs/UserGuide/Data-Concept/Schema-Template.md
+++ b/docs/UserGuide/Data-Concept/Schema-Template.md
@@ -39,7 +39,7 @@ In the actual scenario, many entities collect the same measurements, that is, th
 
 Currently you can only set one schema template on a specific path. If there's one schema template on one node, it will be forbidden to set any schema template on the ancestors or descendants of this node. An entity will use it's own schema template or ancestor's schema template.
 
-**Please notice that, we strongly recommend not setting templates on the nodes above the storage group to accommodate future updates and collaboration between modules.**
+**Please notice that, we strongly recommend not setting templates on the nodes above the database to accommodate future updates and collaboration between modules.**
 
 In the following chapters of data definition language, data operation language and Java Native Interface, various operations related to schema template will be introduced one by one.
 
diff --git a/docs/UserGuide/Data-Concept/Time-Partition.md b/docs/UserGuide/Data-Concept/Time-Partition.md
index 30b90e88dc..519450e319 100644
--- a/docs/UserGuide/Data-Concept/Time-Partition.md
+++ b/docs/UserGuide/Data-Concept/Time-Partition.md
@@ -38,7 +38,7 @@ Time partition divides data according to time, and a time partition is used to s
 
 |Name| time\_partition\_interval\_for\_storage                                                                |
 |:---:|:-------------------------------------------------------------------------------------------------------|
-|Description| Time range for dividing storage group, time series data will be divided into groups by this time range |
+|Description| Time range for dividing database, time series data will be divided into groups by this time range |
 |Type| Int64                                                                                                  |
 |Default| 604800000                                                                                               |
 |Effective| Only allowed to be modified in first start up                                                          |
diff --git a/docs/UserGuide/Data-Modeling/DataRegion.md b/docs/UserGuide/Data-Modeling/DataRegion.md
index 8c2ea3b052..614e9c04f9 100644
--- a/docs/UserGuide/Data-Modeling/DataRegion.md
+++ b/docs/UserGuide/Data-Modeling/DataRegion.md
@@ -21,26 +21,26 @@
 
 # Background
 
-The storage group is specified by the user display.
-Use the statement "SET STORAGE GROUP TO" to specify the storage group.
-Each storage group has a corresponding StorageGroupProcessor.
+The database is specified by the user display.
+Use the statement "CREATE DATABASE" to create the database.
+Each database has a corresponding StorageGroupProcessor.
 
-To ensure eventually consistency, a insert lock (exclusive lock) is used to synchronize each insert request in each storage group.
-So the server side parallelism of data ingestion is equal to the number of storage group.
+To ensure eventually consistency, a insert lock (exclusive lock) is used to synchronize each insert request in each database.
+So the server side parallelism of data ingestion is equal to the number of database.
 
 # Problem
 
-From background, we can infer that the parallelism of data ingestion of IoTDB is max(num of client, server side parallelism), which equals to max(num of client, num of storage group)
+From background, we can infer that the parallelism of data ingestion of IoTDB is max(num of client, server side parallelism), which equals to max(num of client, num of database)
 
-The concept of storage group usually is related to real world entity such as factory, location, country and so on.
-The number of storage groups may be small which makes the parallelism of data ingestion of IoTDB insufficient. We can't jump out of this dilemma even we start hundreds of client for ingestion.
+The concept of database usually is related to real world entity such as factory, location, country and so on.
+The number of databases may be small which makes the parallelism of data ingestion of IoTDB insufficient. We can't jump out of this dilemma even we start hundreds of client for ingestion.
 
 # Solution
 
-Our idea is to group devices into buckets and change the granularity of synchronization from storage group level to device buckets level.
+Our idea is to group devices into buckets and change the granularity of synchronization from database level to device buckets level.
 
 In detail, we use hash to group different devices into buckets called data region. 
-For example, one device called "root.sg.d"(assume it's storage group is "root.sg") is belonged to data region "root.sg.[hash("root.sg.d") mod num_of_data_region]"
+For example, one device called "root.sg.d"(assume it's database is "root.sg") is belonged to data region "root.sg.[hash("root.sg.d") mod num_of_data_region]"
 
 # Usage
 
@@ -50,6 +50,6 @@ To use data region, you can set this config below:
 data_region_num
 ```
 
-Recommended value is [data region number] = [CPU core number] / [user-defined storage group number]
+Recommended value is [data region number] = [CPU core number] / [user-defined database number]
 
 For more information, you can refer to [this page](../Reference/DataNode-Config-Manual.md).
\ No newline at end of file
diff --git a/docs/UserGuide/Delete-Data/Delete-Data.md b/docs/UserGuide/Delete-Data/Delete-Data.md
index 88e50d8110..6b3579e228 100644
--- a/docs/UserGuide/Delete-Data/Delete-Data.md
+++ b/docs/UserGuide/Delete-Data/Delete-Data.md
@@ -84,7 +84,7 @@ Msg: The statement is executed successfully.
 ```
 
 ## Delete Time Partition (experimental)
-You may delete all data in a time partition of a storage group using the following grammar:
+You may delete all data in a time partition of a database using the following grammar:
 
 ```sql
 DELETE PARTITION root.ln 0,1,2
diff --git a/docs/UserGuide/Delete-Data/TTL.md b/docs/UserGuide/Delete-Data/TTL.md
index e1c38224d8..18be915d3e 100644
--- a/docs/UserGuide/Delete-Data/TTL.md
+++ b/docs/UserGuide/Delete-Data/TTL.md
@@ -38,11 +38,11 @@ This example means that for data in `root.ln`, only 3600000 ms, that is, the lat
 ```
 IoTDB> set ttl to root.sgcc.** 3600000
 ```
-It supports setting TTL for storage groups in a path. This example represents setting TTL for all storage groups in the `root.sgcc` path.
+It supports setting TTL for databases in a path. This example represents setting TTL for all databases in the `root.sgcc` path.
 ```
 IoTDB> set ttl to root.** 3600000
 ```
-This example represents setting TTL for all storage groups.
+This example represents setting TTL for all databases.
 
 ## Unset TTL
 
@@ -57,12 +57,12 @@ After unset TTL, all data will be accepted in `root.ln`.
 IoTDB> unset ttl to root.sgcc.**
 ```
 
-Unset the TTL setting for all storage groups in the `root.sgcc` path.
+Unset the TTL setting for all databases in the `root.sgcc` path.
 ```
 IoTDB> unset ttl to root.**
 ```
 
-Unset the TTL setting for all storage groups.
+Unset the TTL setting for all databases.
 
 ## Show TTL
 
@@ -73,18 +73,18 @@ IoTDB> SHOW ALL TTL
 IoTDB> SHOW TTL ON StorageGroupNames
 ```
 
-The SHOW ALL TTL example gives the TTL for all storage groups.
+The SHOW ALL TTL example gives the TTL for all databases.
 The SHOW TTL ON root.ln,root.sgcc,root.DB example shows the TTL for the three storage 
 groups specified.
-Note: the TTL for storage groups that do not have a TTL set will display as null.
+Note: the TTL for databases that do not have a TTL set will display as null.
 
 ```
 IoTDB> show all ttl
-+-------------+-------+
-|storage group|ttl(ms)|
-+-------------+-------+
-|      root.ln|3600000|
-|    root.sgcc|   null|
-|      root.DB|3600000|
-+-------------+-------+
++----------+-------+
+| database|ttl(ms)|
++---------+-------+
+|  root.ln|3600000|
+|root.sgcc|   null|
+|  root.DB|3600000|
++----------+-------+
 ```
\ No newline at end of file
diff --git a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 394d492d0a..928befd068 100644
--- a/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -288,7 +288,7 @@ For a more detailed introduction to usage, please check the official manual (htt
 
 In addition to the examples above, the following statements are supported:
 
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index 4d2b278687..b218b3ed2c 100644
--- a/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -118,7 +118,7 @@ Now you are ready to use your interpreter.
 We provide some simple SQL to show the use of Zeppelin-IoTDB interpreter:
 
 ```sql
- SET STORAGE GROUP TO root.ln.wf01.wt01;
+ CREATE DATABASE root.ln.wf01.wt01;
  CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;
  CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;
  CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;
diff --git a/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md b/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
index 2fc15721b8..2c0882f57b 100644
--- a/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
+++ b/docs/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
@@ -47,9 +47,9 @@ Two machines A and B, which are installed with iotdb, we want to continuously sy
 - The sender side of the sync-tool currently supports IoTDB version 1.0 **only if data_replication_factor is set to 1**. The receiver side supports any IoTDB version 1.0 configuration
 - A normal Pipe has two states: RUNNING indicates that it is synchronizing data to the receiver, and STOP indicates that synchronization to the receiver is suspended.
 - When one or more senders send data to a receiver, there should be no intersection between the respective device path sets of these senders and receivers, otherwise unexpected errors may occur.
-  - e.g. When sender A includes path `root.sg.d.s`, sender B also includes the path `root.sg.d.s`, sender A deletes storage group `root.sg` will also delete all data of B stored in the path `root.sg.d.s` at receiver.
+  - e.g. When sender A includes path `root.sg.d.s`, sender B also includes the path `root.sg.d.s`, sender A deletes database `root.sg` will also delete all data of B stored in the path `root.sg.d.s` at receiver.
 - The two "ends" do not support synchronization with each other.
-- The Sync Tool only synchronizes insertions, delete data, delete timeseires. If no storage group is created on the receiver, a storage group of the same level as the sender will be automatically created. Do not support TTL settings, trigger and other operations.
+- The Sync Tool only synchronizes insertions, delete data, delete timeseires. If no database is created on the receiver, a database of the same level as the sender will be automatically created. Do not support TTL settings, trigger and other operations.
   - If TTL is set on the sender side, all unexpired data in the IoTDB and all future data writes and deletions will be synchronized to the receiver side when Pipe is started.
 - When operating a synchronization task, ensure that all DataNode nodes in `SHOW DATANODES` that are in the Running state are connected, otherwise the execution will fail.
 
@@ -231,7 +231,7 @@ IoTDB> DROP PIPE <PipeName>
   - `status`: the Pipe's status.
   - `attributes`: the attributes of Pipe
     - When role is sender, the value of this field is the synchronization start time of the Pipe and whether to synchronize the delete operation.
-    - When role is receiver, the value of this field is the name of the storage group corresponding to the synchronization connection created on this DataNode.
+    - When role is receiver, the value of this field is the name of the database corresponding to the synchronization connection created on this DataNode.
 
   - `message`: the status message of this pipe. When pipe runs normally, this column is usually empty. When an exception occurs, messages may appear in  following two states.
     - WARN, this indicates that a data loss or other error has occurred, but the pipe will remain running.
@@ -313,7 +313,7 @@ IoTDB> SHOW PIPE p
 Execute SQL on sender.
 
 ```
-SET STORAGE GROUP TO root.vehicle;
+CREATE DATABASE root.vehicle;
 CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE;
 CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN;
 CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE;
diff --git a/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md b/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
index f5a1856c94..136b06116d 100644
--- a/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
+++ b/docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
@@ -79,7 +79,7 @@ Preparations before the test include starting an IoTDB (single or cluster) insta
 The former means that this method is the first method executed for the IT class and is executed only once. The latter indicates that ```setUp()``` will be executed before each test method in the IT class. 
 
 - Please start IoTDB instance through the factor class, i.e., ```EnvFactory.getEnv().initBeforeClass()```.
-- Data preparation for the test includes registering storage groups, registering time series, and writing time series data as required by the test. It is recommended to implement a separate method within the IT class to prepare the data, such as ```insertData()```. 
+- Data preparation for the test includes registering databases, registering time series, and writing time series data as required by the test. It is recommended to implement a separate method within the IT class to prepare the data, such as ```insertData()```. 
 Please try to take advantage of the ```executeBatch()``` in JDBC or ```insertRecords()``` and ```insertTablets()``` in Session API if multiple statements or operations are to be executed. 
 
 ```java
@@ -137,12 +137,12 @@ The sample code is as follows.
 public void exampleTest() throws Exception {
   try (Connection connection = EnvFactory.getEnv().getConnection();
       Statement statement = connection.createStatement()) {
-    // use execute() to set the storage groups
-    statement.execute("set storage group to root.sg");
-    // use executeQuery() query the storage groups
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    // use execute() to set the databases
+    statement.execute("CREATE DATABASE root.sg");
+    // use executeQuery() query the databases
+    try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       if (resultSet.next()) {
-        String storageGroupPath = resultSet.getString("storage group");
+        String storageGroupPath = resultSet.getString("database");
         Assert.assertEquals("root.sg", storageGroupPath);
       } else {
         Assert.fail("This ResultSet is empty.");
diff --git a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 4f78031b49..55c226b432 100644
--- a/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -22,7 +22,7 @@
 # Maintenance Command
 ## FLUSH
 
-Persist all the data points in the memory table of the storage group to the disk, and seal the data file. In cluster mode, we provide commands to persist the specified storage group cache of local node and persist the specified storage group cache of the cluster.
+Persist all the data points in the memory table of the database to the disk, and seal the data file. In cluster mode, we provide commands to persist the specified database cache of local node and persist the specified database cache of the cluster.
 
 Note: This command does not need to be invoked manually by the client. IoTDB has WAL to ensure data security
 and IoTDB will flush when appropriate.
@@ -149,7 +149,7 @@ IoTDB> create timeseries root.ln.d1.s1 with datatype=BOOLEAN,encoding=PLAIN
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|     Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
@@ -171,7 +171,7 @@ IoTDB> insert into root.ln.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|     Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
@@ -305,13 +305,13 @@ Currently, IoTDB supports Region query using the following SQL:
 - `SHOW REGIONS`: Show distribution of all Regions
 - `SHOW SCHEMA REGIONS`: Show distribution of all SchemaRegions
 - `SHOW DATA REGIONS`: Show distribution of all DataRegions
-- `SHOW (DATA|SCHEMA)? REGIONS OF STORAGE GROUP <sg1,sg2,...>`: Show Region distribution of specified StorageGroups
+- `SHOW (DATA|SCHEMA)? REGIONS OF DATABASE <sg1,sg2,...>`: Show Region distribution of specified StorageGroups
 
 Show distribution of all Regions:
 ```
 IoTDB> show regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -334,7 +334,7 @@ Show the distribution of SchemaRegions or DataRegions:
 ```
 IoTDB> show data regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -348,7 +348,7 @@ It costs 0.011s
 
 IoTDB> show schema regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         1|0.0.0.0|   6667|Follower|
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         2|0.0.0.0|   6668|Follower|
@@ -364,9 +364,9 @@ It costs 0.012s
 Show Region distribution of specified StorageGroups:
 
 ```
-IoTDB> show regions of storage group root.sg1
+IoTDB> show regions of database root.sg1
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -378,9 +378,9 @@ IoTDB> show regions of storage group root.sg1
 Total line number = 6
 It costs 0.007s
 
-IoTDB> show regions of storage group root.sg1, root.sg2
+IoTDB> show regions of database root.sg1, root.sg2
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -398,9 +398,9 @@ IoTDB> show regions of storage group root.sg1, root.sg2
 Total line number = 12
 It costs 0.009s
 
-IoTDB> show data regions of storage group root.sg1, root.sg2
+IoTDB> show data regions of database root.sg1, root.sg2
 +--------+----------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|      Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|      Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+----------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -412,9 +412,9 @@ IoTDB> show data regions of storage group root.sg1, root.sg2
 Total line number = 6
 It costs 0.007s
 
-IoTDB> show schema regions of storage group root.sg1, root.sg2
+IoTDB> show schema regions of database root.sg1, root.sg2
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         1|0.0.0.0|   6667|Follower|
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         2|0.0.0.0|   6668|Follower|
@@ -436,7 +436,7 @@ The Region statuses are defined as follows:
 
 ## Monitoring tool for cluster slots routing
 
-A cluster uses partitions for data and metadata arrangement, with a storage group's metadata partitions defined as series slot, and data partitions as <series slot, time slot> pair. To acquire this part of information, you can use the following SQLs for query:
+A cluster uses partitions for data and metadata arrangement, with a database's metadata partitions defined as series slot, and data partitions as <series slot, time slot> pair. To acquire this part of information, you can use the following SQLs for query:
 
 ### Trace regionid of data partitions
 
@@ -481,7 +481,7 @@ Total line number = 1
 It costs 0.007s
 ```
 ### Trace time slots of a series slot
-Show the time slots under particular series slot in a storage group.
+Show the time slots under particular series slot in a database.
 - `SHOW TIMESLOTID OF root.sg WHERE SERIESLOTID=s0 (AND STARTTIME=t1) (AND ENDTIME=t2)`
 
 SQL Examples:
@@ -496,8 +496,8 @@ IoTDB> show timeslotid of root.sg where seriesslotid=5286
 Total line number = 1
 It costs 0.007s
 ```
-### Trace storage group's series slots
-Show the data/schema/whole series slots related to a storage group:
+### Trace database's series slots
+Show the data/schema/whole series slots related to a database:
 - `SHOW (DATA|SCHEMA)? SERIESSLOTID OF root.sg`
 
 SQL Examples:
@@ -530,4 +530,4 @@ Total line number = 1
 It costs 0.006s
 ```
 #### Note:
-Normally, the data and schema series slots are the same in the storage group. Yet we still provide different sqls in case they're not.
\ No newline at end of file
+Normally, the data and schema series slots are the same in the database. Yet we still provide different sqls in case they're not.
\ No newline at end of file
diff --git a/docs/UserGuide/Maintenance-Tools/NodeTool.md b/docs/UserGuide/Maintenance-Tools/NodeTool.md
index 45d87414d8..e6ea917ed3 100644
--- a/docs/UserGuide/Maintenance-Tools/NodeTool.md
+++ b/docs/UserGuide/Maintenance-Tools/NodeTool.md
@@ -93,13 +93,13 @@ The above output shows that there are three nodes in the current cluster,
 and the output results are ordered by their identifier ascendant.
 
 ### Query data partition and metadata partition
-The time series metadata of distributed iotdb is divided into multiple data groups according to their storage groups,
-in which the storage group and data partition are many to one relationship.
+The time series metadata of distributed iotdb is divided into multiple data groups according to their databases,
+in which the database and data partition are many to one relationship.
 
-That is, all metadata of a storage group only exists in the same data group,
-and a data group may contain multiple storage groups.
+That is, all metadata of a database only exists in the same data group,
+and a data group may contain multiple databases.
 
-The data is divided into multiple data groups according to its storage group and timestamp,
+The data is divided into multiple data groups according to its database and timestamp,
 and the time partition granularity is decided by a configuration (currently unavailable).
 
 The data partition is composed of several replica nodes to ensure high availability of data,
@@ -115,7 +115,7 @@ Through this instruction, the user can know the metadata of a certain path,
 |Parameter|Description|Examples|
 | --- | --- | --- |
 |-m | --metadata	Query metadata partition, by default only query data partition|	-m |
-|-path | --path 	Required parameter, the path to be queried. If the path has no corresponding storage group, the query fails|	-path root.guangzhou.d1|
+|-path | --path 	Required parameter, the path to be queried. If the path has no corresponding database, the query fails|	-path root.guangzhou.d1|
 |-st | --StartTime	The system uses the current partition time by default|	-st 1576724778159 |
 |-et | --EndTime	It is used when querying data partition.<br>The end time is the current system time by default. <br> If the end time is less than the start time, the end time is the start time by default|-et 1576724778159 |
 
@@ -128,7 +128,7 @@ Through this instruction, the user can know the metadata of a certain path,
 
 > Suppose that the current cluster runs on three nodes: 127.0.0.1:9003:40010:6667, 127.0.0.1:9005:40012:6668, and 127.0.0.1:9007:40014:6669.
 > 
-> The number of copies is 2 and there are 3 storage groups:{ root.beijing , root.shanghai , root.guangzhou}.
+> The number of copies is 2 and there are 3 databases:{ root.beijing , root.shanghai , root.guangzhou}.
 
 + Partition of query data (default time range, time partition interval is one day)
 
diff --git a/docs/UserGuide/Monitor-Alert/Metric-Tool.md b/docs/UserGuide/Monitor-Alert/Metric-Tool.md
index a676169bd5..12345ebfc9 100644
--- a/docs/UserGuide/Monitor-Alert/Metric-Tool.md
+++ b/docs/UserGuide/Monitor-Alert/Metric-Tool.md
@@ -134,8 +134,8 @@ Next, we will choose Prometheus format data as samples to describe each kind of
 | data_node                 | name="total",status="Registered/Online/Unknown"                    | core      | The number of registered/online/offline datanodes                                            | data_node{name="total",status="Registered",} 3.0                             |
 | partition_table           | name="number"                                                      | core      | The number of partition table                                                                | partition_table{name="number",} 2.0                                          |
 | region                    | name="total/{{ip}}:{{port}}",type="SchemaRegion/DataRegion"        | important | The number of schemaRegion/dataRegion of cluster or specific node                            | region{name="127.0.0.1:6671",type="DataRegion",} 10.0                        |
-| region                    | name="{{storageGroupName}}",type="SchemaRegion/DataRegion"         | normal    | The number of DataRegion/SchemaRegion in storage group                                       | region{name="root.schema.sg1",type="DataRegion",} 14.0                       |
-| slot                      | name="{{storageGroupName}}",type="schemaSlotNumber/dataSlotNumber" | normal    | The number of dataSlot/schemaSlot in storage group                                           | slot{name="root.schema.sg1",type="schemaSlotNumber",} 2.0                    |
+| region                    | name="{{storageGroupName}}",type="SchemaRegion/DataRegion"         | normal    | The number of DataRegion/SchemaRegion in database                                       | region{name="root.schema.sg1",type="DataRegion",} 14.0                       |
+| slot                      | name="{{storageGroupName}}",type="schemaSlotNumber/dataSlotNumber" | normal    | The number of dataSlot/schemaSlot in database                                           | slot{name="root.schema.sg1",type="schemaSlotNumber",} 2.0                    |
 
 ##### 1.3.3.6.2. MultiLeader
 | Metric       | Tag                                                                                          | level     | 说明                                                                          | 示例                                                                                                             |
@@ -389,7 +389,7 @@ When creating Grafana, you can select the json file you just downloaded to `Impo
 1. `Overview`:
    1. `The number of entity`: The number of entities, currently including the number of timeseries
    2. `write point per minute`: the cumulative number of write points per minute
-   3. `storage group used memory`: The memory size used by each storage group
+   3. `database used memory`: The memory size used by each database
 2. `Interface`:
    1. `The QPS of Interface`: The number of times the system interface is accessed per second
    2. `The time consumed of Interface`: The average time consumed by the system interface
@@ -425,8 +425,8 @@ When creating Grafana, you can select the json file you just downloaded to `Impo
 3. `Region`:
    1. `Total Region in Node`: The total number of Regions in different Nodes
    2. `Region in Node`: The number of Regions in different Nodes, including SchemaRegion, DataRegion
-   3. `Region in Storage Group` (Normal level): The number of Regions in different storage groups, including SchemaRegion, DataRegion
-   4. `Slot in Storage Group` (Normal level): The number of Slots in different storage groups, including the number of DataSlots and the number of SchemaSlots
+   3. `Region in Database` (Normal level): The number of Regions in different databases, including SchemaRegion, DataRegion
+   4. `Slot in Database` (Normal level): The number of Slots in different databases, including the number of DataSlots and the number of SchemaSlots
 4. `System`:
    1. `The number of GC(per minute)`: The number of GCs per minute of IoTDB, including Young GC and Full GC.
    2. `The time consumed of GC (per minute)`: IoTDB's average GC time per minute, including Young GC and Full GC.
@@ -443,7 +443,7 @@ When creating Grafana, you can select the json file you just downloaded to `Impo
 1. `Overview`:
    1. `The number of entity`: The number of entities, currently including the number of timeseries
    2. `write point per minute`: the cumulative number of write points per minute
-   3. `storage group used memory`: The memory size used by each storage group
+   3. `database used memory`: The memory size used by each database
    4. `Memory`:The size of system memory and used system memory
 2. `Interface`:
    1. `The QPS of Interface`: The number of times the system interface is accessed per second
diff --git a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
index dbc303c4d1..131ce07248 100644
--- a/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
+++ b/docs/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
@@ -25,7 +25,7 @@ Automatically creating schema means creating time series based on the characteri
 This function can not only solve the problem that entities and measurements are difficult to predict and model in advance under massive time series scenarios,
 but also provide users with an out-of-the-box writing experience.
 
-## Auto create storage group metadata
+## Auto create database metadata
 
 * enable\_auto\_create\_schema
 
@@ -40,18 +40,18 @@ but also provide users with an out-of-the-box writing experience.
 
 | Name | default\_storage\_group\_level |
 |:---:|:---|
-| Description | Specify which level storage group is in the time series, the default level is 1 (root is on level 0) |
+| Description | Specify which level database is in the time series, the default level is 1 (root is on level 0) |
 | Type | int |
 | Default | 1 |
 | Effective | Only allowed to be modified in first start up |
 
 Illustrated as the following figure:
 
-* When default_storage_group_level=1, root.turbine1 and root.turbine2 will be set as storage group.
+* When default_storage_group_level=1, root.turbine1 and root.turbine2 will be created as database.
 
-* When default_storage_group_level=2, root.turbine1.d1, root.turbine1.d2, root.turbine2.d1 and root.turbine2.d2 will be set as storage group.
+* When default_storage_group_level=2, root.turbine1.d1, root.turbine1.d2, root.turbine2.d1 and root.turbine2.d2 will be created as database.
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create database example">
 
 ## Auto create time series metadata(specify data type in the frontend)
 
diff --git a/docs/UserGuide/Operate-Metadata/Node.md b/docs/UserGuide/Operate-Metadata/Node.md
index 9b85d4aaec..3fda6a31bb 100644
--- a/docs/UserGuide/Operate-Metadata/Node.md
+++ b/docs/UserGuide/Operate-Metadata/Node.md
@@ -28,7 +28,7 @@ SHOW CHILD PATHS pathPattern
 
 Return all child paths and their node types of all the paths matching pathPattern.
 
-node types: ROOT -> SG INTERNAL -> STORAGE GROUP -> INTERNAL -> DEVICE -> TIMESERIES
+node types: ROOT -> DB INTERNAL -> DATABASE -> INTERNAL -> DEVICE -> TIMESERIES
 
 
 Example:
@@ -134,7 +134,7 @@ It costs 0.002s
 
 ## Show Devices
 
-* SHOW DEVICES pathPattern? (WITH STORAGE GROUP)? limitClause? #showDevices
+* SHOW DEVICES pathPattern? (WITH DATABASE)? limitClause? #showDevices
 
 Similar to `Show Timeseries`, IoTDB also supports two ways of viewing devices:
 
@@ -174,24 +174,24 @@ It costs 0.001s
 
 `isAligned` indicates whether the timeseries under the device are aligned.
 
-To view devices' information with storage group, we can use `SHOW DEVICES WITH STORAGE GROUP` statement.
+To view devices' information with database, we can use `SHOW DEVICES WITH DATABASE` statement.
 
-* `SHOW DEVICES WITH STORAGE GROUP` statement presents all devices' information with their storage group.
-* `SHOW DEVICES <PathPattern> WITH STORAGE GROUP` statement specifies the `PathPattern` and returns the 
-devices' information under the given level with their storage group information.
+* `SHOW DEVICES WITH DATABASE` statement presents all devices' information with their database.
+* `SHOW DEVICES <PathPattern> WITH DATABASE` statement specifies the `PathPattern` and returns the 
+devices' information under the given level with their database information.
 
 SQL statement is as follows:
 
 ```
-IoTDB> show devices with storage group
-IoTDB> show devices root.ln.** with storage group
+IoTDB> show devices with database
+IoTDB> show devices root.ln.** with database
 ```
 
 You can get results below:
 
 ```
 +-------------------+-------------+---------+
-|            devices|storage group|isAligned|
+|            devices|     database|isAligned|
 +-------------------+-------------+---------+
 |  root.ln.wf01.wt01|      root.ln|    false|
 |  root.ln.wf02.wt02|      root.ln|    false|
@@ -202,7 +202,7 @@ Total line number = 4
 It costs 0.003s
 
 +-----------------+-------------+---------+
-|          devices|storage group|isAligned|
+|          devices|     database|isAligned|
 +-----------------+-------------+---------+
 |root.ln.wf01.wt01|      root.ln|    false|
 |root.ln.wf02.wt02|      root.ln|    false|
diff --git a/docs/UserGuide/Operate-Metadata/Storage-Group.md b/docs/UserGuide/Operate-Metadata/Storage-Group.md
index 7048d01ec4..4e358535b8 100644
--- a/docs/UserGuide/Operate-Metadata/Storage-Group.md
+++ b/docs/UserGuide/Operate-Metadata/Storage-Group.md
@@ -19,47 +19,45 @@
 
 -->
 
-# Storage Group Management
+# Database Management
 
-Storage Group can be regarded as Database in the relational database.
+## Create Database
 
-## Create Storage Group
-
-According to the storage model we can set up the corresponding storage group. Two SQL statements are supported for creating storage groups, as follows:
+According to the storage model we can set up the corresponding database. Two SQL statements are supported for creating databases, as follows:
 
 ```
-IoTDB > set storage group to root.ln
-IoTDB > create storage group root.sgcc
+IoTDB > create database root.ln
+IoTDB > create database root.sgcc
 ```
 
-We can thus create two storage groups using the above two SQL statements.
+We can thus create two databases using the above two SQL statements.
 
-It is worth noting that when the path itself or the parent/child layer of the path is already set as a storage group, the path is then not allowed to be set as a storage group. For example, it is not feasible to set `root.ln.wf01` as a storage group when two storage groups `root.ln` and `root.sgcc` exist. The system gives the corresponding error prompt as shown below:
+It is worth noting that when the path itself or the parent/child layer of the path is already created as database, the path is then not allowed to be created as database. For example, it is not feasible to create `root.ln.wf01` as database when two databases `root.ln` and `root.sgcc` exist. The system gives the corresponding error prompt as shown below:
 
 ```
-IoTDB> set storage group to root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
-IoTDB> create storage group root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
+IoTDB> CREATE DATABASE root.ln.wf01
+Msg: 300: root.ln has already been created as database.
+IoTDB> create database root.ln.wf01
+Msg: 300: root.ln has already been created as database.
 ```
-The LayerName of storage group can only be characters, numbers, underscores. If you want to set it to pure numbers or contain other characters, you need to enclose the storage group name with backticks (``). 
+The LayerName of database can only be characters, numbers, underscores. If you want to set it to pure numbers or contain other characters, you need to enclose the database name with backticks (``). 
  
-Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to set storage groups `root.ln` and `root.LN` at the same time.
+Besides, if deploy on Windows system, the LayerName is case-insensitive, which means it's not allowed to create databases `root.ln` and `root.LN` at the same time.
 
-## Show Storage Group
+## SHOW DATABASES
 
-After creating the storage group, we can use the [SHOW STORAGE GROUP](../Reference/SQL-Reference.md) statement and [SHOW STORAGE GROUP \<PathPattern>](../Reference/SQL-Reference.md) to view the storage groups. The SQL statements are as follows:
+After creating the database, we can use the [SHOW DATABASES](../Reference/SQL-Reference.md) statement and [SHOW DATABASES \<PathPattern>](../Reference/SQL-Reference.md) to view the databases. The SQL statements are as follows:
 
 ```
-IoTDB> show storage group
-IoTDB> show storage group root.**
+IoTDB> SHOW DATABASES
+IoTDB> SHOW DATABASES root.**
 ```
 
 The result is as follows:
 
 ```
 +-------------+----+-------------------------+-----------------------+-----------------------+
-|storage group| ttl|schema_replication_factor|data_replication_factor|time_partition_interval|
+|database| ttl|schema_replication_factor|data_replication_factor|time_partition_interval|
 +-------------+----+-------------------------+-----------------------+-----------------------+
 |    root.sgcc|null|                        2|                      2|                 604800|
 |      root.ln|null|                        2|                      2|                 604800|
@@ -68,36 +66,35 @@ Total line number = 2
 It costs 0.060s
 ```
 
-## Delete Storage Group
+## Delete Database
 
-User can use the `DELETE STORAGE GROUP <PathPattern>` statement to delete all storage groups matching the pathPattern. Please note the data in the storage group will also be deleted. 
+User can use the `DELETE DATABASE <PathPattern>` statement to delete all databases matching the pathPattern. Please note the data in the database will also be deleted. 
 
 ```
-IoTDB > DELETE STORAGE GROUP root.ln
-IoTDB > DELETE STORAGE GROUP root.sgcc
-// delete all data, all timeseries and all storage groups
-IoTDB > DELETE STORAGE GROUP root.**
+IoTDB > DELETE DATABASE root.ln
+IoTDB > DELETE DATABASE root.sgcc
+// delete all data, all timeseries and all databases
+IoTDB > DELETE DATABASE root.**
 ```
 
-## Count Storage Group
+## Count Database
 
-User can use the `COUNT STORAGE GROUP <PathPattern>` statement to count the number of storage groups. It is allowed to specify `PathPattern` to count the number of storage groups matching the `PathPattern`.
+User can use the `COUNT DATABASE <PathPattern>` statement to count the number of databases. It is allowed to specify `PathPattern` to count the number of databases matching the `PathPattern`.
 
 SQL statement is as follows:
 
 ```
-IoTDB> show storage group
-IoTDB> count storage group
-IoTDB> count storage group root.*
-IoTDB> count storage group root.sgcc.*
-IoTDB> count storage group root.sgcc
+IoTDB> count databases
+IoTDB> count databases root.*
+IoTDB> count databases root.sgcc.*
+IoTDB> count databases root.sgcc
 ```
 
 The result is as follows:
 
 ```
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |    root.sgcc|
 | root.turbine|
@@ -107,7 +104,7 @@ Total line number = 3
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            3|
 +-------------+
@@ -115,7 +112,7 @@ Total line number = 1
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            3|
 +-------------+
@@ -123,7 +120,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            0|
 +-------------+
@@ -131,7 +128,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            1|
 +-------------+
diff --git a/docs/UserGuide/Operate-Metadata/Template.md b/docs/UserGuide/Operate-Metadata/Template.md
index 487d493cc7..7237e3d67c 100644
--- a/docs/UserGuide/Operate-Metadata/Template.md
+++ b/docs/UserGuide/Operate-Metadata/Template.md
@@ -51,9 +51,9 @@ The` lat` and `lon` measurements are aligned.
 
 After a schema template is created, it should be set to specific path before creating related timeseries or insert data.
 
-**It should be ensured that the related storage group has been set before setting template.**
+**It should be ensured that the related database has been set before setting template.**
 
-**It is recommended to set schema template to storage group path. It is not suggested to set schema template to some path above storage group**
+**It is recommended to set schema template to database path. It is not suggested to set schema template to some path above database**
 
 
 The SQL Statement for setting schema template is as follow:
@@ -64,7 +64,7 @@ IoTDB> set schema template t1 to root.sg1.d1
 
 ## Activate Schema Template
 
-After setting the schema template, with the system enabled to auto create schema, you can insert data into the timeseries. For example, suppose there's a storage group root.sg1 and t1 has been set to root.sg1.d1, then timeseries like root.sg1.d1.temperature and root.sg1.d1.status are available and data points can be inserted.
+After setting the schema template, with the system enabled to auto create schema, you can insert data into the timeseries. For example, suppose there's a database root.sg1 and t1 has been set to root.sg1.d1, then timeseries like root.sg1.d1.temperature and root.sg1.d1.status are available and data points can be inserted.
 
 
 **Attention**: Before inserting data or the system not enabled to auto create schema, timeseries defined by the schema template will not be created. You can use the following SQL statement to create the timeseries or activate the schema template, act before inserting data:
@@ -87,14 +87,14 @@ show timeseries root.sg1.**
 ````
 
 ```shell
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
-|             timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
-|root.sg1.d1.temperature| null|     root.sg1|   FLOAT|     RLE|     SNAPPY|null|      null|
-|     root.sg1.d1.status| null|     root.sg1| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-|        root.sg1.d2.lon| null|     root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
-|        root.sg1.d2.lat| null|     root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
-+-----------------------+-----+-------------+--------+--------+-----------+----+----------+
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
+|             timeseries|alias|database|dataType|encoding|compression|tags|attributes|
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
+|root.sg1.d1.temperature| null|root.sg1|   FLOAT|     RLE|     SNAPPY|null|      null|
+|     root.sg1.d1.status| null|root.sg1| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|        root.sg1.d2.lon| null|root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
+|        root.sg1.d2.lat| null|root.sg1|   FLOAT| GORILLA|     SNAPPY|null|      null|
++-----------------------+-----+--------+--------+--------+-----------+----+----------+
 ```
 
 Show the devices:
diff --git a/docs/UserGuide/Operate-Metadata/Timeseries.md b/docs/UserGuide/Operate-Metadata/Timeseries.md
index 5fe625e46d..b9eaa1eb93 100644
--- a/docs/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/UserGuide/Operate-Metadata/Timeseries.md
@@ -23,7 +23,7 @@
 
 ## Create Timeseries
 
-According to the storage model selected before, we can create corresponding timeseries in the two storage groups respectively. The SQL statements for creating timeseries are as follows:
+According to the storage model selected before, we can create corresponding timeseries in the two databases respectively. The SQL statements for creating timeseries are as follows:
 
 ```
 IoTDB > create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN
@@ -86,7 +86,7 @@ IoTDB> drop timeseries root.ln.wf02.*
   There are four optional clauses added in SHOW TIMESERIES, return information of time series 
   
 
-Timeseries information includes: timeseries path, alias of measurement, storage group it belongs to, data type, encoding type, compression type, tags and attributes.
+Timeseries information includes: timeseries path, alias of measurement, database it belongs to, data type, encoding type, compression type, tags and attributes.
 
 Examples:
 
@@ -107,7 +107,7 @@ The results are shown below respectively:
 
 ```
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
+|                     timeseries|   alias|     database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -120,14 +120,14 @@ The results are shown below respectively:
 Total line number = 7
 It costs 0.016s
 
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|   root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|null|      null|
-|     root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-|root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
-|     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
-+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
+|   root.ln.wf02.wt02.hardware| null| root.ln|    TEXT|   PLAIN|     SNAPPY|null|      null|
+|     root.ln.wf02.wt02.status| null| root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|root.ln.wf01.wt01.temperature| null| root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
+|     root.ln.wf01.wt01.status| null| root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
++-----------------------------+-----+--------+--------+--------+-----------+----+----------+
 Total line number = 4
 It costs 0.004s
 ```
@@ -164,8 +164,8 @@ Besides, `LEVEL` could be defined to show count the number of timeseries of each
 For example, if there are several timeseries (use `show timeseries` to show all timeseries):
 
 ```
-+-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
++-------------------------------+--------+--------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
+|                     timeseries|   alias|database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -289,7 +289,7 @@ The results are shown below respectly:
 
 ```
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
-|                timeseries|alias|storage group|dataType|encoding|compression|        tags|attributes|
+|                timeseries|alias|     database|dataType|encoding|compression|        tags|attributes|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
 |root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|{"unit":"c"}|      null|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
@@ -297,7 +297,7 @@ Total line number = 1
 It costs 0.005s
 
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|                   tags|attributes|
+|              timeseries|alias|     database|dataType|encoding|compression|                   tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
 |root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|{"description":"test1"}|      null|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
@@ -363,7 +363,7 @@ The execution result is as follows:
 
 ```
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|     database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 |root.sg1.d1.s2| null|     root.sg1|  DOUBLE| GORILLA|     SNAPPY|{"tag4":"v4","tag3":"v3"}|{"attr4":"v4","attr3":"v3"}|
@@ -373,11 +373,11 @@ The execution result is as follows:
 Support query:
 
 ```
-IoTDB> show storage group where tag1='v1'
+IoTDB> show databases where tag1='v1'
 Msg: 401: Error occurred while parsing SQL to physical plan: line 1:19 mismatched input 'where' expecting {<EOF>, ';'}
 IoTDB> show timeseries where tag1='v1'
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|     database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
diff --git a/docs/UserGuide/Process-Data/Continuous-Query.md b/docs/UserGuide/Process-Data/Continuous-Query.md
index b7a73514aa..4f744c7c8b 100644
--- a/docs/UserGuide/Process-Data/Continuous-Query.md
+++ b/docs/UserGuide/Process-Data/Continuous-Query.md
@@ -384,7 +384,7 @@ BEGIN
 END
 ```
 
-`cq5` calculates the `temperature + 1` under the `root.ln` prefix path and stores the results in the `root.precalculated_sg` storage group. Sensors use the same prefix path as the corresponding sensor.
+`cq5` calculates the `temperature + 1` under the `root.ln` prefix path and stores the results in the `root.precalculated_sg` database. Sensors use the same prefix path as the corresponding sensor.
 
 `cq5` executes at 20-second intervals, the same interval as the `EVERY` interval. Every 20 seconds, `cq5` runs a single query that covers the time range for the current time bucket, that is, the 20-second time bucket that intersects with `now()`.
 
@@ -527,7 +527,7 @@ CQs can't be altered once they're created. To change a CQ, you must `DROP` and r
 
 ### Downsampling and Data Retention
 
-Use CQs with `TTL` set on storage group in IoTDB to mitigate storage concerns. Combine CQs and `TTL` to automatically downsample high precision data to a lower precision and remove the dispensable, high precision data from the database.
+Use CQs with `TTL` set on database in IoTDB to mitigate storage concerns. Combine CQs and `TTL` to automatically downsample high precision data to a lower precision and remove the dispensable, high precision data from the database.
 
 ### Recalculating expensive queries
 
diff --git a/docs/UserGuide/Process-Data/Select-Into.md b/docs/UserGuide/Process-Data/Select-Into.md
index 96e01bf783..dd82e90023 100644
--- a/docs/UserGuide/Process-Data/Select-Into.md
+++ b/docs/UserGuide/Process-Data/Select-Into.md
@@ -85,7 +85,7 @@ IoTDB> select s1, s2 into root.sg_copy.d1(t1), root.sg_copy.d2(t1, t2), root.sg_
 Total line number = 4
 It costs 0.725s
 ```
-This statement writes the query results of the four time series under the `root.sg` storage group to the four specified time series under the `root.sg_copy` storage group. Note that `root.sg_copy.d2(t1, t2)` can also be written as `root.sg_copy.d2(t1), root.sg_copy.d2(t2)`.
+This statement writes the query results of the four time series under the `root.sg` database to the four specified time series under the `root.sg_copy` database. Note that `root.sg_copy.d2(t1, t2)` can also be written as `root.sg_copy.d2(t1), root.sg_copy.d2(t2)`.
 
 We can see that the writing of the `INTO` clause is very flexible as long as the combined target time series is not repeated and corresponds to the query result column one-to-one.
 
@@ -128,7 +128,7 @@ IoTDB> select s1, s2 into root.sg_copy.d1(t1, t2), root.sg_copy.d2(t1, t2) from
 Total line number = 4
 It costs 0.625s
 ```
-This statement also writes the query results of the four time series under the `root.sg` storage group to the four specified time series under the `root.sg_copy` storage group. However, in ALIGN BY DEVICE, the number of `intoItem` must be the same as the number of queried devices, and each queried device corresponds to one `intoItem`.
+This statement also writes the query results of the four time series under the `root.sg` database to the four specified time series under the `root.sg_copy` database. However, in ALIGN BY DEVICE, the number of `intoItem` must be the same as the number of queried devices, and each queried device corresponds to one `intoItem`.
 
 It is easy to see that in the case of ALIGN BY DEVICE query, columns under the same device can only be written to the same target device.
 
@@ -268,7 +268,7 @@ We can use the `ALIGNED` keyword to specify the target device for writing to be
 
 - For general aggregation queries, the timestamp is meaningless, and the convention is to use 0 to store.
 - When the target time series exists, the metadata information such as the data type, compression,  encoding, and whether it belongs to the aligned device of the source time series and the target time series must be consistent.
-- When the target time series does not exist, the system automatically creates it (including the storage group).
+- When the target time series does not exist, the system automatically creates it (including the database).
 - When the queried time series does not exist, or the queried sequence does not have data, the target time series will not be created automatically.
 
 ## Application examples
diff --git a/docs/UserGuide/Query-Data/Aggregate-Query.md b/docs/UserGuide/Query-Data/Aggregate-Query.md
index b23d21ef38..bf7100c825 100644
--- a/docs/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/UserGuide/Query-Data/Aggregate-Query.md
@@ -72,7 +72,7 @@ Aggregation by level statement is used to group the query result whose name is t
 - Keyword `LEVEL` is used to specify the level that need to be grouped.  By convention, `level=0` represents *root* level. 
 - All aggregation functions are supported. When using five aggregations: sum, avg, min_value, max_value and extreme, please make sure all the aggregated series have exactly the same data type. Otherwise, it will generate a syntax error.
 
-**Example 1:** there are multiple series named `status` under different storage groups, like "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", and "root.sgcc.wf03.wt01.status". If you need to count the number of data points of the `status` sequence under different storage groups, use the following query:
+**Example 1:** there are multiple series named `status` under different databases, like "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", and "root.sgcc.wf03.wt01.status". If you need to count the number of data points of the `status` sequence under different databases, use the following query:
 
 ```sql
 select count(status) from root.** group by level = 1
@@ -108,7 +108,7 @@ Total line number = 1
 It costs 0.003s
 ```
 
-**Example 3:** Attention,the devices named `wt01` under storage groups `ln` and `sgcc` are grouped together, since they are regarded as devices with the same name. If you need to further count the number of data points in different devices under different storage groups, you can use the following query:
+**Example 3:** Attention,the devices named `wt01` under databases `ln` and `sgcc` are grouped together, since they are regarded as devices with the same name. If you need to further count the number of data points in different devices under different databases, you can use the following query:
 
 ```sql
 select count(status) from root.** group by level = 1, 3
@@ -471,7 +471,7 @@ The devices `d1` and `d2` belong to the workshop `d1` in `Beijing`.
 
 
 ```SQL
-set storage group to root.factory1;
+CREATE DATABASE root.factory1;
 create timeseries root.factory1.d1.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d2.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d3.temperature with datatype=FLOAT tags(city=Beijing, workshop=w2);
diff --git a/docs/UserGuide/Query-Data/Select-Expression.md b/docs/UserGuide/Query-Data/Select-Expression.md
index 8df849d69e..9ae1f0d4b5 100644
--- a/docs/UserGuide/Query-Data/Select-Expression.md
+++ b/docs/UserGuide/Query-Data/Select-Expression.md
@@ -417,7 +417,7 @@ The IoTDB currently supports 6 data types, including INT32, INT64 ,FLOAT, DOUBLE
 ```
 IoTDB> show timeseries root.sg.d1.*;
 +-------------+-----+-------------+--------+--------+-----------+----+----------+
-|   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|   timeseries|alias|     database|dataType|encoding|compression|tags|attributes|
 +-------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.sg.d1.s3| null|      root.sg|   FLOAT|     RLE|     SNAPPY|null|      null|
 |root.sg.d1.s4| null|      root.sg|  DOUBLE|     RLE|     SNAPPY|null|      null|
diff --git a/docs/UserGuide/QuickStart/Command-Line-Interface.md b/docs/UserGuide/QuickStart/Command-Line-Interface.md
index b09d6caf6d..5d1ba55d67 100644
--- a/docs/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/UserGuide/QuickStart/Command-Line-Interface.md
@@ -86,7 +86,7 @@ Enter ```quit``` or `exit` can exit Cli. The cli will shows `quit normally`
 |-pw <`password`>|string, no quotation marks|No|The password used for IoTDB to connect to the server. If no password is entered, IoTDB will ask for password in Cli command|-pw root|
 |-u <`username`>|string, no quotation marks|Yes|User name used for IoTDB to connect the server|-u root|
 |-maxPRC <`maxPrintRowCount`>|int|No|Set the maximum number of rows that IoTDB returns|-maxPRC 10|
-|-e <`execute`> |string|No|manipulate IoTDB in batches without entering cli input mode|-e "show storage group"|
+|-e <`execute`> |string|No|manipulate IoTDB in batches without entering cli input mode|-e "show databases"|
 |-c | empty | No | If the server enables `rpc_thrift_compression_enable=true`, then cli must use `-c` | -c |
 
 Following is a cli command which connects the host with IP
@@ -168,7 +168,7 @@ Shell >./standalone.sh
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
 
-9、 Enter `iotdb_admin` in the Role Name and click the save button. Tip: `iotdb_admin` here cannot be any other name, otherwise even after successful login, you will not have permission to use iotdb's query, insert, create storage group, add users, roles and other functions
+9、 Enter `iotdb_admin` in the Role Name and click the save button. Tip: `iotdb_admin` here cannot be any other name, otherwise even after successful login, you will not have permission to use iotdb's query, insert, create database, add users, roles and other functions
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
 
@@ -244,7 +244,7 @@ In the Windows environment, the SQL statement of the -e parameter needs to use `
 
 In order to better explain the use of -e parameter, take following as an example(On linux system).
 
-Suppose you want to create a storage group root.demo to a newly launched IoTDB, create a timeseries root.demo.s1 and insert three data points into it. With -e parameter, you could write a shell like this:
+Suppose you want to create a database root.demo to a newly launched IoTDB, create a timeseries root.demo.s1 and insert three data points into it. With -e parameter, you could write a shell like this:
 
 ```shell
 # !/bin/bash
@@ -254,7 +254,7 @@ rpcPort=6667
 user=root
 pass=root
 
-./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "set storage group to root.demo"
+./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create database root.demo"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create timeseries root.demo.s1 WITH DATATYPE=INT32, ENCODING=RLE"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(1,10)"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(2,11)"
diff --git a/docs/UserGuide/QuickStart/QuickStart.md b/docs/UserGuide/QuickStart/QuickStart.md
index 7e18060787..f101302840 100644
--- a/docs/UserGuide/QuickStart/QuickStart.md
+++ b/docs/UserGuide/QuickStart/QuickStart.md
@@ -137,25 +137,25 @@ IoTDB>
 
 Now, let us introduce the way of creating timeseries, inserting data and querying data. 
 
-The data in IoTDB is organized as timeseries, in each timeseries there are some data-time pairs, and every timeseries is owned by a storage group. Before defining a timeseries, we should define a storage group using SET STORAGE GROUP, and here is an example: 
+The data in IoTDB is organized as timeseries, in each timeseries there are some data-time pairs, and every timeseries is owned by a database. Before defining a timeseries, we should define a database using create DATABASE, and here is an example: 
 
 ``` 
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> create database root.ln
 ```
 
-We can also use SHOW STORAGE GROUP to check created storage group:
+We can also use SHOW DATABASES to check created databases:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 +-----------------------------------+
-|                      Storage Group|
+|                           Database|
 +-----------------------------------+
 |                            root.ln|
 +-----------------------------------+
-storage group number = 1
+Database number = 1
 ```
 
-After the storage group is set, we can use CREATE TIMESERIES to create new timeseries. When we create a timeseries, we should define its data type and the encoding scheme. We create two timeseries as follow:
+After the database is set, we can use CREATE TIMESERIES to create new timeseries. When we create a timeseries, we should define its data type and the encoding scheme. We create two timeseries as follow:
 
 ```
 IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
@@ -169,7 +169,7 @@ To query the specific timeseries, use SHOW TIMESERIES \<Path\>. \<Path\> represe
 ```
 IoTDB> SHOW TIMESERIES
 +-------------------------------+---------------+--------+--------+
-|                     Timeseries|  Storage Group|DataType|Encoding|
+|                     Timeseries|       Database|DataType|Encoding|
 +-------------------------------+---------------+--------+--------+
 |       root.ln.wf01.wt01.status|        root.ln| BOOLEAN|   PLAIN|
 |  root.ln.wf01.wt01.temperature|        root.ln|   FLOAT|     RLE|
@@ -182,7 +182,7 @@ Total timeseries number = 2
 ```
 IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 +------------------------------+--------------+--------+--------+
-|                    Timeseries| Storage Group|DataType|Encoding|
+|                    Timeseries|      Database|DataType|Encoding|
 +------------------------------+--------------+--------+--------+
 |      root.ln.wf01.wt01.status|       root.ln| BOOLEAN|   PLAIN|
 +------------------------------+--------------+--------+--------+
diff --git a/docs/UserGuide/QuickStart/ServerFileList.md b/docs/UserGuide/QuickStart/ServerFileList.md
index 3f6e87eb06..6e7070e9d3 100644
--- a/docs/UserGuide/QuickStart/ServerFileList.md
+++ b/docs/UserGuide/QuickStart/ServerFileList.md
@@ -64,7 +64,7 @@
 > under directory basedir/wal
 
 1. {StorageGroupName}-{TsFileName}/wal1
-    + every storage group has several wal files, and every memtable has one associated wal file before it is flushed into a TsFile 
+    + every database has several wal files, and every memtable has one associated wal file before it is flushed into a TsFile 
 
 #### TsFile
 > under directory data/sequence or unsequence/{StorageGroupName}/{TimePartitionId}/
@@ -88,7 +88,7 @@
 > under directory basedir/system/storage_groups/{StorageGroupName}/{TimePartitionId} or upgrade
 
 1. Version-{version}
-    + version file, record the max version in fileName of a storage group
+    + version file, record the max version in fileName of a database
 
 #### Upgrade
 > under directory basedir/system/upgrade
diff --git a/docs/UserGuide/Reference/ConfigNode-Config-Manual.md b/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
index 5c3e62bfff..4eff42d69c 100644
--- a/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
+++ b/docs/UserGuide/Reference/ConfigNode-Config-Manual.md
@@ -233,13 +233,13 @@ The global configuration of cluster is in ConfigNode.
 |Default| org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor |
 |Effective|Only allowed to be modified in first start up|
 
-### Storage Group
+### Database
 
 * default\_ttl
 
 |Name| default\_ttl |
 |:---:|:---|
-|Description| Default ttl when each storage group created |
+|Description| Default ttl when each database created |
 |Type| Long |
 |Default| Infinity |
 |Effective|After restarting system|
diff --git a/docs/UserGuide/Reference/DataNode-Config-Manual.md b/docs/UserGuide/Reference/DataNode-Config-Manual.md
index ef9e034d52..9a287522e2 100644
--- a/docs/UserGuide/Reference/DataNode-Config-Manual.md
+++ b/docs/UserGuide/Reference/DataNode-Config-Manual.md
@@ -554,7 +554,7 @@ The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access.
 
 |Name| time\_partition\_interval\_for\_storage                                                                |
 |:---:|:-------------------------------------------------------------------------------------------------------|
-|Description| Time range for dividing storage group, time series data will be divided into groups by this time range |
+|Description| Time range for dividing database, time series data will be divided into groups by this time range |
 |Type| Int64                                                                                                  |
 |Unit| ms                                                                                                     |
 |Default| 604800000                                                                                               |
@@ -565,7 +565,7 @@ The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access.
 
 |Name| concurrent\_writing\_time\_partition |
 |:---:|:---|
-|Description| This config decides how many time partitions in a storage group can be inserted concurrently </br> For example, your partitionInterval is 86400 and you want to insert data in 5 different days, |
+|Description| This config decides how many time partitions in a database can be inserted concurrently </br> For example, your partitionInterval is 86400 and you want to insert data in 5 different days, |
 |Type|Int32|
 |Default| 1 |
 |Effective|After restarting system|
@@ -1082,7 +1082,7 @@ The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access.
 
 |Name| default\_storage\_group\_level |
 |:---:|:---|
-|Description| Storage group level when creating schema automatically is enabled. For example, if we receives a data point from root.sg0.d1.s2, we will set root.sg0 as the storage group if storage group level is 1. (root is level 0)|
+|Description| Database level when creating schema automatically is enabled. For example, if we receives a data point from root.sg0.d1.s2, we will set root.sg0 as the database if database level is 1. (root is level 0)|
 |Type| integer |
 |Default|1 |
 |Effective|After restarting system|
@@ -1127,7 +1127,7 @@ The permission definitions are in ${IOTDB\_CONF}/conf/jmx.access.
 
 |    Name     | data\_region\_num                                                                                                                                                                                                                                                  |
 |:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Description | number of data regions per user-defined storage group, a data region is the unit of parallelism in memory as all ingestions in one data region are serialized, recommended value is [data region number] = [CPU core number] / [user-defined storage group number] |
+| Description | number of data regions per user-defined database, a data region is the unit of parallelism in memory as all ingestions in one data region are serialized, recommended value is [data region number] = [CPU core number] / [user-defined database number] |
 |    Type     | LONG                                                                                                                                                                                                                                                               |
 |   Default   | 1                                                                                                                                                                                                                                                                  |
 |  Effective  | Only allowed to be modified in first start up                                                                                                                                                                                                                      |
diff --git a/docs/UserGuide/Reference/SQL-Reference.md b/docs/UserGuide/Reference/SQL-Reference.md
index a7b58abbb6..28117e9abe 100644
--- a/docs/UserGuide/Reference/SQL-Reference.md
+++ b/docs/UserGuide/Reference/SQL-Reference.md
@@ -48,22 +48,22 @@ It costs 0.417s
 
 ## Schema Statement
 
-* Set Storage Group
+* Create Database
 
 ``` SQL
-SET STORAGE GROUP TO <FullPath>
-Eg: IoTDB > SET STORAGE GROUP TO root.ln.wf01.wt01
+CREATE DATABASE <FullPath>
+Eg: IoTDB > CREATE DATABASE root.ln.wf01.wt01
 Note: FullPath can not include wildcard `*` or `**`
 ```
 
-* Delete Storage Group
+* Delete database
 
 ```
-DELETE STORAGE GROUP <PathPattern> [COMMA <PathPattern>]*
-Eg: IoTDB > DELETE STORAGE GROUP root.ln.wf01.wt01
-Eg: IoTDB > DELETE STORAGE GROUP root.ln.wf01.wt01, root.ln.wf01.wt02
-Eg: IoTDB > DELETE STORAGE GROUP root.ln.wf01.*
-Eg: IoTDB > DELETE STORAGE GROUP root.**
+DELETE DATABASE <PathPattern> [COMMA <PathPattern>]*
+Eg: IoTDB > DELETE DATABASE root.ln.wf01.wt01
+Eg: IoTDB > DELETE DATABASE root.ln.wf01.wt01, root.ln.wf01.wt02
+Eg: IoTDB > DELETE DATABASE root.ln.wf01.*
+Eg: IoTDB > DELETE DATABASE root.**
 ```
 
 * Create Timeseries Statement
@@ -265,20 +265,20 @@ Eg: show timeseries root.ln.** where description contains 'test1'
 Eg: show timeseries root.ln.** where unit='c' limit 10 offset 10
 ```
 
-* Show Storage Group Statement
+* Show Databases Statement
 
 ```
-SHOW STORAGE GROUP
-Eg: IoTDB > SHOW STORAGE GROUP
+SHOW DATABASES
+Eg: IoTDB > SHOW DATABASES
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
-* Show Specific Storage Group Statement
+* Show Specific database Statement
 
 ```
-SHOW STORAGE GROUP <Path>
-Eg: IoTDB > SHOW STORAGE GROUP root.*
-Eg: IoTDB > SHOW STORAGE GROUP root.ln
+SHOW DATABASES <Path>
+Eg: IoTDB > SHOW DATABASES root.*
+Eg: IoTDB > SHOW DATABASES root.ln
 Note: The path can be full path or path pattern.
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
@@ -327,21 +327,21 @@ Note: This statement can be used in IoTDB Client and JDBC.
 * Show All Devices Statement
 
 ```
-SHOW DEVICES (WITH STORAGE GROUP)? limitClause? 
+SHOW DEVICES (WITH DATABASE)? limitClause? 
 Eg: IoTDB > SHOW DEVICES
-Eg: IoTDB > SHOW DEVICES WITH STORAGE GROUP
+Eg: IoTDB > SHOW DEVICES WITH DATABASE
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
 * Show Specific Devices Statement
 
 ```
-SHOW DEVICES <PathPattern> (WITH STORAGE GROUP)? limitClause?
+SHOW DEVICES <PathPattern> (WITH DATABASE)? limitClause?
 Eg: IoTDB > SHOW DEVICES root.**
 Eg: IoTDB > SHOW DEVICES root.ln.**
 Eg: IoTDB > SHOW DEVICES root.*.wf01
-Eg: IoTDB > SHOW DEVICES root.ln WITH STORAGE GROUP
-Eg: IoTDB > SHOW DEVICES root.*.wf01 WITH STORAGE GROUP
+Eg: IoTDB > SHOW DEVICES root.ln WITH DATABASE
+Eg: IoTDB > SHOW DEVICES root.*.wf01 WITH DATABASE
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
@@ -1113,13 +1113,13 @@ This example means that data of all time will be accepted in this group.
 SHOW ALL TTL
 SHOW TTL ON StorageGroupNames
 Eg.1 SHOW ALL TTL
-This example will show TTLs of all storage groups.
+This example will show TTLs of all databases.
 Eg.2 SHOW TTL ON root.group1,root.group2,root.group3
 This example will show TTLs of the specified 3 groups.
-Notice: storage groups without TTL will show a "null"
+Notice: databases without TTL will show a "null"
 ```
 
-Notice: When you set TTL to some storage groups, data out of the TTL will be made invisible
+Notice: When you set TTL to some databases, data out of the TTL will be made invisible
 immediately, but because the data files may contain both out-dated and living data or the data files may
 be being used by queries, the physical removal of data is stale. If you increase or unset TTL
 just after setting it previously, some previously invisible data may be seen again, but the
@@ -1132,7 +1132,7 @@ to suffer the unpredictability.
 ```
 DELETE PARTITION StorageGroupName INT(COMMA INT)*
 Eg DELETE PARTITION root.sg1 0,1,2
-This example will delete the first 3 time partitions of storage group root.sg1.
+This example will delete the first 3 time partitions of database root.sg1.
 ```
 The partitionId can be found in data folders or converted using `timestamp / partitionInterval`.
 
diff --git a/docs/UserGuide/Reference/Syntax-Conventions.md b/docs/UserGuide/Reference/Syntax-Conventions.md
index bed70a2c88..d57e10939a 100644
--- a/docs/UserGuide/Reference/Syntax-Conventions.md
+++ b/docs/UserGuide/Reference/Syntax-Conventions.md
@@ -333,7 +333,7 @@ After executing above statments, execute "show timeseries",below is the result
 
 ```SQL
 +---------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                 timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                 timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +---------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |            root.sg.`111`.a| null|      root.sg|   FLOAT|   PLAIN|     SNAPPY|null|      null|
 |root.sg.`www.``baidu.com`.a| null|      root.sg|   FLOAT|   PLAIN|     SNAPPY|null|      null|
@@ -485,7 +485,7 @@ Keywords are words that have significance in SQL. Keywords can be used as an ide
 
 ## Session、TsFile API
 
-When using the Session and TsFile APIs, if the method you call requires parameters such as measurement, device, storage group, path in the form of String, **please ensure that the parameters passed in the input string is the same as when using the SQL statement**, here are some examples to help you understand. Code example could be found at: `example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java`
+When using the Session and TsFile APIs, if the method you call requires parameters such as measurement, device, database, path in the form of String, **please ensure that the parameters passed in the input string is the same as when using the SQL statement**, here are some examples to help you understand. Code example could be found at: `example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java`
 
 1. Take creating a time series createTimeseries as an example:
 
diff --git a/docs/UserGuide/Reference/TSDB-Comparison.md b/docs/UserGuide/Reference/TSDB-Comparison.md
index d450899f21..30d0ec449c 100644
--- a/docs/UserGuide/Reference/TSDB-Comparison.md
+++ b/docs/UserGuide/Reference/TSDB-Comparison.md
@@ -298,11 +298,11 @@ It is somehow right. But, if you consider the performance, you may change your m
 
 * Write:
 
-We test the performance of writing from two aspects: *batch size* and *client num*. The number of storage group is 10. There are 1000 devices and each device has 100 measurements(i.e.,, 100K time series total).
+We test the performance of writing from two aspects: *batch size* and *client num*. The number of database is 10. There are 1000 devices and each device has 100 measurements(i.e.,, 100K time series total).
 
 * Read:
 
-10 clients read data concurrently. The number of storage group is 10. There are 10 devices and each device has 10 measurements (i.e.,, 100 time series total).
+10 clients read data concurrently. The number of database is 10. There are 10 devices and each device has 10 measurements (i.e.,, 100 time series total).
 The data type is *double*, encoding type is *GORILLA*
 
 * Compression:
diff --git a/docs/UserGuide/Write-Data/CSV-Tool.md b/docs/UserGuide/Write-Data/CSV-Tool.md
index 6f933e6c5a..556bf6c48a 100644
--- a/docs/UserGuide/Write-Data/CSV-Tool.md
+++ b/docs/UserGuide/Write-Data/CSV-Tool.md
@@ -128,9 +128,9 @@ Note that if fields exported by the export tool have the following special chara
 ### Create metadata (optional)
 
 ```sql
-SET STORAGE GROUP TO root.fit.d1;
-SET STORAGE GROUP TO root.fit.d2;
-SET STORAGE GROUP TO root.fit.p;
+CREATE DATABASE root.fit.d1;
+CREATE DATABASE root.fit.d2;
+CREATE DATABASE root.fit.p;
 CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE;
 CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN;
 CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE;
diff --git a/docs/UserGuide/Write-Data/Load-External-Tsfile.md b/docs/UserGuide/Write-Data/Load-External-Tsfile.md
index b89f72a3ef..62876f1fb2 100644
--- a/docs/UserGuide/Write-Data/Load-External-Tsfile.md
+++ b/docs/UserGuide/Write-Data/Load-External-Tsfile.md
@@ -39,7 +39,7 @@ This command has two usages:
 
 The first parameter indicates the path of the tsfile to be loaded. This command has three options: sglevel, verify, onSuccess.
 
-SGLEVEL option. If the storage group correspond to the tsfile does not exist, the user can set the level of storage group through the fourth parameter. By default, it uses the storage group level which is set in `iotdb-datanode.properties`.
+SGLEVEL option. If the database correspond to the tsfile does not exist, the user can set the level of database through the fourth parameter. By default, it uses the database level which is set in `iotdb-datanode.properties`.
 
 VERIFY option. If this parameter is true, All timeseries in this loading tsfile will be compared with the timeseries in IoTDB. If existing a measurement which has different datatype with the measurement in IoTDB, the loading process will be stopped and exit. If consistence can be promised, setting false for this parameter will be a better choice.
 
diff --git a/docs/zh/Development/VoteRelease.md b/docs/zh/Development/VoteRelease.md
index 944cbf936c..6606c00b3b 100644
--- a/docs/zh/Development/VoteRelease.md
+++ b/docs/zh/Development/VoteRelease.md
@@ -130,7 +130,7 @@ nohup ./sbin/start-server.sh >/dev/null 2>&1 &
 
 ./sbin/start-cli.sh
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
@@ -168,7 +168,7 @@ LICENSE and NOTICE [ok]
 signatures and hashes [ok]
 Could run with the following statements [ok]
 
-SET STORAGE GROUP TO root.turbine;
+CREATE DATABASE root.turbine;
 CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
 insert into root.turbine.d1(timestamp,s0) values(1,1);
 insert into root.turbine.d1(timestamp,s0) values(2,2);
diff --git a/docs/zh/Download/README.md b/docs/zh/Download/README.md
index 72b64e080b..4f5586a633 100644
--- a/docs/zh/Download/README.md
+++ b/docs/zh/Download/README.md
@@ -268,7 +268,7 @@ insert into root.sg(time, a) values(4, "\u96d5")
     * 当日志中显示`All files upgraded successfully! ` 后代表升级成功。
     * __注意 1:0.12 的配置文件进行了较大改动,因此不要直接将原本的配置文件用于 0.12__
     * __注意 2: 由于 0.12 不支持从 0.9 或者更低版本升级,如果需要升级,请先升级到 0.10 版本__
-    * __注意 3: 在文件升级完成前,最好不要进行 delete 操作。如果删除某个存储组内的数据且该存储组内存在待升级文件,删除会失败。__
+    * __注意 3: 在文件升级完成前,最好不要进行 delete 操作。如果删除某个 database 内的数据且该 database 内存在待升级文件,删除会失败。__
 
 - 如何从 v0.10.x 升级到 v0.11.x?
   * 0.10 与 0.11 的数据文件格式兼容,但写前日志等格式不兼容,因此需要进行升级(但速度很快):
diff --git a/docs/zh/UserGuide/API/InfluxDB-Protocol.md b/docs/zh/UserGuide/API/InfluxDB-Protocol.md
index a8631a9454..df6fba1362 100644
--- a/docs/zh/UserGuide/API/InfluxDB-Protocol.md
+++ b/docs/zh/UserGuide/API/InfluxDB-Protocol.md
@@ -72,7 +72,7 @@ InfluxDB 的元数据是 tag-field 模型,IoTDB 的元数据是树形模型。
 
 #### 2.2.2 IoTDB 元数据
 
-1. storage group: 存储组。
+1. database: 数据库。
 2. path(time series ID):存储路径。
 3. measurement: 物理量。
 
@@ -81,9 +81,9 @@ InfluxDB 的元数据是 tag-field 模型,IoTDB 的元数据是树形模型。
 #### 2.2.3 两者映射关系
 
 InfluxDB 元数据和 IoTDB 元数据有着如下的映射关系:
-1. InfluxDB 中的 database 和 measurement 组合起来作为 IoTDB 中的 storage group。
+1. InfluxDB 中的 database 和 measurement 组合起来作为 IoTDB 中的 database。
 2. InfluxDB 中的 field key 作为 IoTDB 中 measurement 路径,InfluxDB 中的 field value 即是该路径下记录的测点值。
-3. InfluxDB 中的 tag 在 IoTDB 中使用 storage group 和 measurement 之间的路径表达。InfluxDB 的 tag key 由 storage group 和 measurement 之间路径的顺序隐式表达,tag value 记录为对应顺序的路径的名称。
+3. InfluxDB 中的 tag 在 IoTDB 中使用 database 和 measurement 之间的路径表达。InfluxDB 的 tag key 由 database 和 measurement 之间路径的顺序隐式表达,tag value 记录为对应顺序的路径的名称。
 
 InfluxDB 元数据向 IoTDB 元数据的转换关系可以由下面的公示表示:
 
@@ -93,9 +93,9 @@ InfluxDB 元数据向 IoTDB 元数据的转换关系可以由下面的公示表
 
 如上图所示,可以看出:
 
-我们在 IoTDB 中使用 storage group 和 measurement 之间的路径来表达 InfluxDB tag 的概念,也就是图中右侧绿色方框的部分。
+我们在 IoTDB 中使用 database 和 measurement 之间的路径来表达 InfluxDB tag 的概念,也就是图中右侧绿色方框的部分。
 
-storage group 和 measurement 之间的每一层都代表一个 tag。如果 tag key 的数量为 N,那么 storage group 和 measurement 之间的路径的层数就是 N。我们对 storage group 和 measurement 之间的每一层进行顺序编号,每一个序号都和一个 tag key 一一对应。同时,我们使用 storage group 和 measurement 之间每一层 **路径的名字** 来记 tag value,tag key 可以通过自身的序号找到对应路径层级下的 tag value.
+database 和 measurement 之间的每一层都代表一个 tag。如果 tag key 的数量为 N,那么 database 和 measurement 之间的路径的层数就是 N。我们对 database 和 measurement 之间的每一层进行顺序编号,每一个序号都和一个 tag key 一一对应。同时,我们使用 database 和 measurement 之间每一层 **路径的名字** 来记 tag value,tag key 可以通过自身的序号找到对应路径层级下的 tag value.
 
 #### 2.2.4 关键问题
 
@@ -130,7 +130,7 @@ storage group 和 measurement 之间的每一层都代表一个 tag。如果 tag
 
 **tag key 对应顺序关系的持久化方案**
 
-存储组为`root.TAG_INFO`,分别用存储组下的 `database_name`, `measurement_name`, `tag_name` 和 `tag_order` 测点来存储 tag key及其对应的顺序关系。
+Database 为`root.TAG_INFO`,分别用 database 下的 `database_name`, `measurement_name`, `tag_name` 和 `tag_order` 测点来存储 tag key及其对应的顺序关系。
 
 ```
 +-----------------------------+---------------------------+------------------------------+----------------------+-----------------------+
diff --git a/docs/zh/UserGuide/API/Interface-Comparison.md b/docs/zh/UserGuide/API/Interface-Comparison.md
index 42cf2c6d61..de16a635a5 100644
--- a/docs/zh/UserGuide/API/Interface-Comparison.md
+++ b/docs/zh/UserGuide/API/Interface-Comparison.md
@@ -30,8 +30,8 @@
 | 1    | 初始化Session             | `Session.Builder.build();     Session.Builder().host(String host).port(int port).build();     Session.Builder().nodeUrls(List<String> nodeUrls).build();     Session.Builder().fetchSize(int fetchSize).username(String  username).password(String password).thriftDefaultBufferSize(int  thriftDefaultBufferSize).thriftMaxFrameSize(int  thriftMaxFrameSize).enableRedirection(boolean  enableCacheLeader).version(Version version).build();`                            [...]
 | 2    | 开启 Session              | `void open()     void open(boolean enableRPCCompression)`                                                                                                                                                                                                                                                                                                                                                                                                                 [...]
 | 3    | 关闭 Session              | `void close()`                                                                                                                                                                                                                                                                                                                                                                                                                                                            [...]
-| 4    | 设置存储组                | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                                               [...]
-| 5    | 删除存储组                | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                                     [...]
+| 4    | 设置 Database                | `void setStorageGroup(String  storageGroupId)`                                                                                                                                                                                                                                                                                                                                                                                                                         [...]
+| 5    | 删除 database                | `void deleteStorageGroup(String  storageGroup)     void deleteStorageGroups(List<String> storageGroups)`                                                                                                                                                                                                                                                                                                                                                               [...]
 | 6    | 创建时间序列              | `void createTimeseries(String  path, TSDataType dataType,TSEncoding encoding, CompressionType compressor,  Map<String, String> props,Map<String, String> tags,  Map<String, String> attributes, String measurementAlias)             void createMultiTimeseries(List<String> paths, List<TSDataType>  dataTypes,List<TSEncoding> encodings, List<CompressionType>  compressors,List<Map<String, String>> propsList,  List<Map<String, String>> tagsList,List<Map<String,  Str [...]
 | 7    | 创建对齐时间序列          | `void  createAlignedTimeseries(String prefixPath, List<String>  measurements,List<TSDataType> dataTypes, List<TSEncoding>  encodings,CompressionType compressor, List<String>  measurementAliasList);`                                                                                                                                                                                                                                                                          [...]
 | 8    | 删除时间序列              | `void deleteTimeseries(String  path)     void deleteTimeseries(List<String> paths)`                                                                                                                                                                                                                                                                                                                                                                                           [...]
diff --git a/docs/zh/UserGuide/API/Programming-Cpp-Native-API.md b/docs/zh/UserGuide/API/Programming-Cpp-Native-API.md
index 5e418a6250..45617c0756 100644
--- a/docs/zh/UserGuide/API/Programming-Cpp-Native-API.md
+++ b/docs/zh/UserGuide/API/Programming-Cpp-Native-API.md
@@ -157,14 +157,14 @@ void close();
 
 ### 数据定义接口(DDL)
 
-#### 存储组管理
+#### Database 管理
 
-- 设置存储组
+- 设置 database
 ```cpp
 void setStorageGroup(const std::string &storageGroupId);
 ```
 
-- 删除单个或多个存储组
+- 删除单个或多个 database
 ```cpp
 void deleteStorageGroup(const std::string &storageGroup);
 void deleteStorageGroups(const std::vector<std::string> &storageGroups);
diff --git a/docs/zh/UserGuide/API/Programming-JDBC.md b/docs/zh/UserGuide/API/Programming-JDBC.md
index fb3c9975d7..1e3096d178 100644
--- a/docs/zh/UserGuide/API/Programming-JDBC.md
+++ b/docs/zh/UserGuide/API/Programming-JDBC.md
@@ -74,15 +74,15 @@ public class JDBCExample {
       return;
     }
     Statement statement = connection.createStatement();
-    //Create storage group
+    //Create database
     try {
-      statement.execute("SET STORAGE GROUP TO root.demo");
+      statement.execute("CREATE DATABASE root.demo");
     }catch (IoTDBSQLException e){
       System.out.println(e.getMessage());
     }
 
-    //Show storage group
-    statement.execute("SHOW STORAGE GROUP");
+    //SHOW DATABASES
+    statement.execute("SHOW DATABASES");
     outputResult(statement.getResultSet());
 
     //Create time series
diff --git a/docs/zh/UserGuide/API/Programming-Java-Native-API.md b/docs/zh/UserGuide/API/Programming-Java-Native-API.md
index ab3ebaa378..df07846472 100644
--- a/docs/zh/UserGuide/API/Programming-Java-Native-API.md
+++ b/docs/zh/UserGuide/API/Programming-Java-Native-API.md
@@ -118,15 +118,15 @@ void close()
 
 ### 数据定义接口 DDL
 
-#### 存储组管理
+#### Database 管理
 
-* 设置存储组
+* 设置 database
 
 ```java
 void setStorageGroup(String storageGroupId)
 ```
 
-* 删除单个或多个存储组
+* 删除单个或多个 database
 
 ```java
 void deleteStorageGroup(String storageGroup)
@@ -277,7 +277,7 @@ public List<String> showMeasurementsInTemplate(String templateName, String patte
 ```
 
 * 将名为'templateName'的元数据模板挂载到'prefixPath'路径下,在执行这一步之前,你需要创建名为'templateName'的元数据模板
-* **请注意,我们强烈建议您将模板设置在存储组或存储组下层的节点中,以更好地适配未来版本更新及各模块的协作**
+* **请注意,我们强烈建议您将模板设置在 database 或 database 下层的节点中,以更好地适配未来版本更新及各模块的协作**
 
 ``` java
 void setSchemaTemplate(String templateName, String prefixPath)
@@ -582,7 +582,7 @@ list<Node> getRing();
 
 ```java 
 /**
- * @param path input path (should contains a Storage group name as its prefix)
+ * @param path input path (should contains a database name as its prefix)
  * @return the data partition info. If the time range only covers one data partition, the the size
  * of the list is one.
  */
@@ -592,7 +592,7 @@ list<DataPartitionEntry> getDataPartition(1:string path, 2:long startTime, 3:lon
 * 给定一个路径(应包括一个 SG 作为前缀),获取其被分到了哪个节点上:
 ```java  
 /**
- * @param path input path (should contains a Storage group name as its prefix)
+ * @param path input path (should contains a database name as its prefix)
  * @return metadata partition information
  */
 list<Node> getMetaPartition(1:string path);
diff --git a/docs/zh/UserGuide/API/Programming-Python-Native-API.md b/docs/zh/UserGuide/API/Programming-Python-Native-API.md
index dbda869b5f..115488b729 100644
--- a/docs/zh/UserGuide/API/Programming-Python-Native-API.md
+++ b/docs/zh/UserGuide/API/Programming-Python-Native-API.md
@@ -77,15 +77,15 @@ session.close()
 
 ### 数据定义接口 DDL
 
-#### 存储组管理
+#### Database 管理
 
-* 设置存储组
+* 设置 database
 
 ```python
 session.set_storage_group(group_name)
 ```
 
-* 删除单个或多个存储组
+* 删除单个或多个 database
 
 ```python
 session.delete_storage_group(group_name)
@@ -451,7 +451,7 @@ SQLAlchemy 所使用的数据模型为关系数据模型,这种数据模型通
 
 IoTDB 中的元数据有:
 
-1. Storage Group:存储组
+1. Database:数据库
 2. Path:存储路径
 3. Entity:实体
 4. Measurement:物理量
@@ -463,10 +463,10 @@ SQLAlchemy 中的元数据有:
 
 它们之间的映射关系为:
 
-| SQLAlchemy中的元数据 | IoTDB中对应的元数据                            |
+| SQLAlchemy中的元数据   | IoTDB中对应的元数据                               |
 | -------------------- | ---------------------------------------------- |
-| Schema               | Storage Group                                  |
-| Table                | Path ( from storage group to entity ) + Entity |
+| Schema               | Database                                       |
+| Table                | Path ( from database to entity ) + Entity |
 | Column               | Measurement                                    |
 
 下图更加清晰的展示了二者的映射关系:
diff --git a/docs/zh/UserGuide/API/Programming-Thrift.md b/docs/zh/UserGuide/API/Programming-Thrift.md
index 20c38ac40b..2adc82c616 100644
--- a/docs/zh/UserGuide/API/Programming-Thrift.md
+++ b/docs/zh/UserGuide/API/Programming-Thrift.md
@@ -80,7 +80,7 @@ TSStatus setTimeZone(1:TSSetTimeZoneReq req);
 // 获取服务端配置
 ServerProperties getProperties();
 
-// 设置存储组
+// 设置 database
 TSStatus setStorageGroup(1:i64 sessionId, 2:string storageGroup);
 
 // 创建时间序列
@@ -92,7 +92,7 @@ TSStatus createMultiTimeseries(1:TSCreateMultiTimeseriesReq req);
 // 删除时间序列
 TSStatus deleteTimeseries(1:i64 sessionId, 2:list<string> path)
 
-// 删除存储组
+// 删除 database
 TSStatus deleteStorageGroups(1:i64 sessionId, 2:list<string> storageGroup);
 
 // 按行插入数据
diff --git a/docs/zh/UserGuide/API/RestService.md b/docs/zh/UserGuide/API/RestService.md
index f4ad4f935d..e4081338c5 100644
--- a/docs/zh/UserGuide/API/RestService.md
+++ b/docs/zh/UserGuide/API/RestService.md
@@ -242,7 +242,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 {
   "expressions": null,
   "columnNames": [
-    "storage group",
+    "database",
     "ttl"
   ],
   "timestamps": null,
@@ -270,7 +270,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 {
   "expressions": null,
   "columnNames": [
-    "storage group",
+    "database",
     "ttl"
   ],
   "timestamps": null,
@@ -337,7 +337,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "columnNames": [
     "timeseries",
     "alias",
-    "storage group",
+    "database",
     "dataType",
     "encoding",
     "compression",
@@ -411,7 +411,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "columnNames": [
     "timeseries",
     "alias",
-    "storage group",
+    "database",
     "dataType",
     "encoding",
     "compression",
@@ -544,9 +544,9 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 }
 ```
 
-请求示例 show devices with storage group:
+请求示例 show devices with database:
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"show devices with storage group"}' http://127.0.0.1:18080/rest/v1/query
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"show devices with database"}' http://127.0.0.1:18080/rest/v1/query
 ```
 
 响应示例:
@@ -556,7 +556,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
   "expressions": null,
   "columnNames": [
     "devices",
-    "storage group",
+    "database",
     "isAligned"
   ],
   "timestamps": null,
@@ -798,7 +798,7 @@ curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X
 
 请求示例:
 ```shell
-curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
 ```
 
 响应参数:
diff --git a/docs/zh/UserGuide/Administration-Management/Administration.md b/docs/zh/UserGuide/Administration-Management/Administration.md
index 195f23833a..2d952fe67c 100644
--- a/docs/zh/UserGuide/Administration-Management/Administration.md
+++ b/docs/zh/UserGuide/Administration-Management/Administration.md
@@ -93,7 +93,7 @@ IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(1509465600000,true
 Msg: 602: No permissions for this operation, please add privilege INSERT_TIMESERIES.
 ```
 
-现在,我们用root用户分别赋予他们向对应存储组数据的写入权限.
+现在,我们用root用户分别赋予他们向对应 database 数据的写入权限.
 
 我们使用 `GRANT USER <userName> PRIVILEGES <privileges> ON <nodeName>` 语句赋予用户权限(注:其中,创建用户权限无需指定路径),例如:
 
@@ -366,12 +366,12 @@ Eg: IoTDB > ALTER USER `tempuser` SET PASSWORD 'newpwd';
 
 |权限名称|说明|示例|
 |:---|:---|----|
-|SET\_STORAGE\_GROUP|创建存储组。包含设置存储组的权限和TTL。路径相关|Eg1: `set storage group to root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
-|DELETE\_STORAGE\_GROUP|删除存储组。路径相关|Eg: `delete storage group root.ln;`|
+|SET\_STORAGE\_GROUP|创建 database。包含设置 database 的权限和TTL。路径相关|Eg1: `CREATE DATABASE root.ln;`<br />Eg2:`set ttl to root.ln 3600000;`<br />Eg3:`unset ttl to root.ln;`|
+|DELETE\_STORAGE\_GROUP|删除 database。路径相关|Eg: `delete database root.ln;`|
 |CREATE\_TIMESERIES|创建时间序列。路径相关|Eg1: 创建时间序列<br />`create timeseries root.ln.wf02.status with datatype=BOOLEAN,encoding=PLAIN;`<br />Eg2: 创建对齐时间序列<br />`create aligned timeseries root.ln.device1(latitude FLOAT encoding=PLAIN compressor=SNAPPY, longitude FLOAT encoding=PLAIN compressor=SNAPPY);`|
 |INSERT\_TIMESERIES|插入数据。路径相关|Eg1: `insert into root.ln.wf02(timestamp,status) values(1,true);`<br />Eg2: `insert into root.sg1.d1(time, s1, s2) aligned values(1, 1, 1)`|
 |ALTER\_TIMESERIES|修改时间序列标签。路径相关|Eg1: `alter timeseries root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4;`<br />Eg2: `ALTER timeseries root.turbine.d1.s1 UPSERT ALIAS=newAlias TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4);`|
-|READ\_TIMESERIES|查询数据。路径相关|Eg1: `show storage group;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root.**`<br />Eg10: UDF查询<br />`select example(*) [...]
+|READ\_TIMESERIES|查询数据。路径相关|Eg1: `SHOW DATABASES;` <br />Eg2: `show child paths root.ln, show child nodes root.ln;`<br />Eg3: `show devices;`<br />Eg4: `show timeseries root.**;`<br />Eg5: `show schema templates;`<br />Eg6: `show all ttl`<br />Eg7: [数据查询](../Query-Data/Overview.md)(这一节之下的查询语句均使用该权限)<br />Eg8: CVS格式数据导出<br />`./export-csv.bat -h 127.0.0.1 -p 6667 -u tempuser -pw root -td ./`<br />Eg9: 查询性能追踪<br />`tracing select * from root.**`<br />Eg10: UDF查询<br />`select example(*) fro [...]
 |DELETE\_TIMESERIES|删除数据或时间序列。路径相关|Eg1: 删除时间序列<br />`delete timeseries root.ln.wf01.wt01.status`<br />Eg2: 删除数据<br />`delete from root.ln.wf02.wt02.status where time < 10`<br />Eg3: 使用DROP关键字<br />`drop timeseries root.ln.wf01.wt01.status`|
 |CREATE\_USER|创建用户。路径无关|Eg: `create user thulab 'passwd';`|
 |DELETE\_USER|删除用户。路径无关|Eg: `drop user xiaoming;`|
diff --git a/docs/zh/UserGuide/Cluster/Cluster-Concept.md b/docs/zh/UserGuide/Cluster/Cluster-Concept.md
index 34da0e84a4..fdb67e3e93 100644
--- a/docs/zh/UserGuide/Cluster/Cluster-Concept.md
+++ b/docs/zh/UserGuide/Cluster/Cluster-Concept.md
@@ -55,9 +55,9 @@ Client 只能通过 DataNode 进行数据读写。
 
 分区策略将数据和元数据划分到不同的 Region 中,并把 Region 分配到不同的 DataNode。
 
-推荐设置 1 个存储组(无需像 0.13 版本根据核数设置存储组),当做 database 概念使用,集群会根据节点数和核数动态分配资源。
+推荐设置 1 个 database(无需像 0.13 版本根据核数设置存储组),当做 database 概念使用,集群会根据节点数和核数动态分配资源。
 
-存储组包含多个 SchemaRegion(元数据分片) 和 DataRegion(数据分片),由 DataNode 管理。
+Database 包含多个 SchemaRegion(元数据分片) 和 DataRegion(数据分片),由 DataNode 管理。
 
 * 元数据分区策略 
     * 对于一条未使用模板的时间序列的元数据,ConfigNode 会根据设备 ID (从 root 到倒数第二层节点的全路径)映射到一个序列分区槽内,并将此分区槽分配到一个 SchemaRegion 组中。
diff --git a/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md b/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
index 7722f45baa..f75387137b 100644
--- a/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
+++ b/docs/zh/UserGuide/Data-Concept/Data-Model-and-Terminology.md
@@ -31,7 +31,7 @@
 
 IoTDB 模型结构涉及的基本概念在下文将做详细叙述。
 
-## 物理量、实体、存储组、路径
+## 物理量、实体、数据库、路径
 
 ### 物理量(Measurement)
 
@@ -41,21 +41,21 @@ IoTDB 模型结构涉及的基本概念在下文将做详细叙述。
 
 **一个物理实体**,也称设备(device),是在实际场景中拥有物理量的设备或装置。在 IoTDB 当中,所有的物理量都有其对应的归属实体。
 
-### 存储组(Storage group)
+### 数据库(Database)
 
-**一组物理实体**,用户可以将任意前缀路径设置成存储组。如有 4 条时间序列`root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`,路径`root.ln`下的两个实体 `wt01`, `wt02`可能属于同一个业主,或者同一个制造商,这时候就可以将前缀路径`root.ln`指定为一个存储组。未来`root.ln`下增加了新的实体,也将属于该存储组。
+用户可以将任意前缀路径设置成数据库。如有 4 条时间序列`root.ln.wf01.wt01.status`, `root.ln.wf01.wt01.temperature`, `root.ln.wf02.wt02.hardware`, `root.ln.wf02.wt02.status`,路径`root.ln`下的两个实体 `wt01`, `wt02`可能属于同一个业主,或者同一个制造商,这时候就可以将前缀路径`root.ln`指定为一个数据库。未来`root.ln`下增加了新的实体,也将属于该数据库。
 
-一个存储组中的所有实体的数据会存储在同一个文件夹下,不同存储组的实体数据会存储在磁盘的不同文件夹下,从而实现物理隔离。
+一个 database 中的所有数据会存储在同一批文件夹下,不同 database 的数据会存储在磁盘的不同文件夹下,从而实现物理隔离。
 
-> 注意 1:不允许将一个完整路径(如上例的`root.ln.wf01.wt01.status`) 设置成存储组。
+> 注意 1:不允许将一个完整路径(如上例的`root.ln.wf01.wt01.status`) 设置成 database。
 >
-> 注意 2:一个时间序列其前缀必须属于某个存储组。在创建时间序列之前,用户必须设定该序列属于哪个存储组(Storage Group)。只有设置了存储组的时间序列才可以被持久化在磁盘上。
+> 注意 2:一个时间序列其前缀必须属于某个 database。在创建时间序列之前,用户必须设定该序列属于哪个database。只有设置了 database 的时间序列才可以被持久化在磁盘上。
 
-一个前缀路径一旦被设定成存储组后就不可以再更改这个存储组的设定。
+一个前缀路径一旦被设定成 database 后就不可以再更改这个 database 的设定。
 
-一个存储组设定后,其对应的前缀路径的祖先层级与孩子及后裔层级也不允许再设置存储组(如,`root.ln`设置存储组后,root 层级与`root.ln.wf01`不允许被设置为存储组)。
+一个 database 设定后,其对应的前缀路径的祖先层级与孩子及后裔层级也不允许再设置 database(如,`root.ln`设置 database 后,root 层级与`root.ln.wf01`不允许被设置为 database)。
 
-存储组节点名只支持中英文字符、数字和下划线的组合。例如`root. 存储组_1` 。
+Database 节点名只支持中英文字符、数字和下划线的组合。例如`root.数据库_1` 。
 
 ### 路径(Path)
 
@@ -85,7 +85,7 @@ wildcard
 * 除了时间序列的开头的层级(`root`)外,其他的层级支持的字符如下:
   * [ 0-9 a-z A-Z _ ] (字母,数字,下划线)
   * ['\u2E80'..'\u9FFF'] (UNICODE 中文字符)
-* 特别地,如果系统在 Windows 系统上部署,那么存储组路径结点名是大小写不敏感的。例如,同时创建`root.ln` 和 `root.LN` 是不被允许的。
+* 特别地,如果系统在 Windows 系统上部署,那么 database 路径结点名是大小写不敏感的。例如,同时创建`root.ln` 和 `root.LN` 是不被允许的。
 * 如果需要在路径结点名中用特殊字符,可以用反引号引用路径结点名,具体使用方法可以参考[语法约定](../Reference/Syntax-Conventions.md)。
 
 ### 路径模式(Path Pattern)
diff --git a/docs/zh/UserGuide/Data-Concept/Schema-Template.md b/docs/zh/UserGuide/Data-Concept/Schema-Template.md
index 353643c3d6..7e9bb06f5c 100644
--- a/docs/zh/UserGuide/Data-Concept/Schema-Template.md
+++ b/docs/zh/UserGuide/Data-Concept/Schema-Template.md
@@ -89,7 +89,7 @@ Class MeasurementNode extends Node {
 
 * 构造元数据模板
 
-构造上图中的元数据模板,并挂载到对应节点,可参考如下代码。**请注意,我们强烈建议您将模板设置在存储组或存储组下层的节点中,以更好地适配未来地更新及各模块的协作。**
+构造上图中的元数据模板,并挂载到对应节点,可参考如下代码。**请注意,我们强烈建议您将模板设置在 database 或 database 下层的节点中,以更好地适配未来地更新及各模块的协作。**
 
 ``` java
 MeasurementNode nodeV = new MeasurementNode("velocity", TSDataType.FLOAT, TSEncoding.RLE, CompressionType.SNAPPY);
@@ -107,4 +107,4 @@ createSchemaTemplate(template);
 setSchemaTemplate("template", "root.Beijing");
 ```
 
-挂载元数据模板后,即可进行数据的写入。如按上述代码创建并挂载模板,并在 root.Beijing 路径上设置了存储组后,即可写入例如 root.Beijing.petro_vehicle.velocity 等时间序列数据,系统将自动创建 petro_vehicle 节点,并设置其“正在使用模板”,对写入数据应用模板中为 velocity 定义的元数据信息。
+挂载元数据模板后,即可进行数据的写入。如按上述代码创建并挂载模板,并在 root.Beijing 路径上设置了 database 后,即可写入例如 root.Beijing.petro_vehicle.velocity 等时间序列数据,系统将自动创建 petro_vehicle 节点,并设置其“正在使用模板”,对写入数据应用模板中为 velocity 定义的元数据信息。
diff --git a/docs/zh/UserGuide/Data-Concept/Time-Partition.md b/docs/zh/UserGuide/Data-Concept/Time-Partition.md
index 3c4fac0c7e..8b3afab390 100644
--- a/docs/zh/UserGuide/Data-Concept/Time-Partition.md
+++ b/docs/zh/UserGuide/Data-Concept/Time-Partition.md
@@ -38,7 +38,7 @@
 
 |名字| time\_partition\_interval\_for\_storage |
 |:---:|:----------------------------------------|
-|描述| 存储组分区的时间段长度,用户指定的存储组下会使用该时间段进行分区,单位:毫秒  |
+|描述| Database 分区的时间段长度,用户指定的 database 下会使用该时间段进行分区,单位:毫秒  |
 |类型| Int64                                   |
 |默认值| 604800000                                |
 |改后生效方式| 仅允许在第一次启动服务前修改                          |
diff --git a/docs/zh/UserGuide/Data-Modeling/DataRegion.md b/docs/zh/UserGuide/Data-Modeling/DataRegion.md
index 0e9d5c2adf..993c3a342b 100644
--- a/docs/zh/UserGuide/Data-Modeling/DataRegion.md
+++ b/docs/zh/UserGuide/Data-Modeling/DataRegion.md
@@ -21,14 +21,14 @@
 
 # 背景
 
-存储组由用户显示指定,使用语句"SET STORAGE GROUP TO"来指定存储组,每一个存储组有一个对应的 StorageGroupProcessor
+Database 由用户显示指定,使用语句"CREATE DATABASE"来指定 database,每一个 database 有多个对应的 data region
 
-为了确保最终一致性,每一个存储组有一个数据插入锁(排它锁)来同步每一次插入操作。
-所以服务端数据写入的并行度为存储组的数量。
+为了确保最终一致性,每一个 data region 有一个数据插入锁(排它锁)来同步每一次插入操作。
+所以服务端数据写入的并行度为 data region的数量。
 
 # 问题
 
-从背景中可知,IoTDB数据写入的并行度为 max(客户端数量,服务端数据写入的并行度),也就是max(客户端数量,存储组数量)
+从背景中可知,IoTDB数据写入的并行度为 max(客户端数量,服务端数据写入的并行度),也就是max(客户端数量,data region 数量)
 
 在生产实践中,存储组的概念往往与特定真实世界实体相关(例如工厂,地点,国家等)。
 因此存储组的数量可能会比较小,这会导致IoTDB写入并行度不足。即使我们开再多的客户端写入线程,也无法走出这种困境。
@@ -42,12 +42,12 @@
 
 # 使用方法
 
-通过改变如下配置来设置每一个存储组下 data region 的数量:
+通过改变如下配置来设置每一个 database 下 data region 的数量:
 
 ```
 data_region_num
 ```
 
-推荐值为[data region number] = [CPU core number] / [user-defined storage group number]
+推荐值为[data region number] = [CPU core number] / [user-defined database number]
 
 参考[配置手册](../Reference/DataNode-Config-Manual.md)以获取更多信息。
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Delete-Data/Delete-Data.md b/docs/zh/UserGuide/Delete-Data/Delete-Data.md
index d764294602..562027f3fb 100644
--- a/docs/zh/UserGuide/Delete-Data/Delete-Data.md
+++ b/docs/zh/UserGuide/Delete-Data/Delete-Data.md
@@ -80,7 +80,7 @@ Msg: The statement is executed successfully.
 ```
 
 ## 删除时间分区 (实验性功能)
-您可以通过如下语句来删除某一个存储组下的指定时间分区:
+您可以通过如下语句来删除某一个 database 下的指定时间分区:
 
 ```sql
 DELETE PARTITION root.ln 0,1,2
diff --git a/docs/zh/UserGuide/Delete-Data/TTL.md b/docs/zh/UserGuide/Delete-Data/TTL.md
index 2c330a542a..64da492e4f 100644
--- a/docs/zh/UserGuide/Delete-Data/TTL.md
+++ b/docs/zh/UserGuide/Delete-Data/TTL.md
@@ -21,7 +21,7 @@
 
 # 数据存活时间(TTL)
 
-IoTDB 支持对存储组级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
+IoTDB 支持对 database 级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
 可以帮助您控制 IoTDB 占用的总磁盘空间以避免出现磁盘写满等异常。并且,随着文件数量的增多,查询性能往往随之下降,
 内存占用也会有所提高。及时地删除一些较老的文件有助于使查询性能维持在一个较高的水平和减少内存资源的占用。
 
@@ -33,15 +33,15 @@ TTL的默认单位为毫秒,如果配置文件中的时间精度修改为其
 ```
 IoTDB> set ttl to root.ln 3600000
 ```
-这个例子表示在`root.ln`存储组中,只有3600000毫秒,即最近一个小时的数据将会保存,旧数据会被移除或不可见。
+这个例子表示在`root.ln`数据库中,只有3600000毫秒,即最近一个小时的数据将会保存,旧数据会被移除或不可见。
 ```
 IoTDB> set ttl to root.sgcc.** 3600000
 ```
-支持给某一路径下的存储组设置TTL,这个例子表示`root.sgcc`路径下的所有存储组设置TTL。
+支持给某一路径下的 database 设置TTL,这个例子表示`root.sgcc`路径下的所有 database 设置TTL。
 ```
 IoTDB> set ttl to root.** 3600000
 ```
-表示给所有存储组设置TTL。
+表示给所有 database 设置TTL。
 
 ## 取消 TTL
 
@@ -51,17 +51,17 @@ IoTDB> set ttl to root.** 3600000
 IoTDB> unset ttl to root.ln
 ```
 
-取消设置 TTL 后,存储组`root.ln`中所有的数据都会被保存。
+取消设置 TTL 后, database `root.ln`中所有的数据都会被保存。
 ```
 IoTDB> unset ttl to root.sgcc.**
 ```
 
-取消设置`root.sgcc`路径下的所有存储组的 TTL 。
+取消设置`root.sgcc`路径下的所有 database 的 TTL 。
 ```
 IoTDB> unset ttl to root.**
 ```
 
-取消设置所有存储组的 TTL 。
+取消设置所有 database 的 TTL 。
 
 ## 显示 TTL
 
@@ -72,14 +72,14 @@ IoTDB> SHOW ALL TTL
 IoTDB> SHOW TTL ON StorageGroupNames
 ```
 
-SHOW ALL TTL 这个例子会给出所有存储组的 TTL。
-SHOW TTL ON root.ln,root.sgcc,root.DB 这个例子会显示指定的三个存储组的 TTL。
-注意:没有设置 TTL 的存储组的 TTL 将显示为 null。
+SHOW ALL TTL 这个例子会给出所有 database 的 TTL。
+SHOW TTL ON root.ln,root.sgcc,root.DB 这个例子会显示指定的三个 database 的 TTL。
+注意:没有设置 TTL 的 database 的 TTL 将显示为 null。
 
 ```
 IoTDB> show all ttl
 +-------------+-------+
-|storage group|ttl(ms)|
+|     database|ttl(ms)|
 +-------------+-------+
 |      root.ln|3600000|
 |    root.sgcc|   null|
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
index 9f91fc2980..4e5286458b 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Grafana-Plugin.md
@@ -294,7 +294,7 @@ Type下拉中有Query、Custom、Text box、Constant、DataSource、Interval、A
 更加详细介绍用法请查看官方手册(https://grafana.com/docs/grafana/latest/variables/)
 
 除了上面的示例外,还支持下面这些语句:
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
index c870a9babc..b319cd2dd8 100644
--- a/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
+++ b/docs/zh/UserGuide/Ecosystem-Integration/Zeppelin-IoTDB.md
@@ -110,7 +110,7 @@ or
 我们提供了一些简单的 SQL 来展示 Zeppelin-IoTDB 解释器的使用:
 
 ```sql
-SET STORAGE GROUP TO root.ln.wf01.wt01;
+CREATE DATABASE root.ln.wf01.wt01;
 CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN;
 CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN;
 CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN;
diff --git a/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md b/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
index bd675f6d44..8a316e8feb 100644
--- a/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
+++ b/docs/zh/UserGuide/Edge-Cloud-Collaboration/Sync-Tool.md
@@ -45,9 +45,9 @@ TsFile 同步工具实现了数据从 "流入-> IoTDB ->流出" 的闭环。假
 
 - 同步工具的发送端目前仅支持 IoTDB 1.0 版本**单数据副本配置**,接收端支持 IoTDB 1.0 版本任意配置。
 - 当有一个或多个发送端指向一个接收端时,这些发送端和接收端各自的设备路径集合之间应当没有交集,否则可能产生不可预料错误 
-  - 例如:当发送端A包括路径`root.sg.d.s`,发送端B也包括路径`root.sg.d.s`,当发送端A删除`root.sg`存储组时将也会在接收端删除所有B在接收端的`root.sg.d.s`中存放的数据。
+  - 例如:当发送端A包括路径`root.sg.d.s`,发送端B也包括路径`root.sg.d.s`,当发送端A删除`root.sg` database 时将也会在接收端删除所有B在接收端的`root.sg.d.s`中存放的数据。
 - 两个“端”之间目前不支持相互同步。
-- 同步工具仅同步数据写入、数据删除、时间序列删除,若接收端未创建存储组,自动创建与发送端同级存储组。TTL 的设置、Trigger、CQ 等其他操作均不同步
+- 同步工具仅同步数据写入、数据删除、时间序列删除,若接收端未创建 database,自动创建与发送端同级 database。TTL 的设置、Trigger、CQ 等其他操作均不同步
   - 若在发送端设置了 TTL,则启动 Pipe 时候 IoTDB 中所有未过期的数据以及未来所有的数据写入和删除都会被同步至接收端
 - 对同步任务进行操作时,需保证 `SHOW DATANODES` 中所有处于 Running 状态的 DataNode 节点均可连通,否则将执行失败。
 
@@ -302,7 +302,7 @@ IoTDB> SHOW PIPE p
 在发送端执行以下 SQL
 
 ```SQL
-SET STORAGE GROUP TO root.vehicle;
+CREATE DATABASE root.vehicle;
 CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE;
 CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN;
 CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE;
diff --git a/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md b/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
index 8976221ef3..21e94d6eeb 100644
--- a/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
+++ b/docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
@@ -73,7 +73,7 @@ public class IoTDBAlignByDeviceIT {
 
 测试前的准备工作包括启动 IoTDB(单机或集群)实例和测试用的数据准备。这些逻辑在setUp方法内实现。其中setUp方法前需要添加```@BeforeClass``` 或 ```@Before``` 标签,前者表示该方法为当前集成测试执行的第 1 个方法,并且在集成测试运行时只执行 1 次,后者表示在运行当前集成测试的每 1 个测试方法前,该方法都会被执行 1 次。
 - IoTDB 实例启动通过调用工厂类来实现,即```EnvFactory.getEnv().initBeforeClass()```。
-- 测试用的数据准备包括按测试需要提前注册存储组、注册时间序列、写入时间序列数据等。建议在测试类内实现单独的方法来准备数据,如insertData()。若需要写入多条数据,请使用批量写入的接口(JDBC中的executeBatch接口,或Session API 中的 insertRecords、insertTablets 等接口)。
+- 测试用的数据准备包括按测试需要提前注册 database 、注册时间序列、写入时间序列数据等。建议在测试类内实现单独的方法来准备数据,如insertData()。若需要写入多条数据,请使用批量写入的接口(JDBC中的executeBatch接口,或Session API 中的 insertRecords、insertTablets 等接口)。
 
 ```java
 @BeforeClass
@@ -126,11 +126,11 @@ public void exampleTest() throws Exception {
   try (Connection connection = EnvFactory.getEnv().getConnection();
       Statement statement = connection.createStatement()) {
     // 使用 execute() 方法设置存储组
-    statement.execute("set storage group to root.sg");
+    statement.execute("CREATE DATABASE root.sg");
     // 使用 executeQuery() 方法查询存储组
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("show databases")) {
       if (resultSet.next()) {
-        String storageGroupPath = resultSet.getString("storage group");
+        String storageGroupPath = resultSet.getString("database");
         Assert.assertEquals("root.sg", storageGroupPath);
       } else {
         Assert.fail("This ResultSet is empty.");
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
index 1b70be4d59..fba4cfc7b8 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Maintenance-Command.md
@@ -22,7 +22,7 @@
 
 ## FLUSH
 
-将指定存储组的内存缓存区 Memory Table 的数据持久化到磁盘上,并将数据文件封口。在集群模式下,我们提供了持久化本节点的指定存储组的缓存、持久化整个集群指定存储组的缓存命令。
+将指定 database 的内存缓存区 Memory Table 的数据持久化到磁盘上,并将数据文件封口。在集群模式下,我们提供了持久化本节点的指定 database 的缓存、持久化整个集群指定 database 的缓存命令。
 
 注意:此命令客户端不需要手动调用,IoTDB 有 wal 保证数据安全,IoTDB 会选择合适的时机进行 flush。
 如果频繁调用 flush 会导致数据文件很小,降低查询性能。
@@ -147,7 +147,7 @@ IoTDB> create timeseries root.ln.d1.s1 with datatype=BOOLEAN,encoding=PLAIN
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
@@ -169,7 +169,7 @@ IoTDB> insert into root.ln.d1(timestamp,s1) values(1,true)
 Msg: The statement is executed successfully.
 IoTDB> show regions
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
-|RegionId|        Type|Status|storage group|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
+|RegionId|        Type|Status|Database|Series Slots|Time Slots|DataNodeId|     Host|RpcPort|  Role|
 +--------+------------+------+-------------+------------+----------+----------+---------+-------+------+
 |       0|SchemaRegion|    Up|      root.sg|           2|         0|         1|127.0.0.1|   6667|Leader|
 |       1|SchemaRegion|    Up|      root.ln|           1|         0|         2|127.0.0.1|   6668|Leader|
@@ -284,13 +284,13 @@ It costs 0.340s
 - `SHOW REGIONS`: 展示所有 Region 分布
 - `SHOW SCHEMA REGIONS`: 展示所有 SchemaRegion 分布
 - `SHOW DATA REGIONS`: 展示所有 DataRegion 分布
-- `SHOW (DATA|SCHEMA)? REGIONS OF STORAGE GROUP <sg1,sg2,...>`: 展示指定存储组 <sg1,sg2,...> 对应的 Region 分布
+- `SHOW (DATA|SCHEMA)? REGIONS OF DATABASE <sg1,sg2,...>`: 展示指定数据库 <sg1,sg2,...> 对应的 Region 分布
 
 展示所有 Region 的分布:
 ```
 IoTDB> show regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -313,7 +313,7 @@ It costs 0.165s
 ```
 IoTDB> show data regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -327,7 +327,7 @@ It costs 0.011s
 
 IoTDB> show schema regions
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         1|0.0.0.0|   6667|Follower|
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         2|0.0.0.0|   6668|Follower|
@@ -340,11 +340,11 @@ Total line number = 6
 It costs 0.012s
 ```
 
-展示指定存储组 <sg1,sg2,...> 对应的 Region 分布:
+展示指定数据库 <sg1,sg2,...> 对应的 Region 分布:
 ```
-IoTDB> show regions of storage group root.sg1
+IoTDB> show regions of database root.sg1
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -356,9 +356,9 @@ IoTDB> show regions of storage group root.sg1
 Total line number = 6
 It costs 0.007s
 
-IoTDB> show regions of storage group root.sg1, root.sg2
+IoTDB> show regions of database root.sg1, root.sg2
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|  DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -376,9 +376,9 @@ IoTDB> show regions of storage group root.sg1, root.sg2
 Total line number = 12
 It costs 0.009s
 
-IoTDB> show data regions of storage group root.sg1, root.sg2
+IoTDB> show data regions of database root.sg1, root.sg2
 +--------+----------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|      Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|      Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+----------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       0|DataRegion|Running|     root.sg1|          1|        1|         1|0.0.0.0|   6667|Follower|
 |       0|DataRegion|Running|     root.sg1|          1|        1|         2|0.0.0.0|   6668|  Leader|
@@ -390,9 +390,9 @@ IoTDB> show data regions of storage group root.sg1, root.sg2
 Total line number = 6
 It costs 0.007s
 
-IoTDB> show schema regions of storage group root.sg1, root.sg2
+IoTDB> show schema regions of database root.sg1, root.sg2
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
-|RegionId|        Type| Status|Storage Group|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
+|RegionId|        Type| Status|Database|SeriesSlots|TimeSlots|DataNodeId|   Host|RpcPort|    Role|
 +--------+------------+-------+-------------+-----------+---------+----------+-------+-------+--------+
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         1|0.0.0.0|   6667|Follower|
 |       1|SchemaRegion|Running|     root.sg1|          1|        0|         2|0.0.0.0|   6668|Follower|
@@ -414,7 +414,7 @@ It costs 0.009s
 
 ## 集群槽路径监控工具
 
-集群使用分片来管理数据和元数据,一个存储组的元数据分片定义为序列槽,而数据分片定义为<序列槽,时间分区槽>的数对。为了得到分片相关的信息,可以使用以下SQL来查询:
+集群使用分片来管理数据和元数据,一个数据库的元数据分片定义为序列槽,而数据分片定义为<序列槽,时间分区槽>的数对。为了得到分片相关的信息,可以使用以下SQL来查询:
 ### 追踪数据分片的分区
 
 追踪一个数据分片(或一个序列槽下的所有数据分片)的对应分区:
@@ -458,7 +458,7 @@ Total line number = 1
 It costs 0.007s
 ```
 ### 追踪序列槽下的时间槽
-展示一个存储组内,一个特定序列槽下的所有时间槽:
+展示一个数据库内,一个特定序列槽下的所有时间槽:
 - `SHOW TIMESLOTID OF root.sg WHERE SERIESLOTID=s0 (AND STARTTIME=t1) (AND ENDTIME=t2)`
 
 示例:
@@ -473,8 +473,8 @@ IoTDB> show timeslotid of root.sg where seriesslotid=5286
 Total line number = 1
 It costs 0.007s
 ```
-### 追踪存储组的序列槽
-展示一个存储组内,数据,元数据或是所有的序列槽:
+### 追踪数据库的序列槽
+展示一个数据库内,数据,元数据或是所有的序列槽:
 - `SHOW (DATA|SCHEMA)? SERIESSLOTID OF root.sg`
 
 示例:
@@ -507,4 +507,4 @@ Total line number = 1
 It costs 0.006s
 ```
 #### 注意:
-通常情况下,一个存储组内,数据和元数据的序列槽是相同的。然而,我们仍然提供了不同的sql语句,以防它们在某些情况下并不相同。
\ No newline at end of file
+通常情况下,一个数据库内,数据和元数据的序列槽是相同的。然而,我们仍然提供了不同的sql语句,以防它们在某些情况下并不相同。
\ No newline at end of file
diff --git a/docs/zh/UserGuide/Maintenance-Tools/NodeTool.md b/docs/zh/UserGuide/Maintenance-Tools/NodeTool.md
index 0defae36e2..d05e8e9107 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/NodeTool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/NodeTool.md
@@ -84,10 +84,10 @@ Node Identifier                                 Node
 
 ### 查询数据分区和元数据分区
 
-IoTDB 集群版的时间序列元数据按照存储组分给多个数据组,其中存储组和数据组为多对一的关系,
-即同一个存储组的时间序列元数据只存在于同一个数据组,一个数据组可能包含多个存储组的时间序列元数据;
+IoTDB 集群版的时间序列元数据按照 database 分给多个数据组,其中 database 和数据组为多对一的关系,
+即同一个 database 的时间序列元数据只存在于同一个数据组,一个数据组可能包含多个 database 的时间序列元数据;
 
-数据按照存储组和其时间戳分给不同数据组,时间分区粒度默认为一天。
+数据按照 database 和其时间戳分给不同数据组,时间分区粒度默认为一天。
 
 数据组由多个节点组成,节点数量为副本数,保证数据高可用,其中某一个节点担任 Leader 的角色。
 
@@ -100,7 +100,7 @@ IoTDB 集群版的时间序列元数据按照存储组分给多个数据组,
 |参数名|参数说明|示例|
 | --- | --- | --- |
 |-m | --metadata	查询元数据分区,默认为查询数据分区|	-m |
-|-path | --path 	必要参数,需要查询的路径,若该路径无对应的存储组,则查询失败|	-path root.guangzhou.d1|
+|-path | --path 	必要参数,需要查询的路径,若该路径无对应的 database,则查询失败|	-path root.guangzhou.d1|
 |-st | --StartTime	查询数据分区时使用,起始时间,默认为系统当前时间|	-st 1576724778159 |
 |-et | --EndTime	查询数据分区时使用,终止时间,默认为系统当前时间。若终止时间小于起始时间,则终止时间默认为起始时间|	-et 1576724778159 |
 
@@ -111,7 +111,7 @@ IoTDB 集群版的时间序列元数据按照存储组分给多个数据组,
 3. 示例
 
 > 假设当前集群运行在 127.0.0.1:9003:40010:6667, 127.0.0.1:9005:40012:6668 和 127.0.0.1:9007:40014:6669 三个节点上。
-> 副本数为 2,共有 3 个存储组:{root.beijing、root.shanghai、root.guangzhou}。
+> 副本数为 2,共有 3 个 database:{root.beijing、root.shanghai、root.guangzhou}。
 
 + 查询数据的分区(默认时间范围,时间按天分区)
 
diff --git a/docs/zh/UserGuide/Maintenance-Tools/SchemaFileSketch-Tool.md b/docs/zh/UserGuide/Maintenance-Tools/SchemaFileSketch-Tool.md
index 11d889d596..bc28768056 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/SchemaFileSketch-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/SchemaFileSketch-Tool.md
@@ -21,7 +21,7 @@
 
 ## SchemaFile 解析工具
 
-自 0.14.0 版本起,IoTDB 将每个存储组下序列的元数据存储为 schema_file.pst 文件。
+自 0.14.0 版本起,IoTDB 将每个 database 下序列的元数据存储为 schema_file.pst 文件。
 
 如果需要将该文件转为便于阅读的的模式,可以使用本工具来解析指定 schema_file.pst 。
 s
diff --git a/docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md b/docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md
index 6a60e8790f..459912c228 100644
--- a/docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md
+++ b/docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md
@@ -132,8 +132,8 @@ IoTDB对外提供JMX和Prometheus格式的监控指标,对于JMX,可以通
 | data_node                 | name="total",status="Registered/Online/Unknown"                    | core      | 已注册/在线/离线 datanode 的节点数量                          | data_node{name="total",status="Registered",} 3.0                             |
 | partition_table           | name="number"                                                      | core      | partition table表的个数                                       | partition_table{name="number",} 2.0                                          |
 | region                    | name="total/{{ip}}:{{port}}",type="SchemaRegion/DataRegion"        | important | 全部或某个节点的schemaRegion/dataRegion个数                   | region{name="127.0.0.1:6671",type="DataRegion",} 10.0                        |
-| region                    | name="{{storageGroupName}}",type="SchemaRegion/DataRegion"         | normal    | 存储组的DataRegion/Schema个数                                 | region{name="root.schema.sg1",type="DataRegion",} 14.0                       |
-| slot                      | name="{{storageGroupName}}",type="schemaSlotNumber/dataSlotNumber" | normal    | 存储组的schemaSlot/dataSlot个数                               | slot{name="root.schema.sg1",type="schemaSlotNumber",} 2.0                    |
+| region                    | name="{{storageGroupName}}",type="SchemaRegion/DataRegion"         | normal    | database 的 DataRegion/Schema个数                                 | region{name="root.schema.sg1",type="DataRegion",} 14.0                       |
+| slot                      | name="{{storageGroupName}}",type="schemaSlotNumber/dataSlotNumber" | normal    | database 的 schemaSlot/dataSlot个数                               | slot{name="root.schema.sg1",type="schemaSlotNumber",} 2.0                    |
 
 ##### 1.3.3.6.2. 弱一致性
 | Metric       | Tag                                                                                          | level     | 说明                                                 | 示例                                                                                                             |
@@ -388,7 +388,7 @@ static_configs:
 1. `Overview`:系统概述
    1. `The number of entity`:实体数量,目前包含时间序列的数量
    2. `write point per minute`:每分钟系统累计写入点数
-   3. `storage group used memory`:每个存储组使用的内存大小
+   3. `database used memory`:每个 database 使用的内存大小
 2. `Interface`:接口
    1. `The QPS of Interface`:系统接口每秒钟访问次数
    2. `The time consumed of Interface`:系统接口的平均耗时
@@ -424,8 +424,8 @@ static_configs:
 3. `Region`:Region分布情况
    1. `Total Region in Node`:不同Node的Region总数量
    2. `Region in Node`:不同Node的Region数量,包括SchemaRegion、DataRegion
-   3. `Region in Storage Group`(Normal级别):不同存储组的Region数量,包括SchemaRegion、DataRegion
-   4. `Slot in Storage Group`(Normal级别):不同存储组的Slot数量,包括DataSlot数量和SchemaSlot数量
+   3. `Region in Database`(Normal级别):不同数据库的Region数量,包括SchemaRegion、DataRegion
+   4. `Slot in Database`(Normal级别):不同数据库的Slot数量,包括DataSlot数量和SchemaSlot数量
 4. `System`:系统
    1. `The number of GC(per minute)`:IoTDB每分钟的GC数量,包括Young GC和Full GC
    2. `The time consumed of GC(per minute)`:IoTDB的每分钟平均GC耗时,包括Young GC和Full GC
@@ -442,7 +442,7 @@ static_configs:
 1. `Overview`:系统概述
    1. `The number of entity`:实体数量,目前包含时间序列的数量
    2. `write point per minute`:每分钟系统累计写入点数
-   3. `storage group used memory`:每个存储组使用的内存大小
+   3. `database used memory`:每个 database 使用的内存大小
    4. `Memory`:系统内存大小和已经使用的大小
 2. `Interface`:接口
    1. `The QPS of Interface`:系统接口每秒钟访问次数
diff --git a/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md b/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
index edd60a0066..f83ba2b50c 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Auto-Create-MetaData.md
@@ -24,7 +24,7 @@
 自动创建元数据指的是根据写入数据的特征自动创建出用户未定义的时间序列,
 这既能解决海量序列场景下设备及测点难以提前预测与建模的难题,又能为用户提供开箱即用的写入体验。
 
-## 自动创建存储组的元数据
+## 自动创建 database
 
 * enable\_auto\_create\_schema
 
@@ -39,18 +39,18 @@
 
 | 名字 | default\_storage\_group\_level |
 |:---:|:---|
-| 描述 | 指定存储组在时间序列所处的层级,默认为第 1 层(root为第 0 层) |
+| 描述 | 指定 database 在时间序列所处的层级,默认为第 1 层(root为第 0 层) |
 | 类型 | int |
 | 默认值 | 1 |
 | 改后生效方式 | 仅允许在第一次启动服务前修改 |
 
 以下图为例:
 
-* 当 default_storage_group_level=1 时,将使用 root.turbine1 和 root.turbine2 作为存储组。
+* 当 default_storage_group_level=1 时,将使用 root.turbine1 和 root.turbine2 作为 database。
 
-* 当 default_storage_group_level=2 时,将使用 root.turbine1.d1、root.turbine1.d2、root.turbine2.d1 和 root.turbine2.d2 作为存储组。
+* 当 default_storage_group_level=2 时,将使用 root.turbine1.d1、root.turbine1.d2、root.turbine2.d1 和 root.turbine2.d2 作为 database。
 
-<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create storage group example">
+<img style="width:100%; max-width:800px; max-height:600px; margin-left:auto; margin-right:auto; display:block;" src="https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/Data%20Concept/Auto-Create-MetaData/auto_create_sg_example.png?raw=true" alt="auto create database example">
 
 ## 自动创建序列的元数据(前端指定数据类型)
 
diff --git a/docs/zh/UserGuide/Operate-Metadata/Node.md b/docs/zh/UserGuide/Operate-Metadata/Node.md
index 4f581871af..dfc7d4edb7 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Node.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Node.md
@@ -29,7 +29,7 @@ SHOW CHILD PATHS pathPattern
 
 可以查看此路径模式所匹配的所有路径的下一层的所有路径和它对应的节点类型,即pathPattern.*所匹配的路径及其节点类型。
 
-节点类型:ROOT -> SG INTERNAL -> STORAGE GROUP -> INTERNAL -> DEVICE -> TIMESERIES
+节点类型:ROOT -> SG INTERNAL -> DATABASE -> INTERNAL -> DEVICE -> TIMESERIES
 
 示例:
 
@@ -140,7 +140,7 @@ It costs 0.002s
 
 ## 查看设备
 
-* SHOW DEVICES pathPattern? (WITH STORAGE GROUP)? limitClause? #showDevices
+* SHOW DEVICES pathPattern? (WITH DATABASE)? limitClause? #showDevices
 
 与 `Show Timeseries` 相似,IoTDB 目前也支持两种方式查看设备。
 
@@ -180,23 +180,23 @@ It costs 0.001s
 
 其中,`isAligned`表示该设备下的时间序列是否对齐。
 
-查看设备及其存储组信息,可以使用 `SHOW DEVICES WITH STORAGE GROUP` 语句。
+查看设备及其 database 信息,可以使用 `SHOW DEVICES WITH DATABASE` 语句。
 
-* `SHOW DEVICES WITH STORAGE GROUP` 语句显示当前所有的设备信息和其所在的存储组,等价于 `SHOW DEVICES root.**`。
-* `SHOW DEVICES <PathPattern> WITH STORAGE GROUP` 语句规定了 `PathPattern`,返回给定的路径模式所匹配的设备信息和其所在的存储组。
+* `SHOW DEVICES WITH DATABASE` 语句显示当前所有的设备信息和其所在的 database,等价于 `SHOW DEVICES root.**`。
+* `SHOW DEVICES <PathPattern> WITH DATABASE` 语句规定了 `PathPattern`,返回给定的路径模式所匹配的设备信息和其所在的 database。
 
 SQL 语句如下所示:
 
 ```
-IoTDB> show devices with storage group
-IoTDB> show devices root.ln.** with storage group
+IoTDB> show devices with database
+IoTDB> show devices root.ln.** with database
 ```
 
 你可以获得如下数据:
 
 ```
 +-------------------+-------------+---------+
-|            devices|storage group|isAligned|
+|            devices|     database|isAligned|
 +-------------------+-------------+---------+
 |  root.ln.wf01.wt01|      root.ln|    false|
 |  root.ln.wf02.wt02|      root.ln|    false|
@@ -207,7 +207,7 @@ Total line number = 4
 It costs 0.003s
 
 +-----------------+-------------+---------+
-|          devices|storage group|isAligned|
+|          devices|     database|isAligned|
 +-----------------+-------------+---------+
 |root.ln.wf01.wt01|      root.ln|    false|
 |root.ln.wf02.wt02|      root.ln|    false|
diff --git a/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md b/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
index 25f4bf8d1d..5f54cec456 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Storage-Group.md
@@ -19,48 +19,43 @@
 
 -->
 
-# 存储组管理
+# 数据库管理
 
-存储组(Storage Group)可以被视为关系数据库中的Database。
+数据库(Database)可以被视为关系数据库中的Database。
 
-## 创建存储组
+## 创建数据库
 
-我们可以根据存储模型建立相应的存储组。创建存储组支持两种 SQL 语句,如下所示:
+我们可以根据存储模型建立相应的数据库。如下所示:
 
 ```
-IoTDB > set storage group to root.ln
-IoTDB > create storage group root.sgcc
+IoTDB > CREATE DATABASE root.ln
 ```
 
-根据以上两条 SQL 语句,我们可以创建出两个存储组。
-
-需要注意的是,存储组的父子节点都不能再设置存储组。例如在已经有`root.ln`和`root.sgcc`这两个存储组的情况下,创建`root.ln.wf01`存储组是不可行的。系统将给出相应的错误提示,如下所示:
+需要注意的是,database 的父子节点都不能再设置 database。例如在已经有`root.ln`和`root.sgcc`这两个 database 的情况下,创建`root.ln.wf01` database 是不可行的。系统将给出相应的错误提示,如下所示:
 
 ```
-IoTDB> set storage group to root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
-IoTDB> create storage group root.ln.wf01
-Msg: 300: root.ln has already been set to storage group.
+IoTDB> CREATE DATABASE root.ln.wf01
+Msg: 300: root.ln has already been created as database.
 ```
-存储组节点名只支持中英文字符、数字、下划线的组合,如果想设置为纯数字或者包含其他字符,需要用反引号(``)把存储组名称引起来。
+Database 节点名只支持中英文字符、数字、下划线的组合,如果想设置为纯数字或者包含其他字符,需要用反引号(``)把 database 名称引起来。
 
-还需注意,如果在 Windows 系统上部署,存储组名是大小写不敏感的。例如同时创建`root.ln` 和 `root.LN` 是不被允许的。
+还需注意,如果在 Windows 系统上部署,database 名是大小写不敏感的。例如同时创建`root.ln` 和 `root.LN` 是不被允许的。
 
-## 查看存储组
+## 查看 database
 
-在存储组创建后,我们可以使用 [SHOW STORAGE GROUP](../Reference/SQL-Reference.md) 语句和 [SHOW STORAGE GROUP \<PathPattern>](../Reference/SQL-Reference.md) 来查看存储组,SQL 语句如下所示:
+在 database 创建后,我们可以使用 [SHOW DATABASES](../Reference/SQL-Reference.md) 语句和 [SHOW DATABASES \<PathPattern>](../Reference/SQL-Reference.md) 来查看 database,SQL 语句如下所示:
 
 ```
-IoTDB> show storage group
-IoTDB> show storage group root.*
-IoTDB> show storage group root.**
+IoTDB> show databases
+IoTDB> show databases root.*
+IoTDB> show databases root.**
 ```
 
 执行结果为:
 
 ```
 +-------------+----+-------------------------+-----------------------+-----------------------+
-|storage group| ttl|schema_replication_factor|data_replication_factor|time_partition_interval|
+|database| ttl|schema_replication_factor|data_replication_factor|time_partition_interval|
 +-------------+----+-------------------------+-----------------------+-----------------------+
 |    root.sgcc|null|                        2|                      2|                 604800|
 |      root.ln|null|                        2|                      2|                 604800|
@@ -69,36 +64,36 @@ Total line number = 2
 It costs 0.060s
 ```
 
-## 删除存储组
+## 删除数据库
 
-用户可以使用`DELETE STORAGE GROUP <PathPattern>`语句删除该路径模式匹配的所有的存储组。在删除的过程中,需要注意的是存储组的数据也会被删除。
+用户可以使用`DELETE DATABASE <PathPattern>`语句删除该路径模式匹配的所有的数据库。在删除的过程中,需要注意的是数据库的数据也会被删除。
 
 ```
-IoTDB > DELETE STORAGE GROUP root.ln
-IoTDB > DELETE STORAGE GROUP root.sgcc
-// 删除所有数据,时间序列以及存储组
-IoTDB > DELETE STORAGE GROUP root.**
+IoTDB > DELETE DATABASE root.ln
+IoTDB > DELETE DATABASE root.sgcc
+// 删除所有数据,时间序列以及数据库
+IoTDB > DELETE DATABASE root.**
 ```
 
-## 统计存储组数量
+## 统计 database 数量
 
-用户可以使用`COUNT STORAGE GROUP <PathPattern>`语句统计存储组的数量,允许指定`PathPattern` 用来统计匹配该`PathPattern` 的存储组的数量
+用户可以使用`COUNT DATABASES <PathPattern>`语句统计数据库的数量,允许指定`PathPattern` 用来统计匹配该`PathPattern` 的数据库的数量
 
 SQL 语句如下所示:
 
 ```
-IoTDB> show storage group
-IoTDB> count storage group
-IoTDB> count storage group root.*
-IoTDB> count storage group root.sgcc.*
-IoTDB> count storage group root.sgcc
+IoTDB> show databases
+IoTDB> count databases
+IoTDB> count databases root.*
+IoTDB> count databases root.sgcc.*
+IoTDB> count databases root.sgcc
 ```
 
 执行结果为:
 
 ```
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |    root.sgcc|
 | root.turbine|
@@ -108,7 +103,7 @@ Total line number = 3
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     Database|
 +-------------+
 |            3|
 +-------------+
@@ -116,7 +111,7 @@ Total line number = 1
 It costs 0.003s
 
 +-------------+
-|storage group|
+|     Database|
 +-------------+
 |            3|
 +-------------+
@@ -124,7 +119,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     Database|
 +-------------+
 |            0|
 +-------------+
@@ -132,7 +127,7 @@ Total line number = 1
 It costs 0.002s
 
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |            1|
 +-------------+
diff --git a/docs/zh/UserGuide/Operate-Metadata/Template.md b/docs/zh/UserGuide/Operate-Metadata/Template.md
index d167fdbfac..9e5bab39a1 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Template.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Template.md
@@ -53,7 +53,7 @@ IoTDB> create schema template t2 aligned (lat FLOAT encoding=Gorilla, lon FLOAT
 
 **挂载模板前,需确保存相关储组已经创建。**
 
-**推荐将模板挂载在存储组节点上,不建议将模板挂载到存储组上层的节点上。**
+**推荐将模板挂载在 database 节点上,不建议将模板挂载到 database 上层的节点上。**
 
 挂载元数据模板的 SQL 语句如下所示:
 
@@ -63,7 +63,7 @@ IoTDB> set schema template t1 to root.sg1.d1
 
 ## 激活元数据模板
 
-挂载好元数据模板后,且系统开启自动注册序列功能的情况下,即可直接进行数据的写入。例如存储组为 root.sg1,模板 t1 被挂载到了节点 root.sg1.d1,那么可直接向时间序列(如 root.sg1.d1.temperature 和 root.sg1.d1.status)写入时间序列数据,该时间序列已可被当作正常创建的序列使用。
+挂载好元数据模板后,且系统开启自动注册序列功能的情况下,即可直接进行数据的写入。例如 database 为 root.sg1,模板 t1 被挂载到了节点 root.sg1.d1,那么可直接向时间序列(如 root.sg1.d1.temperature 和 root.sg1.d1.status)写入时间序列数据,该时间序列已可被当作正常创建的序列使用。
 
 **注意**:在插入数据之前或系统未开启自动注册序列功能,模板定义的时间序列不会被创建。可以使用如下SQL语句在插入数据前创建时间序列即激活模板:
 
@@ -86,7 +86,7 @@ show timeseries root.sg1.**
 
 ```shell
 +-----------------------+-----+-------------+--------+--------+-----------+----+----------+
-|             timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|             timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-----------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.sg1.d1.temperature| null|     root.sg1|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.sg1.d1.status| null|     root.sg1| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
diff --git a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
index bbe786b3f1..dc85c071d2 100644
--- a/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
+++ b/docs/zh/UserGuide/Operate-Metadata/Timeseries.md
@@ -82,7 +82,7 @@ IoTDB> drop timeseries root.ln.wf02.*
 
   SHOW TIMESERIES 中可以有四种可选的子句,查询结果为这些时间序列的所有信息
 
-时间序列信息具体包括:时间序列路径名,存储组,Measurement 别名,数据类型,编码方式,压缩方式,属性和标签。
+时间序列信息具体包括:时间序列路径名,database,Measurement 别名,数据类型,编码方式,压缩方式,属性和标签。
 
 示例:
 
@@ -103,7 +103,7 @@ IoTDB> show timeseries root.ln.**
 
 ```
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
+|                     timeseries|   alias|database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -117,7 +117,7 @@ Total line number = 7
 It costs 0.016s
 
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |   root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|null|      null|
 |     root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -159,7 +159,7 @@ IoTDB > COUNT TIMESERIES root.ln.wf01.wt01.status
 
 ```
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
-|                     timeseries|   alias|storage group|dataType|encoding|compression|                                       tags|                                              attributes|
+|                     timeseries|   alias|database|dataType|encoding|compression|                                       tags|                                              attributes|
 +-------------------------------+--------+-------------+--------+--------+-----------+-------------------------------------------+--------------------------------------------------------+
 |root.sgcc.wf03.wt01.temperature|    null|    root.sgcc|   FLOAT|     RLE|     SNAPPY|                                       null|                                                    null|
 |     root.sgcc.wf03.wt01.status|    null|    root.sgcc| BOOLEAN|   PLAIN|     SNAPPY|                                       null|                                                    null|
@@ -288,7 +288,7 @@ show timeseries root.ln.** where description contains 'test1'
 
 ```
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
-|                timeseries|alias|storage group|dataType|encoding|compression|        tags|attributes|
+|                timeseries|alias|database|dataType|encoding|compression|        tags|attributes|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
 |root.ln.wf02.wt02.hardware| null|      root.ln|    TEXT|   PLAIN|     SNAPPY|{"unit":"c"}|      null|
 +--------------------------+-----+-------------+--------+--------+-----------+------------+----------+
@@ -296,7 +296,7 @@ Total line number = 1
 It costs 0.005s
 
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|                   tags|attributes|
+|              timeseries|alias|database|dataType|encoding|compression|                   tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
 |root.ln.wf02.wt02.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|{"description":"test1"}|      null|
 +------------------------+-----+-------------+--------+--------+-----------+-----------------------+----------+
@@ -362,7 +362,7 @@ create aligned timeseries root.sg1.d1(s1 INT32 tags(tag1=v1, tag2=v2) attributes
 
 ```
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 |root.sg1.d1.s2| null|     root.sg1|  DOUBLE| GORILLA|     SNAPPY|{"tag4":"v4","tag3":"v3"}|{"attr4":"v4","attr3":"v3"}|
@@ -372,11 +372,11 @@ create aligned timeseries root.sg1.d1(s1 INT32 tags(tag1=v1, tag2=v2) attributes
 支持查询:
 
 ```
-IoTDB> show storage group where tag1='v1'
+IoTDB> show databases where tag1='v1'
 Msg: 401: Error occurred while parsing SQL to physical plan: line 1:19 mismatched input 'where' expecting {<EOF>, ';'}
 IoTDB> show timeseries where tag1='v1'
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
-|    timeseries|alias|storage group|dataType|encoding|compression|                     tags|                 attributes|
+|    timeseries|alias|database|dataType|encoding|compression|                     tags|                 attributes|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
 |root.sg1.d1.s1| null|     root.sg1|   INT32|     RLE|     SNAPPY|{"tag1":"v1","tag2":"v2"}|{"attr2":"v2","attr1":"v1"}|
 +--------------+-----+-------------+--------+--------+-----------+-------------------------+---------------------------+
diff --git a/docs/zh/UserGuide/Process-Data/Continuous-Query.md b/docs/zh/UserGuide/Process-Data/Continuous-Query.md
index ec18957052..a9101fde7d 100644
--- a/docs/zh/UserGuide/Process-Data/Continuous-Query.md
+++ b/docs/zh/UserGuide/Process-Data/Continuous-Query.md
@@ -387,7 +387,7 @@ BEGIN
 END
 ```
 
-`cq5`计算以`root.ln`为前缀的所有`temperature + 1`的值,并将结果储存在另一个存储组`root.precalculated_sg`中。除存储组名称不同外,目标序列与源序列路径名均相同。
+`cq5`计算以`root.ln`为前缀的所有`temperature + 1`的值,并将结果储存在另一个 database `root.precalculated_sg`中。除 database 名称不同外,目标序列与源序列路径名均相同。
 
 `cq5`每20秒执行一次,每次执行的查询的时间窗口范围是从过去20秒到当前时间。
 
@@ -530,7 +530,7 @@ DROP CONTINUOUS QUERY s1_count_cq;
 
 ### 对数据进行降采样并对降采样后的数据使用不同的保留策略
 
-可以使用连续查询,定期将高频率采样的原始数据(如每秒1000个点),降采样(如每秒仅保留一个点)后保存到另一个存储组的同名序列中。高精度的原始数据所在存储组的`TTL`可能设置的比较短,比如一天,而低精度的降采样后的数据所在的存储组`TTL`可以设置的比较长,比如一个月,从而达到快速释放磁盘空间的目的。
+可以使用连续查询,定期将高频率采样的原始数据(如每秒1000个点),降采样(如每秒仅保留一个点)后保存到另一个 database 的同名序列中。高精度的原始数据所在 database 的`TTL`可能设置的比较短,比如一天,而低精度的降采样后的数据所在的 database `TTL`可以设置的比较长,比如一个月,从而达到快速释放磁盘空间的目的。
 
 ### 预计算代价昂贵的查询
 
diff --git a/docs/zh/UserGuide/Process-Data/Select-Into.md b/docs/zh/UserGuide/Process-Data/Select-Into.md
index 3d0a57299a..47407ee9ba 100644
--- a/docs/zh/UserGuide/Process-Data/Select-Into.md
+++ b/docs/zh/UserGuide/Process-Data/Select-Into.md
@@ -84,7 +84,7 @@ Total line number = 4
 It costs 0.725s
 ```
 
-该语句将 `root.sg` 存储组下四条序列的查询结果写入到 `root.sg_copy` 存储组下指定的四条序列中。注意,`root.sg_copy.d2(t1, t2)` 也可以写做 `root.sg_copy.d2(t1), root.sg_copy.d2(t2)`。
+该语句将 `root.sg` database 下四条序列的查询结果写入到 `root.sg_copy` database 下指定的四条序列中。注意,`root.sg_copy.d2(t1, t2)` 也可以写做 `root.sg_copy.d2(t1), root.sg_copy.d2(t2)`。
 
 可以看到,`INTO` 子句的写法非常灵活,只要满足组合出的目标序列没有重复,且与查询结果列一一对应即可。
 
@@ -127,7 +127,7 @@ Total line number = 4
 It costs 0.625s
 ```
 
-该语句同样是将 `root.sg` 存储组下四条序列的查询结果写入到 `root.sg_copy` 存储组下指定的四条序列中。但在按设备对齐中,`intoItem` 的数量必须和查询的设备数量一致,每个查询设备对应一个 `intoItem`。
+该语句同样是将 `root.sg` database 下四条序列的查询结果写入到 `root.sg_copy` database 下指定的四条序列中。但在按设备对齐中,`intoItem` 的数量必须和查询的设备数量一致,每个查询设备对应一个 `intoItem`。
 
 容易看出,在按设备对齐查询的情况下,同一个设备下的列只能写入相同的目标设备。
 
@@ -269,7 +269,7 @@ select * into ::(backup_${4}) from root.sg.** align by device;
 
 - 对于一般的聚合查询,时间戳是无意义的,约定使用 0 来存储。
 - 当目标序列存在时,需要保证源序列和目标时间序列的数据类型、压缩和编码方式、是否属于对齐设备等元数据信息一致。
-- 当目标序列不存在时,系统将自动创建目标序列(包括存储组)。
+- 当目标序列不存在时,系统将自动创建目标序列(包括 database)。
 - 当查询的序列不存在或查询的序列不存在数据,则不会自动创建目标序列。
 
 ## 应用举例
diff --git a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
index db44805857..0a2094cb1b 100644
--- a/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
+++ b/docs/zh/UserGuide/Query-Data/Aggregate-Query.md
@@ -70,7 +70,7 @@ It costs 0.016s
 - 使用 `GROUP BY LEVEL = INT` 来指定需要聚合的层级,并约定 `ROOT` 为第 0 层。若统计 "root.ln" 下所有序列则需指定 level 为 1。
 - 分层聚合查询支持使用所有内置聚合函数。对于 `sum`,`avg`,`min_value`, `max_value`, `extreme` 五种聚合函数,需保证所有聚合的时间序列数据类型相同。其他聚合函数没有此限制。
 
-**示例1:** 不同存储组下均存在名为 status 的序列, 如 "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", 以及 "root.sgcc.wf03.wt01.status", 如果需要统计不同存储组下 status 序列的数据点个数,使用以下查询:
+**示例1:** 不同 database 下均存在名为 status 的序列, 如 "root.ln.wf01.wt01.status", "root.ln.wf02.wt02.status", 以及 "root.sgcc.wf03.wt01.status", 如果需要统计不同 database 下 status 序列的数据点个数,使用以下查询:
 
 ```sql
 select count(status) from root.** group by level = 1
@@ -106,9 +106,9 @@ Total line number = 1
 It costs 0.003s
 ```
 
-注意,这时会将存储组 `ln` 和 `sgcc` 下名为 `wt01` 的设备视为同名设备聚合在一起。
+注意,这时会将 database `ln` 和 `sgcc` 下名为 `wt01` 的设备视为同名设备聚合在一起。
 
-**示例3:** 统计不同存储组下的不同设备中 status 序列的数据点个数,可以使用以下查询:
+**示例3:** 统计不同 database 下的不同设备中 status 序列的数据点个数,可以使用以下查询:
 
 ```sql
 select count(status) from root.** group by level = 1, 3
@@ -461,7 +461,7 @@ IoTDB 还支持通过 `GROUP BY TAGS` 语句根据时间序列中定义的标签
 `d8` 和 `d9` 设备目前处于调试阶段,还未被分配到具体的城市和车间,所以其相应的标签值为空值。
 
 ```SQL
-set storage group to root.factory1;
+CREATE DATABASE root.factory1;
 create timeseries root.factory1.d1.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d2.temperature with datatype=FLOAT tags(city=Beijing, workshop=w1);
 create timeseries root.factory1.d3.temperature with datatype=FLOAT tags(city=Beijing, workshop=w2);
diff --git a/docs/zh/UserGuide/Query-Data/Select-Expression.md b/docs/zh/UserGuide/Query-Data/Select-Expression.md
index 2db8fc662d..034a799ff6 100644
--- a/docs/zh/UserGuide/Query-Data/Select-Expression.md
+++ b/docs/zh/UserGuide/Query-Data/Select-Expression.md
@@ -420,7 +420,7 @@ It costs 0.005s
 ```
 IoTDB> show timeseries root.sg.d1.*;
 +-------------+-----+-------------+--------+--------+-----------+----+----------+
-|   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|   timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +-------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.sg.d1.s3| null|      root.sg|   FLOAT|     RLE|     SNAPPY|null|      null|
 |root.sg.d1.s4| null|      root.sg|  DOUBLE|     RLE|     SNAPPY|null|      null|
diff --git a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
index 98e0a7eed1..b530090ea2 100644
--- a/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
+++ b/docs/zh/UserGuide/QuickStart/Command-Line-Interface.md
@@ -74,7 +74,7 @@ IoTDB> login successfully
 |-pw <`password`>|string 类型,不需要引号|否|IoTDB 连接服务器所使用的密码。如果没有输入密码 IoTDB 会在 Cli 端提示输入密码。|-pw root|
 |-u <`username`>|string 类型,不需要引号|是|IoTDB 连接服务器锁使用的用户名。|-u root|
 |-maxPRC <`maxPrintRowCount`>|int 类型|否|设置 IoTDB 返回客户端命令行中所显示的最大行数。|-maxPRC 10|
-|-e <`execute`> |string 类型|否|在不进入客户端输入模式的情况下,批量操作 IoTDB|-e "show storage group"|
+|-e <`execute`> |string 类型|否|在不进入客户端输入模式的情况下,批量操作 IoTDB|-e "show databases"|
 |-c | 空 | 否 | 如果服务器设置了 `rpc_thrift_compression_enable=true`, 则 CLI 必须使用 `-c` | -c |
 
 下面展示一条客户端命令,功能是连接 IP 为 10.129.187.21 的主机,端口为 6667 ,用户名为 root,密码为 root,以数字的形式打印时间戳,IoTDB 命令行显示的最大行数为 10。
@@ -157,7 +157,7 @@ Shell >./standalone.sh
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role1.png?raw=true)
 
-9、在Role Name 中输入`iotdb_admin`,点击save 按钮。提示:这里的`iotdb_admin`不能为其他名称否则即使登陆成功后也将无权限使用iotdb的查询、插入、创建存储组、添加用户、角色等功能
+9、在Role Name 中输入`iotdb_admin`,点击save 按钮。提示:这里的`iotdb_admin`不能为其他名称否则即使登陆成功后也将无权限使用iotdb的查询、插入、创建 database、添加用户、角色等功能
 
 ![avatar](https://github.com/apache/iotdb-bin-resources/blob/main/docs/UserGuide/CLI/Command-Line-Interface/add_role2.png?raw=true)
 
@@ -228,7 +228,7 @@ Shell > sbin\start-cli.bat -h {host} -p {rpcPort} -u {user} -pw {password} -e {s
 
 假设用户希望对一个新启动的 IoTDB 进行如下操作:
 
-1. 创建名为 root.demo 的存储组
+1. 创建名为 root.demo 的 database
 
 2. 创建名为 root.demo.s1 的时间序列
 
@@ -246,7 +246,7 @@ rpcPort=6667
 user=root
 pass=root
 
-./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "set storage group to root.demo"
+./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "CREATE DATABASE root.demo"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "create timeseries root.demo.s1 WITH DATATYPE=INT32, ENCODING=RLE"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(1,10)"
 ./sbin/start-cli.sh -h ${host} -p ${rpcPort} -u ${user} -pw ${pass} -e "insert into root.demo(timestamp,s1) values(2,11)"
diff --git a/docs/zh/UserGuide/QuickStart/QuickStart.md b/docs/zh/UserGuide/QuickStart/QuickStart.md
index d277f28c02..2d28f7f0f8 100644
--- a/docs/zh/UserGuide/QuickStart/QuickStart.md
+++ b/docs/zh/UserGuide/QuickStart/QuickStart.md
@@ -122,30 +122,30 @@ IoTDB>
 
 在这里,我们首先介绍一下使用 Cli 工具创建时间序列、插入数据并查看数据的方法。
 
-数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个存储组。在定义时间序列之前,要首先使用 SET STORAGE GROUP 语句定义存储组。SQL 语句如下:
+数据在 IoTDB 中的组织形式是以时间序列为单位,每一个时间序列中有若干个数据-时间点对,每一个时间序列属于一个 database。在定义时间序列之前,要首先使用 CREATE DATABASE 语句创建数据库。SQL 语句如下:
 
 ``` 
-IoTDB> SET STORAGE GROUP TO root.ln
+IoTDB> CREATE DATABASE root.ln
 ```
 
-我们可以使用 SHOW STORAGE GROUP 语句来查看系统当前所有的存储组,SQL 语句如下:
+我们可以使用 SHOW DATABASES 语句来查看系统当前所有的 database,SQL 语句如下:
 
 ```
-IoTDB> SHOW STORAGE GROUP
+IoTDB> SHOW DATABASES
 ```
 
 执行结果为:
 
 ```
 +-------------+
-|storage group|
+|     database|
 +-------------+
 |      root.ln|
 +-------------+
 Total line number = 1
 ```
 
-存储组设定后,使用 CREATE TIMESERIES 语句可以创建新的时间序列,创建时间序列时需要定义数据的类型和编码方式。此处我们创建两个时间序列,SQL 语句如下:
+Database 设定后,使用 CREATE TIMESERIES 语句可以创建新的时间序列,创建时间序列时需要定义数据的类型和编码方式。此处我们创建两个时间序列,SQL 语句如下:
 
 ```
 IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
@@ -164,7 +164,7 @@ IoTDB> SHOW TIMESERIES
 
 ```
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                   timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                   timeseries|alias|     database|dataType|encoding|compression|tags|attributes|
 +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.temperature| null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
 |     root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
@@ -182,7 +182,7 @@ IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
 
 ```
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|              timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|              timeseries|alias|     database|dataType|encoding|compression|tags|attributes|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |root.ln.wf01.wt01.status| null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
 +------------------------+-----+-------------+--------+--------+-----------+----+----------+
diff --git a/docs/zh/UserGuide/QuickStart/ServerFileList.md b/docs/zh/UserGuide/QuickStart/ServerFileList.md
index 214099f2b5..c49f74116f 100644
--- a/docs/zh/UserGuide/QuickStart/ServerFileList.md
+++ b/docs/zh/UserGuide/QuickStart/ServerFileList.md
@@ -145,6 +145,6 @@
 ### Raft Catch Up
 > 在 basedir/remote/{nodeIdentifier}/{storageGroupName}/{partitionNum}/目录下
 1. {fileName}.tsfile
-    + 远程 TsFile,拉取完毕会 load 进对应的存储组数据目录下
+    + 远程 TsFile,拉取完毕会 load 进对应的 database 数据目录下
 2. {fileName}.tsfile.mod
-    + 远程更新文件 TsFile.mod,拉取完毕会 load 进对应的存储组数据目录下
+    + 远程更新文件 TsFile.mod,拉取完毕会 load 进对应的 database 数据目录下
diff --git a/docs/zh/UserGuide/Reference/ConfigNode-Config-Manual.md b/docs/zh/UserGuide/Reference/ConfigNode-Config-Manual.md
index 40ff39524d..a8270c07ce 100644
--- a/docs/zh/UserGuide/Reference/ConfigNode-Config-Manual.md
+++ b/docs/zh/UserGuide/Reference/ConfigNode-Config-Manual.md
@@ -154,7 +154,7 @@ IoTDB 集群的全局配置通过 ConfigNode 配置。
 
 |名字| data\_replication\_factor |
 |:---:|:---|
-|描述| 存储组的默认数据副本数|
+|描述| Database 的默认数据副本数|
 |类型| Int |
 |默认值| 1 |
 |改后生效方式|重启服务生效|
@@ -172,7 +172,7 @@ IoTDB 集群的全局配置通过 ConfigNode 配置。
 
 |名字| schema\_replication\_factor |
 |:---:|:---|
-|描述| 存储组的默认元数据副本数 |
+|描述| Database 的默认元数据副本数 |
 |类型| Int |
 |默认值| 1 |
 |改后生效方式|重启服务生效|
@@ -228,7 +228,7 @@ IoTDB 集群的全局配置通过 ConfigNode 配置。
 |默认值| org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor |
 |改后生效方式|仅允许在第一次启动服务前修改|
 
-### 存储组配置
+### Database 配置
 
 * default\_ttl
 
@@ -243,7 +243,7 @@ IoTDB 集群的全局配置通过 ConfigNode 配置。
 
 |名字| time\_partition\_interval\_for\_routing |
 |:--:|:----------------------------------------|
-|描述| 存储组默认的数据时间分区间隔                          |
+|描述| Database 默认的数据时间分区间隔                          |
 |类型| Long                                    |
 |单位| 毫秒                                      |
 |默认值| 604800000                                |
diff --git a/docs/zh/UserGuide/Reference/DataNode-Config-Manual.md b/docs/zh/UserGuide/Reference/DataNode-Config-Manual.md
index 6aade22032..4c531c07e8 100644
--- a/docs/zh/UserGuide/Reference/DataNode-Config-Manual.md
+++ b/docs/zh/UserGuide/Reference/DataNode-Config-Manual.md
@@ -1280,7 +1280,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 
 
 |名字| default\_storage\_group\_level |
 |:---:|:---|
-|描述| 当写入的数据不存在且自动创建序列时,若需要创建相应的存储组,将序列路径的哪一层当做存储组。例如,如果我们接到一个新序列 root.sg0.d1.s2, 并且 level=1, 那么 root.sg0 被视为存储组(因为 root 是 level 0 层)|
+|描述| 当写入的数据不存在且自动创建序列时,若需要创建相应的 database,将序列路径的哪一层当做 database。例如,如果我们接到一个新序列 root.sg0.d1.s2, 并且 level=1, 那么 root.sg0 被视为database(因为 root 是 level 0 层)|
 |取值| Int32 |
 |默认值| 1 |
 |改后生效方式|重启服务生效|
@@ -1660,7 +1660,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 
 
 |名字| time\_partition\_interval\_for\_storage  |
 |:---:|:-----------------------------------------|
-|描述| 用于存储组分区的时间段长度,用户指定的存储组下会使用该时间段进行分区,单位:毫秒 |
+|描述| 用于 database 分区的时间段长度,用户指定的 database 下会使用该时间段进行分区,单位:毫秒 |
 |类型| Int64                                    |
 |默认值| 604800000                                 |
 |改后生效方式| 仅允许在第一次启动服务前修改                           |
@@ -1669,7 +1669,7 @@ IoTDB DataNode 与 Standalone 模式共用一套配置文件,均位于 IoTDB 
 
 |   名字   | data\_region\_num                                                                                                                                                    |
 |:------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-|   描述   | 每一个用户定义存储组下 data region 的数量, data region 是内存中写入的并行单位,每一个 data region 内的写入请求是串行的,推荐值为: [data region number] = [CPU core number] / [user-defined storage group number] |
+|   描述   | 每一个用户定义 database 下 data region 的数量, data region 是内存中写入的并行单位,每一个 data region 内的写入请求是串行的,推荐值为: [data region number] = [CPU core number] / [user-defined database number] |
 |   类型   | INT32                                                                                                                                                                |
 |  默认值   | 1                                                                                                                                                                    |
 | 改后生效方式 | 仅允许在第一次启动服务前修改                                                                                                                                                       |
diff --git a/docs/zh/UserGuide/Reference/SQL-Reference.md b/docs/zh/UserGuide/Reference/SQL-Reference.md
index 5154fb6613..8ab352400b 100644
--- a/docs/zh/UserGuide/Reference/SQL-Reference.md
+++ b/docs/zh/UserGuide/Reference/SQL-Reference.md
@@ -39,20 +39,20 @@ It costs 0.417s
 
 ## Schema 语句
 
-* 设置存储组
+* 设置 database
 
 ``` SQL
-SET STORAGE GROUP TO <FullPath>
-Eg: IoTDB > SET STORAGE GROUP TO root.ln.wf01.wt01
+CREATE DATABASE <FullPath>
+Eg: IoTDB > CREATE DATABASE root.ln.wf01.wt01
 Note: FullPath can not include wildcard `*` or `**`
 ```
-* 删除存储组
+* 删除 database
 
 ```
-DELETE STORAGE GROUP <PathPattern> [COMMA <PathPattern>]*
-Eg: IoTDB > DELETE STORAGE GROUP root.ln
-Eg: IoTDB > DELETE STORAGE GROUP root.*
-Eg: IoTDB > DELETE STORAGE GROUP root.**
+DELETE DATABASE <PathPattern> [COMMA <PathPattern>]*
+Eg: IoTDB > DELETE DATABASE root.ln
+Eg: IoTDB > DELETE DATABASE root.*
+Eg: IoTDB > DELETE DATABASE root.**
 ```
 
 * 创建时间序列语句
@@ -255,21 +255,21 @@ Eg: show timeseries root.ln.** where description contains 'test1'
 Eg: show timeseries root.ln.** where unit='c' limit 10 offset 10
 ```
 
-* 显示存储组语句
+* 查看所有 database 语句
 
 ```
-SHOW STORAGE GROUP
-Eg: IoTDB > SHOW STORAGE GROUP
+SHOW DATABASES
+Eg: IoTDB > SHOW DATABASES
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
-* 显示特定存储组语句
+* 显示特定 database
 
 ```
-SHOW STORAGE GROUP <PathPattern>
-Eg: IoTDB > SHOW STORAGE GROUP root.*
-Eg: IoTDB > SHOW STORAGE GROUP root.**
-Eg: IoTDB > SHOW STORAGE GROUP root.ln
+SHOW DATABASES <PathPattern>
+Eg: IoTDB > SHOW DATABASES root.*
+Eg: IoTDB > SHOW DATABASES root.**
+Eg: IoTDB > SHOW DATABASES root.ln
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
@@ -317,21 +317,21 @@ Note: This statement can be used in IoTDB Client and JDBC.
 * 显示所有设备语句
 
 ```
-SHOW DEVICES (WITH STORAGE GROUP)? limitClause? 
+SHOW DEVICES (WITH DATABASE)? limitClause? 
 Eg: IoTDB > SHOW DEVICES
-Eg: IoTDB > SHOW DEVICES WITH STORAGE GROUP
+Eg: IoTDB > SHOW DEVICES WITH DATABASE
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
 
 * 显示特定设备语句
 
 ```
-SHOW DEVICES <PathPattern> (WITH STORAGE GROUP)? limitClause?
+SHOW DEVICES <PathPattern> (WITH DATABASE)? limitClause?
 Eg: IoTDB > SHOW DEVICES root.**
 Eg: IoTDB > SHOW DEVICES root.ln.*
 Eg: IoTDB > SHOW DEVICES root.*.wf01
-Eg: IoTDB > SHOW DEVICES root.ln.* WITH STORAGE GROUP
-Eg: IoTDB > SHOW DEVICES root.*.wf01 WITH STORAGE GROUP
+Eg: IoTDB > SHOW DEVICES root.ln.* WITH DATABASE
+Eg: IoTDB > SHOW DEVICES root.*.wf01 WITH DATABASE
 Note: The path can be path pattern.
 Note: This statement can be used in IoTDB Client and JDBC.
 ```
@@ -737,7 +737,7 @@ select last s1 as speed, s2 from root.sg.d1
 
 E.g. select s1 as temperature from root.sg.*
 
-此时如果存储组 root.sg.* 中含有多个设备,则会抛出异常。
+此时如果 database root.sg.* 中含有多个设备,则会抛出异常。
 
 2. 按设备对齐查询中,每个 AS 语句对应的前缀路径可以含多个设备,而后缀路径不能含多个传感器。
 
@@ -1053,7 +1053,7 @@ Note: the statement needs to satisfy this constraint: <PrefixPath> + <Path> = <T
 
 ## TTL
 
-IoTDB 支持对存储组级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
+IoTDB 支持对 database 级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
 可以帮助您控制 IoTDB 占用的总磁盘空间以避免出现磁盘写满等异常。并且,随着文件数量的增多,查询性能往往随之下降,
 内存占用也会有所提高。及时地删除一些较老的文件有助于使查询性能维持在一个较高的水平和减少内存资源的占用。
 IoTDB 中的 TTL 操作可以由以下的语句进行实现:
@@ -1063,7 +1063,7 @@ IoTDB 中的 TTL 操作可以由以下的语句进行实现:
 ```
 SET TTL TO StorageGroupName TTLTime
 Eg. SET TTL TO root.group1 3600000
-这个例子展示了如何使得 root.group1 这个存储组只保留近一个小时的数据,一个小时前的数据会被删除或者进入不可见状态。
+这个例子展示了如何使得 root.group1 这个 database 只保留近一个小时的数据,一个小时前的数据会被删除或者进入不可见状态。
 注意:TTLTime 应是毫秒时间戳。一旦 TTL 被设置,超过 TTL 时间范围的写入将被拒绝。
 ```
 
@@ -1072,7 +1072,7 @@ Eg. SET TTL TO root.group1 3600000
 ```
 UNSET TTL TO StorageGroupName
 Eg. UNSET TTL TO root.group1
-这个例子展示了如何取消存储组 root.group1 的 TTL,这将使得该存储组接受任意时刻的数据。
+这个例子展示了如何取消 database root.group1 的 TTL,这将使得该 database 接受任意时刻的数据。
 ```
 
 * 显示 TTL
@@ -1081,13 +1081,13 @@ Eg. UNSET TTL TO root.group1
 SHOW ALL TTL
 SHOW TTL ON StorageGroupNames
 Eg.1 SHOW ALL TTL
-这个例子会给出所有存储组的 TTL。
+这个例子会给出所有 database 的 TTL。
 Eg.2 SHOW TTL ON root.group1,root.group2,root.group3
-这个例子会显示指定的三个存储组的 TTL。
-注意:没有设置 TTL 的存储组的 TTL 将显示为 null。
+这个例子会显示指定的三个 database 的 TTL。
+注意:没有设置 TTL 的 database 的 TTL 将显示为 null。
 ```
 
-注意:当您对某个存储组设置 TTL 的时候,超过 TTL 范围的数据将会立即不可见。但由于数据文件可能混合包含处在 TTL 范围内
+注意:当您对某个 database 设置 TTL 的时候,超过 TTL 范围的数据将会立即不可见。但由于数据文件可能混合包含处在 TTL 范围内
 与范围外的数据,同时数据文件可能正在接受查询,数据文件的物理删除不会立即进行。如果你在此时取消或者调大 TTL,
 一部分之前不可见的数据可能重新可见,而那些已经被物理删除的数据则将永久丢失。也就是说,TTL 操作不会原子性地删除
 对应的数据。因此我们不推荐您频繁修改 TTL,除非您能接受该操作带来的一定程度的不可预知性。
@@ -1097,7 +1097,7 @@ Eg.2 SHOW TTL ON root.group1,root.group2,root.group3
 ```
 DELETE PARTITION StorageGroupName INT(COMMA INT)*
 Eg DELETE PARTITION root.sg1 0,1,2
-该例子将删除存储组 root.sg1 的前三个时间分区
+该例子将删除 database root.sg1 的前三个时间分区
 ```
 partitionId 可以通过查看数据文件夹获取,或者是计算 `timestamp / partitionInterval`得到。 
 
diff --git a/docs/zh/UserGuide/Reference/Syntax-Conventions.md b/docs/zh/UserGuide/Reference/Syntax-Conventions.md
index a942ce8da5..a066f8d649 100644
--- a/docs/zh/UserGuide/Reference/Syntax-Conventions.md
+++ b/docs/zh/UserGuide/Reference/Syntax-Conventions.md
@@ -332,7 +332,7 @@ create timeseries root.sg.`111` with datatype=FLOAT,encoding=PLAIN;
 
 ```SQL
 +---------------------------+-----+-------------+--------+--------+-----------+----+----------+
-|                 timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+|                 timeseries|alias|database|dataType|encoding|compression|tags|attributes|
 +---------------------------+-----+-------------+--------+--------+-----------+----+----------+
 |            root.sg.`111`.a| null|      root.sg|   FLOAT|   PLAIN|     SNAPPY|null|      null|
 |root.sg.`www.``baidu.com`.a| null|      root.sg|   FLOAT|   PLAIN|     SNAPPY|null|      null|
@@ -484,7 +484,7 @@ CREATE PIPE my_pipe TO my_iotdb FROM
 
 ## Session、TsFile API
 
-在使用Session、TsFIle API时,如果您调用的方法需要以字符串形式传入物理量(measurement)、设备(device)、存储组(storage group)、路径(path)等参数,**请保证所传入字符串与使用 SQL 语句时的写法一致**,下面是一些帮助您理解的例子。具体代码示例可以参考:`example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java`
+在使用Session、TsFIle API时,如果您调用的方法需要以字符串形式传入物理量(measurement)、设备(device)、数据库(database)、路径(path)等参数,**请保证所传入字符串与使用 SQL 语句时的写法一致**,下面是一些帮助您理解的例子。具体代码示例可以参考:`example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java`
 
 1. 以创建时间序列 createTimeseries 为例:
 
diff --git a/docs/zh/UserGuide/Write-Data/CSV-Tool.md b/docs/zh/UserGuide/Write-Data/CSV-Tool.md
index a023c3896a..ad04b5d17c 100644
--- a/docs/zh/UserGuide/Write-Data/CSV-Tool.md
+++ b/docs/zh/UserGuide/Write-Data/CSV-Tool.md
@@ -127,9 +127,9 @@ Time,Device,hardware(TEXT),status(BOOLEAN)
 ### 创建元数据 (可选)
 
 ```sql
-SET STORAGE GROUP TO root.fit.d1;
-SET STORAGE GROUP TO root.fit.d2;
-SET STORAGE GROUP TO root.fit.p;
+CREATE DATABASE root.fit.d1;
+CREATE DATABASE root.fit.d2;
+CREATE DATABASE root.fit.p;
 CREATE TIMESERIES root.fit.d1.s1 WITH DATATYPE=INT32,ENCODING=RLE;
 CREATE TIMESERIES root.fit.d1.s2 WITH DATATYPE=TEXT,ENCODING=PLAIN;
 CREATE TIMESERIES root.fit.d2.s1 WITH DATATYPE=INT32,ENCODING=RLE;
diff --git a/docs/zh/UserGuide/Write-Data/Load-External-Tsfile.md b/docs/zh/UserGuide/Write-Data/Load-External-Tsfile.md
index 21d66d93a0..efbb954d86 100644
--- a/docs/zh/UserGuide/Write-Data/Load-External-Tsfile.md
+++ b/docs/zh/UserGuide/Write-Data/Load-External-Tsfile.md
@@ -37,7 +37,7 @@
 
 第一个参数表示待加载的 tsfile 文件的路径。load 命令有三个可选项,分别是 sglevel,值域为整数,verify,值域为 true/false,onSuccess,值域为delete/none。不同选项之间用空格隔开,选项之间无顺序要求。
 
-SGLEVEL 选项,当 tsfile 对应的存储组不存在时,用户可以通过 sglevel 参数的值来制定存储组的级别,默认为`iotdb-datanode.properties`中设置的级别。例如当设置 level 参数为1时表明此 tsfile 中所有时间序列中层级为1的前缀路径是存储组,即若存在设备 root.sg.d1.s1,此时 root.sg 被指定为存储组。
+SGLEVEL 选项,当 tsfile 对应的 database 不存在时,用户可以通过 sglevel 参数的值来制定 database 的级别,默认为`iotdb-datanode.properties`中设置的级别。例如当设置 level 参数为1时表明此 tsfile 中所有时间序列中层级为1的前缀路径是 database,即若存在设备 root.sg.d1.s1,此时 root.sg 被指定为 database。
 
 VERIFY 选项表示是否对载入的 tsfile 中的所有时间序列进行元数据检查,默认为 true。开启时,若载入的 tsfile 中的时间序列在当前 iotdb 中也存在,则会比较该时间序列的所有 Measurement 的数据类型是否一致,如果出现不一致将会导致载入失败,关闭该选项会跳过检查,载入更快。
 
diff --git a/example/client-cpp-example/src/AlignedTimeseriesSessionExample.cpp b/example/client-cpp-example/src/AlignedTimeseriesSessionExample.cpp
index 6620ab8ff2..e5c1da1068 100644
--- a/example/client-cpp-example/src/AlignedTimeseriesSessionExample.cpp
+++ b/example/client-cpp-example/src/AlignedTimeseriesSessionExample.cpp
@@ -69,7 +69,7 @@ void ActivateTemplate() {
 }
 
 void showDevices() {
-    unique_ptr<SessionDataSet> dataSet = session->executeQueryStatement("show devices with storage group");
+    unique_ptr<SessionDataSet> dataSet = session->executeQueryStatement("show devices with database");
     for (const string &name: dataSet->getColumnNames()) {
         cout << name << "  ";
     }
diff --git a/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java b/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
index 5925562a96..84560120c3 100644
--- a/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
+++ b/example/jdbc/src/main/java/org/apache/iotdb/JDBCExample.java
@@ -40,7 +40,7 @@ public class JDBCExample {
       statement.setFetchSize(10000);
 
       try {
-        statement.execute("SET STORAGE GROUP TO root.sg1");
+        statement.execute("CREATE DATABASE root.sg1");
         statement.execute(
             "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY");
         statement.execute(
diff --git a/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java b/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
index 5858b49554..73d547a5c2 100644
--- a/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
+++ b/example/jdbc/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
@@ -73,7 +73,7 @@ public class SyntaxConventionRelatedExample {
 
       // create time series
       try {
-        statement.execute(String.format("SET STORAGE GROUP TO %s", DEVICE));
+        statement.execute(String.format("CREATE DATABASE %s", DEVICE));
         statement.execute(
             String.format(
                 "CREATE TIMESERIES %s WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY",
@@ -98,7 +98,7 @@ public class SyntaxConventionRelatedExample {
       ResultSet resultSet = statement.executeQuery("show timeseries root.sg1.*");
       List<String> timeseriesList = new ArrayList<>();
       while (resultSet.next()) {
-        timeseriesList.add(resultSet.getString("timeseries"));
+        timeseriesList.add(resultSet.getString("Timeseries"));
       }
       for (String path : timeseriesList) {
         for (int i = 0; i <= 10; i++) {
diff --git a/example/mqtt/README.md b/example/mqtt/README.md
index 9aa6288a7b..421dcd8b72 100644
--- a/example/mqtt/README.md
+++ b/example/mqtt/README.md
@@ -29,5 +29,5 @@ The example is to show how to send data to IoTDB from a mqtt client.
 
 * Update configuration to enable MQTT service. (`enable_mqtt_service=true` in iotdb-datanode.properties)
 * Launch the IoTDB server.
-* Setup storage group `SET STORAGE GROUP TO root.sg` and create time timeseries `CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=DOUBLE, ENCODING=PLAIN`.
+* Setup database `CREATE DATABASE root.sg` and create time timeseries `CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=DOUBLE, ENCODING=PLAIN`.
 * Run `org.apache.iotdb.mqtt.MQTTClient` to run the mqtt client and send events to server.
diff --git a/example/rest-client-c-example/main.c b/example/rest-client-c-example/main.c
index 41e28c2340..2bd5efdd9d 100644
--- a/example/rest-client-c-example/main.c
+++ b/example/rest-client-c-example/main.c
@@ -65,7 +65,7 @@ void query(char * sql_str) {
 }
 
 void nonQuery(char* sql_str) {
-    //curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"set storage group to root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
+    //curl -H "Content-Type:application/json" -H "Authorization:Basic cm9vdDpyb290" -X POST --data '{"sql":"CREATE DATABASE root.ln"}' http://127.0.0.1:18080/rest/v1/nonQuery
     CURL *curl_handle = curl_easy_init();
     if (curl_handle == NULL) {
         fprintf(stderr, "curl_handle == NULL\n");
@@ -118,7 +118,7 @@ int main() {
     printf("\n");
     query("{\"sql\":\"show functions\"}");
     printf("\n");
-    nonQuery("{\"sql\":\"set storage group to root.lns\"}");
+    nonQuery("{\"sql\":\"CREATE DATABASE root.lns\"}");
     printf("\n");
     insertTablet("{\"timestamps\":[1635232143960,1635232153960],\"measurements\":[\"s3\",\"s4\"],\"dataTypes\":[\"INT32\",\"BOOLEAN\"],\"values\":[[11,null],[false,true]],\"isAligned\":false,\"deviceId\":\"root.lns.d1\"}");
     printf("\n");
diff --git a/example/rocketmq/readme.md b/example/rocketmq/readme.md
index a9c219648b..33d7ee0bd8 100644
--- a/example/rocketmq/readme.md
+++ b/example/rocketmq/readme.md
@@ -32,16 +32,16 @@ A devices is an installation equipped with measurements in real scenarios. In Io
 
 A measurement is a detection equipment in an actual scene, which can sense the information to be measured, and can transform the sensed information into an electrical signal or other desired form of information output and send it to IoTDB. In IoTDB, all data and paths stored are organized in units of sensors.
 
-* Storage Group
+* Database
 
-Storage groups are used to let users define how to organize and isolate different time series data on disk. Time series belonging to the same storage group will be continuously written to the same file in the corresponding folder. The file may be closed due to user commands or system policies, and hence the data coming next from these measurements will be stored in a new file in the same folder. Time series belonging to different storage groups are stored in different folders.
+Databases are used to let users define how to organize and isolate different time series data on disk. Time series belonging to the same database will be continuously written to the same file in the corresponding folder. The file may be closed due to user commands or system policies, and hence the data coming next from these measurements will be stored in a new file in the same folder. Time series belonging to different databases are stored in different folders.
 ## Connector
 > note:In this sample program, there are some update operations for historical data, so it is necessary to ensure the sequential transmission and consumption of data via RocketMQ. If there is no update operation in use, then there is no need to guarantee the order of data. IoTDB will process these data which may be disorderly.
 
 ### Producer
 Producers insert IoTDB insert statements into partitions according to devices, ensuring that the same device's data is inserted or updated in the same MessageQueue.
 ### Consumer 
-1. At startup, the consumer client first creates a IOTDB-Session connection and check whether the storage groups and timeseries are created in IoTDB. If not, create it.  
+1. At startup, the consumer client first creates a IOTDB-Session connection and check whether the databases and timeseries are created in IoTDB. If not, create it.  
 2. Then consume client consume data from RocketMQ using MessageListener Orderly to ensure orderly consumption, and insert the sql statement into IoTDB.
 
 ## Usage
diff --git a/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java b/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
index e880ba93eb..188f87bab4 100644
--- a/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
@@ -88,11 +88,11 @@ public class DataMigrationExample {
     int count = 0;
     while (schemaIter.next()) {
       count++;
-      Path currentPath = new Path(schemaIter.getString("timeseries"), true);
+      Path currentPath = new Path(schemaIter.getString("Timeseries"), true);
       Future future =
           executorService.submit(
               new LoadThread(
-                  count, currentPath, TSDataType.valueOf(schemaIter.getString("dataType"))));
+                  count, currentPath, TSDataType.valueOf(schemaIter.getString("DataType"))));
       futureList.add(future);
     }
     readerPool.closeResultSet(schemaDataSet);
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index 43d93cdf97..44af37064b 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -74,7 +74,7 @@ public class SessionExample {
     session.setFetchSize(10000);
 
     try {
-      session.setStorageGroup("root.sg1");
+      session.createDatabase("root.sg1");
     } catch (StatementExecutionException e) {
       if (e.getStatusCode() != TSStatusCode.PATH_ALREADY_EXIST_ERROR.getStatusCode()) {
         throw e;
diff --git a/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java b/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
index f6529e2910..c272ee4410 100644
--- a/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SyntaxConventionRelatedExample.java
@@ -32,9 +32,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * When using session API, measurement, device, storage group and path are represented by String.
- * The content of the String should be the same as what you would write in a SQL statement. This
- * class is an example to help you understand better.
+ * When using session API, measurement, device, database and path are represented by String. The
+ * content of the String should be the same as what you would write in a SQL statement. This class
+ * is an example to help you understand better.
  */
 public class SyntaxConventionRelatedExample {
   private static Session session;
diff --git a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
index ddafd2984e..23b60e7281 100644
--- a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
+++ b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
@@ -34,7 +34,7 @@ import java.util.Map;
 /** This is an internal example of the UDTF implementation. */
 public class UDTFExample implements UDTF {
   /*
-   * SET STORAGE GROUP TO root.sg1;
+   * CREATE DATABASE root.sg1;
    * CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN;
    * CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN;
    * INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (0, -1, 1);
diff --git a/grafana-metrics-example/cluster/Apache IoTDB ConfigNode Dashboard v0.14.0.json b/grafana-metrics-example/cluster/Apache IoTDB ConfigNode Dashboard v0.14.0.json
index 202bca4c1a..db081fc7ea 100644
--- a/grafana-metrics-example/cluster/Apache IoTDB ConfigNode Dashboard v0.14.0.json	
+++ b/grafana-metrics-example/cluster/Apache IoTDB ConfigNode Dashboard v0.14.0.json	
@@ -147,7 +147,7 @@
           "expr": "storage_group{instance=~\"$instance\"}",
           "hide": false,
           "interval": "",
-          "legendFormat": "Storage Group",
+          "legendFormat": "Database",
           "refId": "E"
         },
         {
@@ -734,7 +734,7 @@
           "refId": "A"
         }
       ],
-      "title": "Slot In Storage Group",
+      "title": "Slot In Database",
       "type": "timeseries"
     },
     {
diff --git a/grafana-metrics-example/cluster/Apache IoTDB DataNode Dashboard v0.14.0.json b/grafana-metrics-example/cluster/Apache IoTDB DataNode Dashboard v0.14.0.json
index 818f4421f1..1738d30dca 100644
--- a/grafana-metrics-example/cluster/Apache IoTDB DataNode Dashboard v0.14.0.json	
+++ b/grafana-metrics-example/cluster/Apache IoTDB DataNode Dashboard v0.14.0.json	
@@ -341,7 +341,7 @@
           "refId": "A"
         }
       ],
-      "title": "storage group used memory",
+      "title": "database used memory",
       "type": "timeseries"
     },
     {
diff --git a/grafana-metrics-example/standalone/Apache IoTDB Dashboard v0.14.0.json b/grafana-metrics-example/standalone/Apache IoTDB Dashboard v0.14.0.json
index 47181f51e7..bc135d5722 100644
--- a/grafana-metrics-example/standalone/Apache IoTDB Dashboard v0.14.0.json	
+++ b/grafana-metrics-example/standalone/Apache IoTDB Dashboard v0.14.0.json	
@@ -312,7 +312,7 @@
           "refId": "A"
         }
       ],
-      "title": "storage group used memory",
+      "title": "database used memory",
       "type": "timeseries"
     },
     {
diff --git a/grafana-plugin/README.md b/grafana-plugin/README.md
index 9dfc4cc646..39ab2da170 100644
--- a/grafana-plugin/README.md
+++ b/grafana-plugin/README.md
@@ -160,7 +160,7 @@ For a more detailed introduction to usage, please check the official manual (htt
 
 In addition to the examples above, the following statements are supported:
 
-*  `show storage group`
+*  `show databases`
 *  `show timeseries`
 *  `show child nodes`
 *  `show all ttl`
diff --git a/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java b/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
index cfa2233245..c8cc6bb661 100644
--- a/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
+++ b/integration-test/src/main/java/org/apache/iotdb/it/env/RemoteServerEnv.java
@@ -50,8 +50,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeClass() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
@@ -70,8 +70,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
diff --git a/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java b/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
index 90329f36ae..cae3577dde 100644
--- a/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
+++ b/integration-test/src/main/java/org/apache/iotdb/itbase/constant/TestConstant.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.itbase.constant;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.tsfile.utils.FilePathUtils;
 import org.apache.iotdb.tsfile.write.record.TSRecord;
 import org.apache.iotdb.tsfile.write.record.datapoint.DataPoint;
@@ -43,20 +44,20 @@ public class TestConstant {
   public static final String s4 = "s4";
   public static final String s5 = "s5";
   public static final String d1 = "root.vehicle.d1";
-  public static final String TIMESTAMP_STR = "Time";
+  public static final String TIMESTAMP_STR = ColumnHeaderConstant.TIME;
   public static boolean testFlag = true;
   public static String[] stringValue = new String[] {"A", "B", "C", "D", "E"};
   public static String[] booleanValue = new String[] {"true", "false"};
-  public static final String TIMESEIRES_STR = "timeseries";
-  public static final String VALUE_STR = "value";
-  public static final String DATA_TYPE_STR = "dataType";
+  public static final String TIMESEIRES_STR = ColumnHeaderConstant.TIMESERIES;
+  public static final String VALUE_STR = ColumnHeaderConstant.VALUE;
+  public static final String DATA_TYPE_STR = ColumnHeaderConstant.DATATYPE;
   public static final String FUNCTION_TYPE_NATIVE = "native";
   public static final double DELTA = 1e-6;
   public static final double NULL = Double.MIN_VALUE;
 
   public static String[] createSql =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
index 8ecfa0d555..96a8749f31 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
@@ -92,8 +93,8 @@ public class IOTDBLoadTsFileIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("set storage group to " + SchemaConfig.STORAGE_GROUP_0);
-      statement.execute("set storage group to " + SchemaConfig.STORAGE_GROUP_1);
+      statement.execute("CREATE DATABASE " + SchemaConfig.STORAGE_GROUP_0);
+      statement.execute("CREATE DATABASE " + SchemaConfig.STORAGE_GROUP_1);
 
       statement.execute(convert2SQL(SchemaConfig.DEVICE_0, SchemaConfig.MEASUREMENT_00));
       statement.execute(convert2SQL(SchemaConfig.DEVICE_0, SchemaConfig.MEASUREMENT_01));
@@ -143,8 +144,8 @@ public class IOTDBLoadTsFileIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute(String.format("delete storage group %s", SchemaConfig.STORAGE_GROUP_0));
-      statement.execute(String.format("delete storage group %s", SchemaConfig.STORAGE_GROUP_1));
+      statement.execute(String.format("delete database %s", SchemaConfig.STORAGE_GROUP_0));
+      statement.execute(String.format("delete database %s", SchemaConfig.STORAGE_GROUP_1));
     }
   }
 
@@ -283,8 +284,9 @@ public class IOTDBLoadTsFileIT {
         int size = 0;
         while (resultSet.next()) {
           size += 1;
-          String device = resultSet.getString("devices");
-          Assert.assertEquals(isAligned.get(device), resultSet.getString("isAligned"));
+          String device = resultSet.getString(ColumnHeaderConstant.DEVICE);
+          Assert.assertEquals(
+              isAligned.get(device), resultSet.getString(ColumnHeaderConstant.IS_ALIGNED));
         }
         Assert.assertEquals(isAligned.size(), size);
       } catch (Exception e) {
@@ -390,7 +392,7 @@ public class IOTDBLoadTsFileIT {
       try (ResultSet resultSet =
           statement.executeQuery(String.format("select last %s from %s", measurement, device))) {
         if (resultSet.next()) {
-          String lastValue = resultSet.getString("value");
+          String lastValue = resultSet.getString(ColumnHeaderConstant.VALUE);
           Assert.assertEquals("100", lastValue);
         } else {
           Assert.fail("This ResultSet is empty.");
@@ -445,7 +447,7 @@ public class IOTDBLoadTsFileIT {
       try (ResultSet resultSet =
           statement.executeQuery(String.format("select last %s from %s", measurement, device))) {
         if (resultSet.next()) {
-          String lastTime = resultSet.getString("Time");
+          String lastTime = resultSet.getString(ColumnHeaderConstant.TIME);
           Assert.assertEquals("10000", lastTime);
         } else {
           Assert.fail("This ResultSet is empty.");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
index f3f5c27461..091c19ccb0 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -70,8 +71,7 @@ public class IoTDBAuthIT {
       try (Connection userCon = EnvFactory.getEnv().getConnection("tempuser", "temppw");
           Statement userStmt = userCon.createStatement()) {
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -85,7 +85,7 @@ public class IoTDBAuthIT {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES ALL on root.**");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp, b) VALUES (100, 100)");
         userStmt.execute("SELECT * from root.a");
@@ -95,8 +95,7 @@ public class IoTDBAuthIT {
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES ALL on root.**");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.b.b");
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -122,23 +121,23 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.sgtest"));
+            SQLException.class, () -> userStmt.execute("CREATE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES SET_STORAGE_GROUP ON root.*");
 
         try {
-          userStmt.execute("SET STORAGE GROUP TO root.sgtest");
+          userStmt.execute("CREATE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("DELETE STORAGE GROUP root.sgtest"));
+            SQLException.class, () -> userStmt.execute("DELETE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES DELETE_STORAGE_GROUP ON root.*");
 
         try {
-          userStmt.execute("DELETE STORAGE GROUP root.sgtest");
+          userStmt.execute("DELETE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
@@ -272,26 +271,22 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         // grant and revoke the user the privilege to create time series
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         // no privilege to create this one
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         // privilege already exists
         Assert.assertThrows(
             SQLException.class,
             () -> adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a"));
         // no privilege to create this one any more
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         // no privilege to create timeseries
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
         // no privilege to create this one any more
@@ -325,7 +320,7 @@ public class IoTDBAuthIT {
           Statement userStmt = userCon.createStatement()) {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -374,7 +369,7 @@ public class IoTDBAuthIT {
             "GRANT ROLE admin PRIVILEGES SET_STORAGE_GROUP,CREATE_TIMESERIES,DELETE_TIMESERIES,READ_TIMESERIES,INSERT_TIMESERIES on root.**");
         adminStmt.execute("GRANT admin TO tempuser");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("CREATE TIMESERIES root.a.c WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp,b,c) VALUES (1,100,1000)");
@@ -798,8 +793,14 @@ public class IoTDBAuthIT {
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
       while (resultSet.next()) {
-        result.add(resultSet.getString("Time") + ", " + resultSet.getString("root.sg1.d1.s1"));
-        result.add(resultSet.getString("Time") + ", " + resultSet.getString("root.sg1.d1.s2"));
+        result.add(
+            resultSet.getString(ColumnHeaderConstant.TIME)
+                + ", "
+                + resultSet.getString("root.sg1.d1.s1"));
+        result.add(
+            resultSet.getString(ColumnHeaderConstant.TIME)
+                + ", "
+                + resultSet.getString("root.sg1.d1.s2"));
       }
       assertEquals(expected.length, result.size());
       assertTrue(expectedList.containsAll(result));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
index 402b8fe7ce..5c6115dd48 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDatetimeFormatIT.java
@@ -116,7 +116,7 @@ public class IoTDBDatetimeFormatIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
 
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=DOUBLE, ENCODING=PLAIN;");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
index 2116e6200b..0d71aa97ee 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBDeletionIT.java
@@ -48,8 +48,8 @@ public class IoTDBDeletionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -219,7 +219,7 @@ public class IoTDBDeletionIT {
   public void testDelAfterFlush() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
       statement.execute(
           "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN," + " ENCODING=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
index f8e6a1ef22..e0f5151216 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExampleIT.java
@@ -55,10 +55,10 @@ public class IoTDBExampleIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("set storage group to root.sg");
-      try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+      statement.execute("CREATE DATABASE root.sg");
+      try (ResultSet resultSet = statement.executeQuery("show databases")) {
         if (resultSet.next()) {
-          String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
+          String storageGroupPath = resultSet.getString(ColumnHeaderConstant.DATABASE);
           Assert.assertEquals("root.sg", storageGroupPath);
         } else {
           Assert.fail("This ResultSet is empty.");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExecuteBatchIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExecuteBatchIT.java
index f1ca8f51f9..7efaf49e92 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExecuteBatchIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBExecuteBatchIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -71,7 +72,7 @@ public class IoTDBExecuteBatchIT {
       String[] values = {"3.4"};
 
       while (resultSet.next()) {
-        assertEquals(timestamps[count], resultSet.getString("Time"));
+        assertEquals(timestamps[count], resultSet.getString(ColumnHeaderConstant.TIME));
         assertEquals(values[count], resultSet.getString("root.ln.wf01.wt01.temperature"));
         count++;
       }
@@ -107,7 +108,7 @@ public class IoTDBExecuteBatchIT {
       String[] values = {"3.4"};
       int count = 0;
       while (resultSet.next()) {
-        assertEquals(timestamps[count], resultSet.getString("Time"));
+        assertEquals(timestamps[count], resultSet.getString(ColumnHeaderConstant.TIME));
         assertEquals(values[count], resultSet.getString("root.ln.wf01.wt01.temperature"));
         count++;
       }
@@ -115,15 +116,14 @@ public class IoTDBExecuteBatchIT {
           statement.executeQuery("SHOW TIMESERIES root.turbine.d1.s1");
       count = 0;
       String[] key_s1 = {
-        "timeseries",
-        "alias",
-        "storage",
-        "group",
-        "dataType",
-        "encoding",
-        "compression",
-        "tags",
-        "attributes"
+        ColumnHeaderConstant.TIMESERIES,
+        ColumnHeaderConstant.ALIAS,
+        ColumnHeaderConstant.DATABASE,
+        ColumnHeaderConstant.DATATYPE,
+        ColumnHeaderConstant.ENCODING,
+        ColumnHeaderConstant.COMPRESSION,
+        ColumnHeaderConstant.TAGS,
+        ColumnHeaderConstant.ATTRIBUTES
       };
       String[] value_s1 = {
         "root.turbine.d1.s1",
@@ -145,15 +145,14 @@ public class IoTDBExecuteBatchIT {
           statement.executeQuery("SHOW TIMESERIES root.turbine.d1.s2");
       count = 0;
       String[] key_s2 = {
-        "timeseries",
-        "alias",
-        "storage",
-        "group",
-        "dataType",
-        "encoding",
-        "compression",
-        "tags",
-        "attributes"
+        ColumnHeaderConstant.TIMESERIES,
+        ColumnHeaderConstant.ALIAS,
+        ColumnHeaderConstant.DATABASE,
+        ColumnHeaderConstant.DATATYPE,
+        ColumnHeaderConstant.ENCODING,
+        ColumnHeaderConstant.COMPRESSION,
+        ColumnHeaderConstant.TAGS,
+        ColumnHeaderConstant.ATTRIBUTES
       };
       String[] value_s2 = {
         "root.turbine.d1.s2",
@@ -172,15 +171,14 @@ public class IoTDBExecuteBatchIT {
 
       count = 0;
       String[] key_s3 = {
-        "timeseries",
-        "alias",
-        "storage",
-        "group",
-        "dataType",
-        "encoding",
-        "compression",
-        "tags",
-        "attributes"
+        ColumnHeaderConstant.TIMESERIES,
+        ColumnHeaderConstant.ALIAS,
+        ColumnHeaderConstant.DATABASE,
+        ColumnHeaderConstant.DATATYPE,
+        ColumnHeaderConstant.ENCODING,
+        ColumnHeaderConstant.COMPRESSION,
+        ColumnHeaderConstant.TAGS,
+        ColumnHeaderConstant.ATTRIBUTES
       };
       String[] value_s3 = {
         "root.turbine.d1.s3", "null", "root.turbine", "BOOLEAN", "RLE", "SNAPPY", "null", "null"
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
index 7f667ce287..bb908108d7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -59,7 +60,7 @@ public class IoTDBFilterBetweenIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=TEXT,encoding=PLAIN");
@@ -90,7 +91,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -105,7 +106,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -116,7 +117,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -131,7 +132,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -141,7 +142,7 @@ public class IoTDBFilterBetweenIT {
       query = "SELECT * FROM root.vehicle.d1 WHERE " + start + " BETWEEN time AND " + end;
       try (ResultSet rs = statement.executeQuery(query)) {
         Assert.assertTrue(rs.next());
-        Assert.assertEquals("1", rs.getString("Time"));
+        Assert.assertEquals("1", rs.getString(ColumnHeaderConstant.TIME));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s1"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s2"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s3"));
@@ -151,7 +152,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start + 1; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -167,7 +168,7 @@ public class IoTDBFilterBetweenIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
index 107a37e99b..50d352ae61 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
@@ -78,7 +78,7 @@ public class IoTDBFilterIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute(
           "create TIMESERIES root.vehicle.testNaN.d1 with datatype=DOUBLE,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
index f4d650e885..55b2fd99ff 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterNullIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -41,7 +42,7 @@ public class IoTDBFilterNullIT {
 
   private static final String[] createSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.testNullFilter",
+        "CREATE DATABASE root.testNullFilter",
         "CREATE TIMESERIES root.testNullFilter.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testNullFilter.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testNullFilter.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN"
@@ -94,7 +95,7 @@ public class IoTDBFilterNullIT {
           statementIsNull.executeQuery("select * from root.testNullFilter.d1 where s1 is null")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("Time")
+              resultSet.getString(ColumnHeaderConstant.TIME)
                   + ","
                   + resultSet.getString("root.testNullFilter.d1.s1")
                   + ","
@@ -113,7 +114,7 @@ public class IoTDBFilterNullIT {
                 "select * from root.testNullFilter.d1 where s1 is not null")) {
           while (resultSet.next()) {
             String ans =
-                resultSet.getString("Time")
+                resultSet.getString(ColumnHeaderConstant.TIME)
                     + ","
                     + resultSet.getString("root.testNullFilter.d1.s1")
                     + ","
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
index ad4937a1ff..8c85dbbcba 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFloatPrecisionIT.java
@@ -76,8 +76,8 @@ public class IoTDBFloatPrecisionIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.vehicle.f0");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.d0");
+    sqls.add("CREATE DATABASE root.vehicle.f0");
+    sqls.add("CREATE DATABASE root.vehicle.d0");
     for (int i = 0; i < 10; i++) {
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "rle", "FLOAT", "RLE", i));
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "2f", "FLOAT", "TS_2DIFF", i));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
index a45abb9292..a7d8012f19 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java
@@ -46,7 +46,7 @@ public class IoTDBFlushQueryMergeIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d0",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.vehicle.d0(timestamp,s0) values(1,101)",
         "insert into root.vehicle.d0(timestamp,s0) values(2,198)",
@@ -108,9 +108,9 @@ public class IoTDBFlushQueryMergeIT {
         "INSERT INTO root.group%d(timestamp, s1, s2, s3) VALUES (%d, %d, %f, %s)";
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
-      statement.execute("SET STORAGE GROUP TO root.group3");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
+      statement.execute("CREATE DATABASE root.group3");
 
       for (int i = 1; i <= 3; i++) {
         for (int j = 10; j < 20; j++) {
@@ -153,9 +153,9 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushGivenGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup1");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup2");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup3");
+      statement.execute("CREATE DATABASE root.nodatagroup1");
+      statement.execute("CREATE DATABASE root.nodatagroup2");
+      statement.execute("CREATE DATABASE root.nodatagroup3");
       statement.execute("FLUSH root.nodatagroup1");
       statement.execute("FLUSH root.nodatagroup2");
       statement.execute("FLUSH root.nodatagroup3");
@@ -170,7 +170,7 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushNotExistGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.noexist.nodatagroup1");
+      statement.execute("CREATE DATABASE root.noexist.nodatagroup1");
       try {
         statement.execute(
             "FLUSH root.noexist.nodatagroup1,root.notExistGroup1,root.notExistGroup2");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
index a739125d64..4c866c776a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertMultiRowIT.java
@@ -77,7 +77,7 @@ public class IoTDBInsertMultiRowIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
index 356221422b..8f6ef49cfc 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNaNIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -77,10 +78,10 @@ public class IoTDBInsertNaNIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.happy");
-    sqls.add("SET STORAGE GROUP TO root.cycle");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.f0");
-    sqls.add("SET STORAGE GROUP TO root.vehicle.d0");
+    sqls.add("CREATE DATABASE root.happy");
+    sqls.add("CREATE DATABASE root.cycle");
+    sqls.add("CREATE DATABASE root.vehicle.f0");
+    sqls.add("CREATE DATABASE root.vehicle.d0");
     for (int i = 0; i < 10; i++) {
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "rle", "FLOAT", "RLE", i));
       sqls.add(String.format(CREATE_TEMPLATE_SQL, "f0", "s" + i + "2f", "FLOAT", "TS_2DIFF", i));
@@ -184,7 +185,7 @@ public class IoTDBInsertNaNIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         assertNotNull(resultSet);
         while (resultSet.next()) {
-          if ((resultSet.getString("timeseries")).contains("root.cycle.d0.s0")) {
+          if ((resultSet.getString(ColumnHeaderConstant.TIMESERIES)).contains("root.cycle.d0.s0")) {
             exist = true;
           }
         }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
index deac1fa3df..c5df37ecd9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertNullIT.java
@@ -76,7 +76,7 @@ public class IoTDBInsertNullIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.sg");
+    sqls.add("CREATE DATABASE root.sg");
     sqls.add("CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=BOOLEAN");
     sqls.add("CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=FLOAT");
     sqls.add("CREATE TIMESERIES root.sg.d1.s3 WITH DATATYPE=INT32");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
index 5a57ba9546..c59c8eb4d7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBInsertWithoutTimeIT.java
@@ -46,7 +46,7 @@ public class IoTDBInsertWithoutTimeIT {
 
   private static final List<String> sqls =
       Arrays.asList(
-          "SET STORAGE GROUP TO root.sg1",
+          "CREATE DATABASE root.sg1",
           "CREATE TIMESERIES root.sg1.d1.s1 INT64",
           "CREATE TIMESERIES root.sg1.d1.s2 FLOAT",
           "CREATE TIMESERIES root.sg1.d1.s3 TEXT");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
index 4cc03f1426..b9461229f8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java
@@ -97,7 +97,7 @@ public class IoTDBMultiDeviceIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d2.s0 WITH DATATYPE=INT32, ENCODING=RLE");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
index 479dec2c45..07c54ddc1c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBNestedQueryIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
@@ -86,7 +87,7 @@ public class IoTDBNestedQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=TEXT,encoding=PLAIN");
@@ -561,7 +562,7 @@ public class IoTDBNestedQueryIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -575,13 +576,13 @@ public class IoTDBNestedQueryIT {
               + ITERATION_TIMES;
       try (ResultSet rs = statement.executeQuery(query)) {
         Assert.assertTrue(rs.next());
-        Assert.assertEquals("1", rs.getString("Time"));
+        Assert.assertEquals("1", rs.getString(ColumnHeaderConstant.TIME));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s1"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s2"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s3"));
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -592,7 +593,7 @@ public class IoTDBNestedQueryIT {
       try (ResultSet rs = statement.executeQuery(query)) {
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
@@ -606,13 +607,13 @@ public class IoTDBNestedQueryIT {
               + ITERATION_TIMES;
       try (ResultSet rs = statement.executeQuery(query)) {
         Assert.assertTrue(rs.next());
-        Assert.assertEquals("1", rs.getString("Time"));
+        Assert.assertEquals("1", rs.getString(ColumnHeaderConstant.TIME));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s1"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s2"));
         Assert.assertEquals("1", rs.getString("root.vehicle.d1.s3"));
         for (int i = start; i <= end; i++) {
           Assert.assertTrue(rs.next());
-          Assert.assertEquals(String.valueOf(i), rs.getString("Time"));
+          Assert.assertEquals(String.valueOf(i), rs.getString(ColumnHeaderConstant.TIME));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s1"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s2"));
           Assert.assertEquals(String.valueOf(i), rs.getString("root.vehicle.d1.s3"));
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
index a9d910c9a4..747ae4958a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBPartialInsertionIT.java
@@ -65,7 +65,7 @@ public class IoTDBPartialInsertionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
 
       try {
         statement.execute("INSERT INTO root.sg1(timestamp, s0) VALUES (1, 1)");
@@ -81,7 +81,7 @@ public class IoTDBPartialInsertionIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 datatype=text");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 datatype=double");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
index 2f501b91a0..cd2ba57e12 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQueryWithRecreatedTimeseriesIT.java
@@ -53,7 +53,7 @@ public class IoTDBQueryWithRecreatedTimeseriesIT {
   public void testQueryDiffTypeTimeseries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       Thread.sleep(100);
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=FLOAT,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
index 701cdb7858..ab66cc7fb7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBQuotedPathIT.java
@@ -59,7 +59,7 @@ public class IoTDBQuotedPathIT {
           new String[] {
             "1509465600000,true", "1509465600001,true", "1509465600002,false", "1509465600003,false"
           };
-      statement.execute("SET STORAGE GROUP TO root.ln");
+      statement.execute("CREATE DATABASE root.ln");
       statement.execute(
           "CREATE TIMESERIES root.ln.`wf+01`.wt01.`status+2+3` WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
       statement.execute(
@@ -103,13 +103,12 @@ public class IoTDBQuotedPathIT {
   public void testIllegalStorageGroup() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.`\"ln`");
+      statement.execute("CREATE DATABASE root.`\"ln`");
     } catch (SQLException e) {
       Assert.assertTrue(
           e.getMessage().contains("Error StorageGroup name")
               || e.getMessage()
-                  .contains(
-                      "The storage group name can only be characters, numbers and underscores."));
+                  .contains("The database name can only be characters, numbers and underscores."));
     } catch (Exception e) {
       e.printStackTrace();
       Assert.fail();
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
index b1af773bf2..dc2b8ae7ba 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverIT.java
@@ -54,8 +54,8 @@ public class IoTDBRecoverIT {
   private static final String TEMPERATURE_STR = "root.ln.wf01.wt01.temperature";
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -64,7 +64,7 @@ public class IoTDBRecoverIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
index b9a7a3d6df..f25ea6d2f1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java
@@ -59,8 +59,8 @@ public class IoTDBRecoverUnclosedIT {
   private static final String TEMPERATURE_STR = "root.ln.wf01.wt01.temperature";
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -69,7 +69,7 @@ public class IoTDBRecoverUnclosedIT {
       };
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
index 82337bd862..b6373741ee 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSameMeasurementsDifferentTypesIT.java
@@ -88,7 +88,7 @@ public class IoTDBSameMeasurementsDifferentTypesIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d1.s0 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
index a408e01ac9..bf652f30df 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSettleIT.java
@@ -79,7 +79,7 @@ public class IoTDBSettleIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.st1");
+    sqls.add("CREATE DATABASE root.st1");
     sqls.add("CREATE TIMESERIES root.st1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     for (int i = 1; i <= 10; i++) {
       sqls.add("insert into root.st1.wf01.wt01(timestamp,status) values(" + 100 * i + ",false)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
index be16f925a5..b935b5060c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -64,12 +65,12 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       try (ResultSet resultSet = statement.executeQuery("show timeseries root.sg1.d0.s1")) {
         if (resultSet.next()) {
-          assertEquals("PLAIN", resultSet.getString("encoding").toUpperCase());
+          assertEquals("PLAIN", resultSet.getString(ColumnHeaderConstant.ENCODING).toUpperCase());
         }
       }
 
@@ -83,7 +84,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       try {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN,'LOSS'='SDT','COMPDEV'='-2'");
@@ -124,7 +125,7 @@ public class IoTDBSimpleQueryIT {
       int count = 0;
       try (ResultSet resultSet = statement.executeQuery("select last ** from root")) {
         while (resultSet.next()) {
-          String path = resultSet.getString("timeseries");
+          String path = resultSet.getString(ColumnHeaderConstant.TIMESERIES);
           assertEquals(results[count], path);
           count++;
         }
@@ -149,7 +150,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -190,7 +191,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2");
@@ -233,7 +234,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2, COMPMINTIME=1");
@@ -277,7 +278,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN,LOSS=SDT,COMPDEV=2, COMPMAXTIME=20");
@@ -310,7 +311,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -355,7 +356,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -405,7 +406,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       // test set sdt property
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=DOUBLE,ENCODING=PLAIN,LOSS=SDT,COMPDEV=0.01");
@@ -519,7 +520,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("INSERT INTO root.sg1.d0(timestamp, s0) VALUES (1, 1)");
@@ -540,7 +541,7 @@ public class IoTDBSimpleQueryIT {
           statement.executeQuery("select * from root.** order by time desc")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("Time")
+              resultSet.getString(ColumnHeaderConstant.TIME)
                   + ","
                   + resultSet.getString("root.sg1.d0.s0")
                   + ","
@@ -557,7 +558,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -590,7 +591,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(10);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -623,7 +624,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(15);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -656,7 +657,7 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s2 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s3 WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -760,7 +761,7 @@ public class IoTDBSimpleQueryIT {
   public void testFirstOverlappedPageFiltered() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq chunk : [1,10]
@@ -797,7 +798,7 @@ public class IoTDBSimpleQueryIT {
   public void testPartialInsertion() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s1 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -821,7 +822,7 @@ public class IoTDBSimpleQueryIT {
   public void testOverlappedPagesMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq chunk : start-end [1000, 1000]
@@ -863,7 +864,7 @@ public class IoTDBSimpleQueryIT {
   public void testUnseqUnsealedDeleteQuery() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute("CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT32,ENCODING=PLAIN");
 
       // seq data
@@ -901,7 +902,7 @@ public class IoTDBSimpleQueryIT {
   public void testTimeseriesMetadataCache() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       for (int i = 0; i < 10000; i++) {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d0.s" + i + " WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -920,7 +921,7 @@ public class IoTDBSimpleQueryIT {
   public void testInvalidSchema() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       try {
         statement.execute(
             "CREATE TIMESERIES root.sg1.d1.s1 with datatype=BOOLEAN, encoding=TS_2DIFF");
@@ -953,7 +954,7 @@ public class IoTDBSimpleQueryIT {
   public void testUseSameStatement() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d0.s0 WITH DATATYPE=INT64, ENCODING=RLE, COMPRESSOR=SNAPPY");
       statement.execute(
@@ -999,7 +1000,7 @@ public class IoTDBSimpleQueryIT {
   public void testInvalidMaxPointNumber() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d1.s1 with datatype=FLOAT, encoding=TS_2DIFF, "
               + "'max_point_number'='4'");
@@ -1045,14 +1046,14 @@ public class IoTDBSimpleQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
       statement.setFetchSize(5);
-      statement.execute("SET STORAGE GROUP TO root.group_with_hyphen");
+      statement.execute("CREATE DATABASE root.group_with_hyphen");
     } catch (SQLException e) {
       fail();
     }
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         while (resultSet.next()) {
           StringBuilder builder = new StringBuilder();
@@ -1102,7 +1103,7 @@ public class IoTDBSimpleQueryIT {
   public void testFromFuzzyMatching() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg1");
+      statement.execute("CREATE DATABASE root.sg1");
       statement.execute(
           "CREATE TIMESERIES root.sg1.d1.s1 with datatype=FLOAT, encoding=TS_2DIFF, "
               + "'max_point_number'='4'");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
index 167a4caee8..64d6e4f35c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -117,8 +118,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
         Set<String> expectedResult = new HashSet<>(Arrays.asList(resultTimeseries));
 
         while (resultSet.next()) {
-          Assert.assertTrue(expectedResult.contains(resultSet.getString("timeseries")));
-          expectedResult.remove(resultSet.getString("timeseries"));
+          Assert.assertTrue(
+              expectedResult.contains(resultSet.getString(ColumnHeaderConstant.TIMESERIES)));
+          expectedResult.remove(resultSet.getString(ColumnHeaderConstant.TIMESERIES));
         }
         Assert.assertEquals(0, expectedResult.size());
       }
@@ -250,8 +252,9 @@ public class IoTDBSyntaxConventionIdentifierIT {
         Set<String> expectedResult = new HashSet<>(Arrays.asList(resultTimeseries));
 
         while (resultSet.next()) {
-          Assert.assertTrue(expectedResult.contains(resultSet.getString("timeseries")));
-          expectedResult.remove(resultSet.getString("timeseries"));
+          Assert.assertTrue(
+              expectedResult.contains(resultSet.getString(ColumnHeaderConstant.TIMESERIES)));
+          expectedResult.remove(resultSet.getString(ColumnHeaderConstant.TIMESERIES));
         }
         Assert.assertEquals(0, expectedResult.size());
       }
@@ -389,7 +392,7 @@ public class IoTDBSyntaxConventionIdentifierIT {
         Statement statement = connection.createStatement()) {
 
       try {
-        statement.execute("create storage group root.sg1.d1.");
+        statement.execute("create database root.sg1.d1.");
         fail();
       } catch (Exception ignored) {
       }
@@ -1005,8 +1008,8 @@ public class IoTDBSyntaxConventionIdentifierIT {
   //      try (ResultSet resultSet = statement.executeQuery("SHOW TEMPLATES")) {
   //        Set<String> expectedResult = new HashSet<>(Arrays.asList(resultNames));
   //        while (resultSet.next()) {
-  //          Assert.assertTrue(expectedResult.contains(resultSet.getString("template name")));
-  //          expectedResult.remove(resultSet.getString("template name"));
+  //          Assert.assertTrue(expectedResult.contains(resultSet.getString("TemplateName")));
+  //          expectedResult.remove(resultSet.getString("TemplateName"));
   //        }
   //        Assert.assertEquals(0, expectedResult.size());
   //      }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java
index 754b2b56e3..352c45ee58 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -555,7 +556,7 @@ public class IoTDBSyntaxConventionStringLiteralIT {
         statement.execute(String.format(alterSql, alias[i]));
         try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
           resultSet.next();
-          Assert.assertEquals(res[i], resultSet.getString("alias"));
+          Assert.assertEquals(res[i], resultSet.getString(ColumnHeaderConstant.ALIAS));
         }
       }
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
index 365bc7d0db..8cbe3924e4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTimeZoneIT.java
@@ -44,7 +44,7 @@ public class IoTDBTimeZoneIT {
 
   private static String[] insertSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.timezone",
+        "CREATE DATABASE root.timezone",
         "CREATE TIMESERIES root.timezone.tz1 WITH DATATYPE = INT32, ENCODING = PLAIN",
       };
   private final String TIMESTAMP_STR = "Time";
@@ -80,8 +80,8 @@ public class IoTDBTimeZoneIT {
   }
 
   /**
-   * // execute in cli-tool SET STORAGE GROUP TO root.timezone CREATE TIMESERIES root.timezone.tz1
-   * WITH DATATYPE = INT32, ENCODING = PLAIN set time_zone=+08:00 insert into
+   * // execute in cli-tool CREATE DATABASE root.timezone CREATE TIMESERIES root.timezone.tz1 WITH
+   * DATATYPE = INT32, ENCODING = PLAIN set time_zone=+08:00 insert into
    * root.timezone(timestamp,tz1) values(1514779200000,1) insert into root.timezone(timestamp,tz1)
    * values(2018-1-1T12:00:01,2) insert into root.timezone(timestamp,tz1)
    * values(2018-1-1T12:00:02+08:00,3) insert into root.timezone(timestamp,tz1)
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
index 7a82539d13..3cd84d6c4c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBTtlIT.java
@@ -66,7 +66,7 @@ public class IoTDBTtlIT {
         assertEquals(322, e.getErrorCode());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG1");
+      statement.execute("CREATE DATABASE root.TTL_SG1");
       statement.execute("CREATE TIMESERIES root.TTL_SG1.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG1.s1 1000");
@@ -75,7 +75,7 @@ public class IoTDBTtlIT {
         fail(e.getMessage());
       }
 
-      statement.execute("SET STORAGE GROUP TO root.TTL_SG2");
+      statement.execute("CREATE DATABASE root.TTL_SG2");
       statement.execute("CREATE TIMESERIES root.TTL_SG2.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       try {
         statement.execute("SET TTL TO root.TTL_SG2.s1 1000");
@@ -162,8 +162,8 @@ public class IoTDBTtlIT {
         }
         assertTrue(cnt >= 200);
       }
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG3");
-      statement.execute("SET STORAGE GROUP TO root.sg.TTL_SG4");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG3");
+      statement.execute("CREATE DATABASE root.sg.TTL_SG4");
       // SG3
       for (int i = 0; i < 100; i++) {
         statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
index a516d80d4a..9e7225c00e 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationByLevelIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it.aggregation;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -53,8 +54,8 @@ public class IoTDBAggregationByLevelIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg1",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg1.d1.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d1.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d2.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
@@ -421,7 +422,8 @@ public class IoTDBAggregationByLevelIT {
           statement.executeQuery(
               "select count(temperature) as ct from root.sg1.d1, root.sg1.d2 GROUP BY ([0, 600), 100ms), level=1")) {
         while (resultSet.next()) {
-          String ans = resultSet.getString("Time") + "," + resultSet.getString("ct");
+          String ans =
+              resultSet.getString(ColumnHeaderConstant.TIME) + "," + resultSet.getString("ct");
           Assert.assertEquals(retArray[cnt], ans);
           cnt++;
         }
@@ -432,7 +434,8 @@ public class IoTDBAggregationByLevelIT {
           statement.executeQuery(
               "select count(temperature) as ct from root.sg1.* GROUP BY ([0, 600), 100ms), level=1")) {
         while (resultSet.next()) {
-          String ans = resultSet.getString("Time") + "," + resultSet.getString("ct");
+          String ans =
+              resultSet.getString(ColumnHeaderConstant.TIME) + "," + resultSet.getString("ct");
           Assert.assertEquals(retArray[cnt], ans);
           cnt++;
         }
@@ -444,7 +447,8 @@ public class IoTDBAggregationByLevelIT {
           statement.executeQuery(
               "select count(*) as ct from root.sg1.d1 GROUP BY ([0, 600), 100ms), level=1")) {
         while (resultSet.next()) {
-          String ans = resultSet.getString("Time") + "," + resultSet.getString("ct");
+          String ans =
+              resultSet.getString(ColumnHeaderConstant.TIME) + "," + resultSet.getString("ct");
           Assert.assertEquals(retArray2[cnt], ans);
           cnt++;
         }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
index 63e5608cd0..cf53c68ed0 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java
@@ -59,8 +59,8 @@ public class IoTDBAggregationIT {
 
   private static final String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -69,7 +69,7 @@ public class IoTDBAggregationIT {
       };
   private static final String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -86,7 +86,7 @@ public class IoTDBAggregationIT {
       };
   private static final String[] dataSet3 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.sg.d1(timestamp,s1) values(5,5)",
         "insert into root.sg.d1(timestamp,s1) values(12,12)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
index 4145e483c2..f5c431f3fc 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationLargeDataIT.java
@@ -61,7 +61,7 @@ public class IoTDBAggregationLargeDataIT {
 
   private static String[] createSql =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s3 WITH DATATYPE=TEXT, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
index 8b2006c736..55cb5939d1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationSmallDataIT.java
@@ -64,7 +64,7 @@ public class IoTDBAggregationSmallDataIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d1.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d1.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
index 695bae88d3..b9304607b1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
@@ -47,9 +47,9 @@ import static org.junit.Assert.fail;
 public class IoTDBTagAggregationIT {
   private static final String[] DATASET =
       new String[] {
-        "set storage group to root.sg.a;",
-        "set storage group to root.sg.b;",
-        "set storage group to root.sg2.c;",
+        "CREATE DATABASE root.sg.a;",
+        "CREATE DATABASE root.sg.b;",
+        "CREATE DATABASE root.sg2.c;",
         "create timeseries root.sg.a.d1.t with datatype=FLOAT tags(k1=k1v1, k2=k2v1, k3=k3v1);",
         "create timeseries root.sg.b.d2.t with datatype=FLOAT tags(k1=k1v1, k2=k2v2);",
         "create timeseries root.sg.a.d3.t with datatype=FLOAT tags(k1=k1v2, k2=k2v1);",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
index 6e9abfa9fc..decd847622 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
@@ -49,8 +49,8 @@ public class IoTDBAlignByDeviceIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
index 44e4c70ffb..054e575715 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedDataDeletionIT.java
@@ -48,7 +48,7 @@ public class IoTDBAlignedDataDeletionIT {
 
   private static String[] creationSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE ALIGNED TIMESERIES root.vehicle.d0(s0 INT32 ENCODING=RLE, s1 INT64 ENCODING=RLE, s2 FLOAT ENCODING=RLE, s3 TEXT ENCODING=PLAIN, s4 BOOLEAN ENCODING=PLAIN)",
       };
 
@@ -215,7 +215,7 @@ public class IoTDBAlignedDataDeletionIT {
   public void testDelAfterFlush() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
       statement.execute(
           "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN," + " ENCODING=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
index 6ef4aef078..2bf50bd458 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java
@@ -19,6 +19,7 @@
 package org.apache.iotdb.db.it.aligned;
 
 import org.apache.iotdb.db.it.utils.AlignedWriteUtil;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
@@ -100,13 +101,13 @@ public class IoTDBAlignedLastQueryIT {
         int cnt = 0;
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(TIMESTAMP_STR)
+              resultSet.getString(ColumnHeaderConstant.TIME)
                   + ","
-                  + resultSet.getString(TIMESEIRES_STR)
+                  + resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(VALUE_STR)
+                  + resultSet.getString(ColumnHeaderConstant.VALUE)
                   + ","
-                  + resultSet.getString(DATA_TYPE_STR);
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE);
           assertTrue(ans, retSet.contains(ans));
           cnt++;
         }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
index 5d5942c99b..af9508efa6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java
@@ -19,6 +19,7 @@
 package org.apache.iotdb.db.it.aligned;
 
 import org.apache.iotdb.db.it.utils.AlignedWriteUtil;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
@@ -2806,7 +2807,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(count("s1"))
                   + ","
@@ -2843,7 +2844,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(maxValue("s3"))
                   + ","
@@ -2882,7 +2883,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(lastValue("s4"))
                   + ","
@@ -2916,7 +2917,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(count("s1"))
                   + ","
@@ -2977,7 +2978,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(count("s1"))
                   + ","
@@ -3014,7 +3015,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(count("s1"))
                   + ","
@@ -3055,7 +3056,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(count("s1"))
                   + ","
@@ -3094,7 +3095,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(maxValue("s3"))
                   + ","
@@ -3137,7 +3138,7 @@ public class IoTDBAlignedSeriesQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString(maxValue("s3"))
                   + ","
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
index 7e587bcace..06c25d88fa 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java
@@ -61,7 +61,7 @@ public class IoTDBGroupByLevelQueryIT {
     AlignedWriteUtil.insertData();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg2");
+      statement.execute("CREATE DATABASE root.sg2");
       statement.execute(
           "create aligned timeseries root.sg2.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64)");
       for (int i = 1; i <= 10; i++) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
index 6c2e9aaee2..51b7c414a6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java
@@ -59,7 +59,7 @@ public class IOTDBGroupByIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
index 8f9110df29..866d47a9f3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java
@@ -41,7 +41,7 @@ public class IoTDBGroupByUnseqIT {
 
   private static final String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg1.d1(time,s1) values(2, 2)",
@@ -59,7 +59,7 @@ public class IoTDBGroupByUnseqIT {
 
   private static final String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg2.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg2.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg2.d1(time,s1) values(10, 10)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
index e5fb978c71..39bd9d24e9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBHavingIT.java
@@ -45,7 +45,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.sum;
 public class IoTDBHavingIT {
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
index 21bc7371bd..0be9d5affb 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java
@@ -50,7 +50,7 @@ public class IoTDBAliasIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1(speed) WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d1.s2(temperature) WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d2.s1(speed) WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -64,13 +64,13 @@ public class IoTDBAliasIT {
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(200, 20.2, 21.8, 81.0)",
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(300, 45.3, 23.4, 82.0)",
         "INSERT INTO root.sg.d2(timestamp,speed,temperature,power) values(400, 73.4, 26.3, 83.0)",
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (0, -1, 1)",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (1, -2, 2)",
         "INSERT INTO root.sg1.d1(timestamp, s1, s2) VALUES (2, -3, 3)",
-        "SET STORAGE GROUP TO root.sg2",
+        "CREATE DATABASE root.sg2",
         "CREATE TIMESERIES root.sg2.d1.s1 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg2.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg2.d2.s1 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
index f3dd814931..247c80cf16 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBArithmeticIT.java
@@ -50,7 +50,7 @@ public class IoTDBArithmeticIT {
   private static final double E = 0.0001;
 
   private static final String[] INSERTION_SQLS = {
-    "SET STORAGE GROUP TO root.test",
+    "CREATE DATABASE root.test",
     "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
     "CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=INT64, ENCODING=PLAIN",
     "CREATE TIMESERIES root.sg.d1.s3 WITH DATATYPE=FLOAT, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
index 34007401dd..9c4c34e7c7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBFuzzyQueryIT.java
@@ -62,7 +62,7 @@ public class IoTDBFuzzyQueryIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=TEXT, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt02.status WITH DATATYPE=TEXT, ENCODING=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
index 8ef0bfe4b0..f2c35bbbac 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBInIT.java
@@ -50,8 +50,8 @@ public class IoTDBInIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
-        "set storage group to root.sg",
+        "CREATE DATABASE root.ln",
+        "CREATE DATABASE root.sg",
         "create timeseries root.sg.d1.s1.qrcode with datatype=TEXT,encoding=PLAIN",
         "insert into root.sg.d1.s1(timestamp,qrcode) values(1509465600000,'qrcode001')",
         "insert into root.sg.d1.s1(timestamp,qrcode) values(1509465660000,'qrcode002')",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
index 73d9dd73d9..d24b9d608a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
@@ -39,7 +39,7 @@ import static org.apache.iotdb.itbase.constant.TestConstant.TIMESTAMP_STR;
 public class IoTDBNullOperandIT {
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
index 31854eaaa6..6477c9bf1c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullValueFillIT.java
@@ -66,7 +66,7 @@ public class IoTDBNullValueFillIT {
    */
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 INT32, s2 INT64, s3 FLOAT, s4 DOUBLE, s5 BOOLEAN, s6 TEXT)",
         "insert into root.sg1.d1(time, s2, s4, s6) aligned values(1, 1, 1.0, 't1')",
         "insert into root.sg1.d1(time, s1, s2, s3, s4, s5, s6) aligned values(2, 2, 2, 2.0, 2.0, true, 't2')",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
index 685630c5d1..0afc36119b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java
@@ -44,7 +44,7 @@ public class IoTDBPaginationIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
+        "CREATE DATABASE root.vehicle",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
index 940e4771d7..c67d48e0e3 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryDemoIT.java
@@ -49,7 +49,7 @@ public class IoTDBQueryDemoIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -94,7 +94,7 @@ public class IoTDBQueryDemoIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryWithComplexValueFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryWithComplexValueFilterIT.java
index 9c630cd483..2772ea5205 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryWithComplexValueFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBQueryWithComplexValueFilterIT.java
@@ -92,7 +92,7 @@ public class IoTDBQueryWithComplexValueFilterIT {
   private static void prepareData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("create storage group root.sg1");
+      statement.execute("create database root.sg1");
       statement.execute("create timeseries root.sg1.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("create timeseries root.sg1.d1.s2 with datatype=DOUBLE,encoding=PLAIN");
       statement.execute("insert into root.sg1.d1(time,s1,s2) values(0,0,0)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
index fb8c04c584..b657dc647d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java
@@ -50,7 +50,7 @@ public class IoTDBResultSetIT {
 
   private static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.t1",
+        "CREATE DATABASE root.t1",
         "CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.t1.wf01.wt01.type WITH DATATYPE=INT32, ENCODING=RLE",
@@ -139,14 +139,14 @@ public class IoTDBResultSetIT {
 
   @Test
   public void emptyQueryTest1() {
-    String expectedHeader = ColumnHeaderConstant.COLUMN_TIME + ",";
+    String expectedHeader = ColumnHeaderConstant.TIME + ",";
     resultSetEqualTest("select * from root.sg1.d1", expectedHeader, emptyResultSet);
   }
 
   @Test
   public void emptyQueryTest2() {
     String expectedHeader =
-        ColumnHeaderConstant.COLUMN_TIME
+        ColumnHeaderConstant.TIME
             + ","
             + "root.t1.wf01.wt02.grade,"
             + "root.t1.wf01.wt02.temperature,"
@@ -158,21 +158,21 @@ public class IoTDBResultSetIT {
   @Test
   public void emptyShowTimeseriesTest() {
     String expectedHeader =
-        ColumnHeaderConstant.COLUMN_TIMESERIES
+        ColumnHeaderConstant.TIMESERIES
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS
+            + ColumnHeaderConstant.ALIAS
             + ","
-            + ColumnHeaderConstant.COLUMN_STORAGE_GROUP
+            + ColumnHeaderConstant.DATABASE
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE
+            + ColumnHeaderConstant.DATATYPE
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING
+            + ColumnHeaderConstant.ENCODING
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION
+            + ColumnHeaderConstant.COMPRESSION
             + ","
-            + ColumnHeaderConstant.COLUMN_TAGS
+            + ColumnHeaderConstant.TAGS
             + ","
-            + ColumnHeaderConstant.COLUMN_ATTRIBUTES
+            + ColumnHeaderConstant.ATTRIBUTES
             + ",";
     resultSetEqualTest("show timeseries root.sg1.**", expectedHeader, emptyResultSet);
   }
@@ -180,7 +180,7 @@ public class IoTDBResultSetIT {
   @Test
   public void emptyShowDeviceTest() {
     String expectedHeader =
-        ColumnHeaderConstant.COLUMN_DEVICES + "," + ColumnHeaderConstant.COLUMN_IS_ALIGNED + ",";
+        ColumnHeaderConstant.DEVICE + "," + ColumnHeaderConstant.IS_ALIGNED + ",";
     resultSetEqualTest("show devices root.sg1.**", expectedHeader, emptyResultSet);
   }
 
@@ -226,13 +226,13 @@ public class IoTDBResultSetIT {
   @Test
   public void emptyLastQueryTest() {
     String expectedHeader =
-        ColumnHeaderConstant.COLUMN_TIME
+        ColumnHeaderConstant.TIME
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES
+            + ColumnHeaderConstant.TIMESERIES
             + ","
-            + ColumnHeaderConstant.COLUMN_VALUE
+            + ColumnHeaderConstant.VALUE
             + ","
-            + ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE
+            + ColumnHeaderConstant.DATATYPE
             + ",";
     resultSetEqualTest("select last s1 from root.sg.d1", expectedHeader, emptyResultSet);
   }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
index b9c8436c48..a8c551077a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectCompareExpressionIT.java
@@ -109,7 +109,7 @@ public class IoTDBSelectCompareExpressionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
index 829954ec97..a053c85e44 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBSelectSchemaIT.java
@@ -47,7 +47,7 @@ public class IoTDBSelectSchemaIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=DOUBLE,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
index cab57cadd9..e94b12471a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAutoCreateSchemaIT.java
@@ -67,7 +67,7 @@ public class IoTDBAutoCreateSchemaIT {
     EnvFactory.getEnv().cleanAfterTest();
   }
 
-  /** create timeseries without setting storage group */
+  /** create timeseries without setting database */
   @Test
   public void createTimeseriesTest() throws ClassNotFoundException {
     String[] sqls = {
@@ -77,18 +77,18 @@ public class IoTDBAutoCreateSchemaIT {
     executeSQL(sqls);
   }
 
-  /** insert data when storage group has been set but timeseries hasn't been created */
+  /** insert data when database has been set but timeseries hasn't been created */
   @Test
   public void insertTest1() throws ClassNotFoundException {
     String[] sqls = {
-      "SET STORAGE GROUP TO root.sg0",
+      "CREATE DATABASE root.sg0",
       "INSERT INTO root.sg0.d1(timestamp,s2) values(1,123.123)",
       "INSERT INTO root.sg0.d1(timestamp,s3) values(1,\"abc\")",
     };
     executeSQL(sqls);
   }
 
-  /** insert data when storage group hasn't been set and timeseries hasn't been created */
+  /** insert data when database hasn't been set and timeseries hasn't been created */
   @Test
   public void insertTest2() throws ClassNotFoundException {
     String[] sqls = {
@@ -154,7 +154,7 @@ public class IoTDBAutoCreateSchemaIT {
   }
 
   /**
-   * test if automatically creating a time series will cause the storage group with same name to
+   * test if automatically creating a time series will cause the database with same name to
    * disappear
    */
   @Test
@@ -162,14 +162,14 @@ public class IoTDBAutoCreateSchemaIT {
     String storageGroup = "root.sg2.a.b.c";
     String timeSeriesPrefix = "root.sg2.a.b";
 
-    statement.execute(String.format("SET storage group TO %s", storageGroup));
+    statement.execute(String.format("CREATE DATABASE %s", storageGroup));
     try {
       statement.execute(
           String.format("INSERT INTO %s(timestamp, c) values(123, \"aabb\")", timeSeriesPrefix));
     } catch (SQLException ignored) {
     }
 
-    // ensure that current storage group in cache is right.
+    // ensure that current database in cache is right.
     InsertAutoCreate2Tool(storageGroup, timeSeriesPrefix);
 
     statement.close();
@@ -178,7 +178,7 @@ public class IoTDBAutoCreateSchemaIT {
     //    EnvironmentUtils.stopDaemon();
     //    setUp();
     //
-    //    // ensure that storage group in cache is right after recovering.
+    //    // ensure that database in cache is right after recovering.
     //    InsertAutoCreate2Tool(storageGroup, timeSeriesPrefix);
   }
 
@@ -187,24 +187,23 @@ public class IoTDBAutoCreateSchemaIT {
     Set<String> resultList = new HashSet<>();
     try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
       while (resultSet.next()) {
-        String str = resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES);
+        String str = resultSet.getString(ColumnHeaderConstant.TIMESERIES);
         resultList.add(str);
       }
     }
     Assert.assertFalse(resultList.contains(timeSeriesPrefix + "c"));
 
     resultList.clear();
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("show databases")) {
       while (resultSet.next()) {
-        resultList.add(resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP));
+        resultList.add(resultSet.getString(ColumnHeaderConstant.DATABASE));
       }
     }
     Assert.assertTrue(resultList.contains(storageGroup));
   }
 
   /**
-   * insert data when storage group hasn't been set, timeseries hasn't been created and have null
-   * values
+   * insert data when database hasn't been set, timeseries hasn't been created and have null values
    */
   @Test
   public void testInsertAutoCreate3() {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
index 3116295ad2..838c4ec03e 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateAlignedTimeseriesIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it.schema;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -69,14 +70,14 @@ public class IoTDBCreateAlignedTimeseriesIT {
           "root.sg1.d1.vector1.s2,INT64,RLE,SNAPPY"
         };
 
-    statement.execute("SET STORAGE GROUP TO root.sg1");
+    statement.execute("CREATE DATABASE root.sg1");
     try {
       statement.execute(
           "CREATE ALIGNED TIMESERIES root.sg1.d1.vector1(s1 FLOAT encoding=PLAIN compressor=UNCOMPRESSED,s2 INT64 encoding=RLE)");
     } catch (SQLException ignored) {
     }
 
-    // ensure that current storage group in cache is right.
+    // ensure that current database in cache is right.
     assertTimeseriesEquals(timeSeriesArray);
 
     statement.close();
@@ -85,7 +86,7 @@ public class IoTDBCreateAlignedTimeseriesIT {
     //    EnvironmentUtils.stopDaemon();
     //    setUp();
     //
-    //    // ensure storage group in cache is right after recovering.
+    //    // ensure database in cache is right after recovering.
     //    assertTimeseriesEquals(timeSeriesArray);
   }
 
@@ -97,7 +98,7 @@ public class IoTDBCreateAlignedTimeseriesIT {
           "root.sg1.d1.vector1.s1,DOUBLE,PLAIN,SNAPPY", "root.sg1.d1.vector1.s2,INT64,RLE,SNAPPY"
         };
 
-    statement.execute("SET STORAGE GROUP TO root.sg1");
+    statement.execute("CREATE DATABASE root.sg1");
     try {
       statement.execute(
           "CREATE ALIGNED TIMESERIES root.sg1.d1.vector1(s1 FLOAT encoding=PLAIN compressor=UNCOMPRESSED,s2 INT64 encoding=RLE)");
@@ -108,14 +109,14 @@ public class IoTDBCreateAlignedTimeseriesIT {
       e.printStackTrace();
     }
 
-    // ensure that current storage group in cache is right.
+    // ensure that current database in cache is right.
     assertTimeseriesEquals(timeSeriesArray);
 
     // todo
     //    EnvironmentUtils.stopDaemon();
     //    setUp();
 
-    // ensure storage group in cache is right after recovering.
+    // ensure database in cache is right after recovering.
     assertTimeseriesEquals(timeSeriesArray);
   }
 
@@ -125,13 +126,13 @@ public class IoTDBCreateAlignedTimeseriesIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES")) {
       while (resultSet.next()) {
         String ActualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertEquals(timeSeriesArray[count], ActualResult);
         count++;
       }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
index 43e3d2db97..f9635222f6 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateStorageGroupIT.java
@@ -67,13 +67,13 @@ public class IoTDBCreateStorageGroupIT {
     EnvFactory.getEnv().cleanAfterTest();
   }
 
-  /** The test creates three storage groups */
+  /** The test creates three databases */
   @Test
   public void testCreateStorageGroup() throws Exception {
     String[] storageGroups = {"root.sg1", "root.sg2", "root.sg3"};
 
     for (String storageGroup : storageGroups) {
-      statement.execute(String.format("create storage group %s", storageGroup));
+      statement.execute(String.format("create database %s", storageGroup));
     }
 
     // ensure that current StorageGroup in cache is right.
@@ -92,9 +92,9 @@ public class IoTDBCreateStorageGroupIT {
   private void createStorageGroupTool(String[] storageGroups) throws SQLException {
 
     List<String> resultList = new ArrayList<>();
-    try (ResultSet resultSet = statement.executeQuery("show storage group")) {
+    try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       while (resultSet.next()) {
-        String storageGroupPath = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
+        String storageGroupPath = resultSet.getString(ColumnHeaderConstant.DATABASE);
         resultList.add(storageGroupPath);
       }
     }
@@ -107,32 +107,32 @@ public class IoTDBCreateStorageGroupIT {
     Assert.assertEquals(storageGroups[2], resultList.get(2));
   }
 
-  /** Test creating a storage group that path is an existence storage group */
+  /** Test creating a database that path is an existence database */
   @Test
   public void testCreateExistStorageGroup1() throws Exception {
     String storageGroup = "root.sg";
 
-    statement.execute(String.format("set storage group to %s", storageGroup));
+    statement.execute(String.format("CREATE DATABASE %s", storageGroup));
 
     try {
-      statement.execute(String.format("create storage group %s", storageGroup));
+      statement.execute(String.format("create database %s", storageGroup));
       fail();
     } catch (SQLException e) {
-      Assert.assertEquals("903: root.sg has already been set to storage group", e.getMessage());
+      Assert.assertEquals("903: root.sg has already been created as database", e.getMessage());
     }
   }
 
-  /** Test the parent node has been set as a storage group */
+  /** Test the parent node has been set as a database */
   @Test
   public void testCreateExistStorageGroup2() throws Exception {
 
-    statement.execute("create storage group root.sg");
+    statement.execute("create database root.sg");
 
     try {
-      statement.execute("create storage group root.sg.`device`");
+      statement.execute("create database root.sg.`device`");
       fail();
     } catch (SQLException e) {
-      Assert.assertEquals("903: root.sg has already been set to storage group", e.getMessage());
+      Assert.assertEquals("903: root.sg has already been created as database", e.getMessage());
     }
   }
 }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
index 51565b8f41..ee91f4a4e5 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBCreateTimeseriesIT.java
@@ -59,14 +59,14 @@ public class IoTDBCreateTimeseriesIT {
     EnvFactory.getEnv().cleanAfterClass();
   }
 
-  /** Test if creating a time series will cause the storage group with same name to disappear */
+  /** Test if creating a time series will cause the database with same name to disappear */
   @Test
   public void testCreateTimeseries() throws Exception {
     String storageGroup = "root.sg1.a.b.c";
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute(String.format("SET storage group TO %s", storageGroup));
+      statement.execute(String.format("CREATE DATABASE %s", storageGroup));
       statement.execute(
           String.format(
               "create timeseries %s with datatype=INT64, encoding=PLAIN, compression=SNAPPY",
@@ -75,7 +75,7 @@ public class IoTDBCreateTimeseriesIT {
     } catch (Exception ignored) {
     }
 
-    // ensure that current storage group in cache is right.
+    // ensure that current database in cache is right.
     createTimeSeriesTool(storageGroup);
   }
 
@@ -85,7 +85,7 @@ public class IoTDBCreateTimeseriesIT {
         Statement statement = connection.createStatement();
         ResultSet resultSet = statement.executeQuery("show timeseries")) {
       while (resultSet.next()) {
-        String str = resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES);
+        String str = resultSet.getString(ColumnHeaderConstant.TIMESERIES);
         resultList.add(str);
       }
     }
@@ -93,9 +93,9 @@ public class IoTDBCreateTimeseriesIT {
     resultList.clear();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement();
-        ResultSet resultSet = statement.executeQuery("show storage group")) {
+        ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
       while (resultSet.next()) {
-        String res = resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP);
+        String res = resultSet.getString(ColumnHeaderConstant.DATABASE);
         resultList.add(res);
       }
     }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
index ed20ce2d85..e543311a22 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeactivateTemplateIT.java
@@ -60,11 +60,11 @@ public class IoTDBDeactivateTemplateIT {
   }
 
   private void prepareTemplate() throws SQLException {
-    // create storage group
-    statement.execute("CREATE STORAGE GROUP root.sg1");
-    statement.execute("CREATE STORAGE GROUP root.sg2");
-    statement.execute("CREATE STORAGE GROUP root.sg3");
-    statement.execute("CREATE STORAGE GROUP root.sg4");
+    // create database
+    statement.execute("CREATE DATABASE root.sg1");
+    statement.execute("CREATE DATABASE root.sg2");
+    statement.execute("CREATE DATABASE root.sg3");
+    statement.execute("CREATE DATABASE root.sg4");
 
     // create schema template
     statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteAlignedTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteAlignedTimeseriesIT.java
index 7d9d71ad7a..09c8d07397 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteAlignedTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteAlignedTimeseriesIT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.it.schema;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.ConfigFactory;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
@@ -165,7 +166,7 @@ public class IoTDBDeleteAlignedTimeseriesIT {
     statement.execute("INSERT INTO root.sg3.d1(timestamp,s1,s2) ALIGNED VALUES(1,1,2)");
     try (ResultSet resultSet = statement.executeQuery("SHOW DEVICES")) {
       while (resultSet.next()) {
-        Assert.assertEquals("true", resultSet.getString("isAligned"));
+        Assert.assertEquals("true", resultSet.getString(ColumnHeaderConstant.IS_ALIGNED));
       }
     }
     cnt = 0;
@@ -174,7 +175,7 @@ public class IoTDBDeleteAlignedTimeseriesIT {
     statement.execute("INSERT INTO root.sg3.d1(timestamp,s1,s2) VALUES(1,1,2)");
     try (ResultSet resultSet = statement.executeQuery("SHOW DEVICES")) {
       while (resultSet.next()) {
-        Assert.assertEquals("false", resultSet.getString("isAligned"));
+        Assert.assertEquals("false", resultSet.getString(ColumnHeaderConstant.IS_ALIGNED));
       }
     }
 
@@ -195,7 +196,7 @@ public class IoTDBDeleteAlignedTimeseriesIT {
     statement.execute("INSERT INTO root.sg3.d1(timestamp,s1,s2) ALIGNED VALUES(1,1,2)");
     try (ResultSet resultSet = statement.executeQuery("SHOW DEVICES")) {
       while (resultSet.next()) {
-        Assert.assertEquals("true", resultSet.getString("isAligned"));
+        Assert.assertEquals("true", resultSet.getString(ColumnHeaderConstant.IS_ALIGNED));
       }
     }
 
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
index e451f608fe..20fd9415e1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteStorageGroupIT.java
@@ -58,18 +58,18 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteStorageGroup() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln.wf01.wt04");
-      statement.execute("DELETE STORAGE GROUP root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt03");
+      statement.execute("CREATE DATABASE root.ln.wf01.wt04");
+      statement.execute("DELETE DATABASE root.ln.wf01.wt01");
       ;
       String[] expected =
           new String[] {"root.ln.wf01.wt02", "root.ln.wf01.wt03", "root.ln.wf01.wt04"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -83,16 +83,16 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteMultipleStorageGroupWithQuote() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln1.wf02.wt04");
-      statement.execute("DELETE STORAGE GROUP root.ln1.wf01.wt01, root.ln1.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln1.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln1.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln1.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln1.wf02.wt04");
+      statement.execute("DELETE DATABASE root.ln1.wf01.wt01, root.ln1.wf02.wt03");
       String[] expected = new String[] {"root.ln1.wf01.wt02", "root.ln1.wf02.wt04"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -106,8 +106,8 @@ public class IoTDBDeleteStorageGroupIT {
   public void deleteNonExistStorageGroup() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln2.wf01.wt01");
-      statement.execute("DELETE STORAGE GROUP root.ln2.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln2.wf01.wt01");
+      statement.execute("DELETE DATABASE root.ln2.wf01.wt02");
     }
   }
 
@@ -115,16 +115,16 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteStorageGroupWithStar() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln3.wf02.wt04");
-      statement.execute("DELETE STORAGE GROUP root.ln3.wf02.*");
+      statement.execute("CREATE DATABASE root.ln3.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln3.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln3.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln3.wf02.wt04");
+      statement.execute("DELETE DATABASE root.ln3.wf02.*");
       String[] expected = new String[] {"root.ln3.wf01.wt01", "root.ln3.wf01.wt02"};
       List<String> expectedList = new ArrayList<>();
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -138,13 +138,13 @@ public class IoTDBDeleteStorageGroupIT {
   public void testDeleteAllStorageGroups() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf01.wt01");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf01.wt02");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf02.wt03");
-      statement.execute("SET STORAGE GROUP TO root.ln4.wf02.wt04");
-      statement.execute("DELETE STORAGE GROUP root.**");
+      statement.execute("CREATE DATABASE root.ln4.wf01.wt01");
+      statement.execute("CREATE DATABASE root.ln4.wf01.wt02");
+      statement.execute("CREATE DATABASE root.ln4.wf02.wt03");
+      statement.execute("CREATE DATABASE root.ln4.wf02.wt04");
+      statement.execute("DELETE DATABASE root.**");
       List<String> result = new ArrayList<>();
-      try (ResultSet resultSet = statement.executeQuery("SHOW STORAGE GROUP")) {
+      try (ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
         while (resultSet.next()) {
           result.add(resultSet.getString(1));
         }
@@ -160,7 +160,7 @@ public class IoTDBDeleteStorageGroupIT {
       statement.execute("insert into root.sg1.d1(time,s1) values(1,1);");
       statement.execute("flush");
       statement.execute("select count(*) from root.**;");
-      statement.execute("delete storage group root.sg1");
+      statement.execute("delete database root.sg1");
       statement.execute("insert into root.sg1.sdhkajhd(time,s1) values(1,1);");
       statement.execute("flush");
       int count = 0;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
index 5b77f67fab..3e45b9e6e2 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBMetadataFetchIT.java
@@ -58,10 +58,10 @@ public class IoTDBMetadataFetchIT {
 
       String[] insertSqls =
           new String[] {
-            "SET STORAGE GROUP TO root.ln.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln.wf01.wt02",
-            "SET STORAGE GROUP TO root.ln1.wf01.wt01",
-            "SET STORAGE GROUP TO root.ln2.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt01",
+            "CREATE DATABASE root.ln.wf01.wt02",
+            "CREATE DATABASE root.ln1.wf01.wt01",
+            "CREATE DATABASE root.ln2.wf01.wt01",
             "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE = BOOLEAN, ENCODING = PLAIN",
             "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE = FLOAT, ENCODING = RLE, "
                 + "compressor = SNAPPY, 'MAX_POINT_NUMBER' = '3' ",
@@ -164,9 +164,9 @@ public class IoTDBMetadataFetchIT {
         Statement statement = connection.createStatement()) {
       String[] sqls =
           new String[] {
-            "show storage group",
-            "show storage group root.ln.wf01.**",
-            "show storage group root.ln.wf01.wt01.status"
+            "show databases",
+            "show databases root.ln.wf01.**",
+            "show databases root.ln.wf01.wt01.status"
           };
       Set<String>[] standards =
           new Set[] {
@@ -203,8 +203,7 @@ public class IoTDBMetadataFetchIT {
         Statement statement = connection.createStatement()) {
       String[] sqls =
           new String[] {
-            "show devices root.ln.** with storage group",
-            "show devices root.ln.wf01.wt01.temperature"
+            "show devices root.ln.** with database", "show devices root.ln.wf01.wt01.temperature"
           };
       Set<String>[] standards =
           new Set[] {
@@ -432,9 +431,9 @@ public class IoTDBMetadataFetchIT {
         Statement statement = connection.createStatement()) {
       String[] sqls =
           new String[] {
-            "count storage group root.ln.**",
-            "count storage group",
-            "count storage group root.ln.wf01.wt01.status"
+            "count databases root.ln.**",
+            "count databases",
+            "count databases root.ln.wf01.wt01.status"
           };
       String[] standards = new String[] {"2,\n", "4,\n", "0,\n"};
       for (int n = 0; n < sqls.length; n++) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
index 465dba1f95..6e9587c3e1 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSchemaTemplateIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it.schema;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -106,13 +107,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES root.sg1.**"); ) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -129,7 +130,9 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW DEVICES")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("devices") + "," + resultSet.getString("isAligned");
+            resultSet.getString(ColumnHeaderConstant.DEVICE)
+                + ","
+                + resultSet.getString(ColumnHeaderConstant.IS_ALIGNED);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -176,13 +179,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES root.sg1.**")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -199,7 +202,9 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW DEVICES")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("devices") + "," + resultSet.getString("isAligned");
+            resultSet.getString(ColumnHeaderConstant.DEVICE)
+                + ","
+                + resultSet.getString(ColumnHeaderConstant.IS_ALIGNED);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -220,8 +225,9 @@ public class IoTDBSchemaTemplateIT {
     Set<String> expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA TEMPLATES")) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("template name")));
-        expectedResultSet.remove(resultSet.getString("template name"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -232,8 +238,9 @@ public class IoTDBSchemaTemplateIT {
     expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.executeQuery("SHOW SCHEMA TEMPLATES")) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("template name")));
-        expectedResultSet.remove(resultSet.getString("template name"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -247,13 +254,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW NODES IN SCHEMA TEMPLATE t1")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("child nodes")
+            resultSet.getString(ColumnHeaderConstant.CHILD_NODES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResultSet.contains(actualResult));
         expectedResultSet.remove(actualResult);
       }
@@ -328,7 +335,7 @@ public class IoTDBSchemaTemplateIT {
 
   @Test
   public void testSetAndActivateTemplateOnSGNode() throws SQLException {
-    statement.execute("CREATE STORAGE GROUP root.test.sg_satosg");
+    statement.execute("CREATE DATABASE root.test.sg_satosg");
     statement.execute("SET SCHEMA TEMPLATE t1 TO root.test.sg_satosg");
     statement.execute("INSERT INTO root.test.sg_satosg(time, s1) VALUES (1, 1)");
     statement.execute("INSERT INTO root.test.sg_satosg(time, s1) VALUES (2, 2)");
@@ -340,7 +347,7 @@ public class IoTDBSchemaTemplateIT {
     int resCnt = 0;
     while (resultSet.next()) {
       resCnt++;
-      expRes.remove(resultSet.getString("timeseries"));
+      expRes.remove(resultSet.getString(ColumnHeaderConstant.TIMESERIES));
     }
     Assert.assertEquals(2, resCnt);
     Assert.assertTrue(expRes.isEmpty());
@@ -352,10 +359,10 @@ public class IoTDBSchemaTemplateIT {
   }
 
   private void prepareTemplate() throws SQLException {
-    // create storage group
-    statement.execute("CREATE STORAGE GROUP root.sg1");
-    statement.execute("CREATE STORAGE GROUP root.sg2");
-    statement.execute("CREATE STORAGE GROUP root.sg3");
+    // create database
+    statement.execute("CREATE DATABASE root.sg1");
+    statement.execute("CREATE DATABASE root.sg2");
+    statement.execute("CREATE DATABASE root.sg3");
 
     // create schema template
     statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
@@ -399,13 +406,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES root.**.s1")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -449,13 +456,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.executeQuery("SHOW TIMESERIES root.**.s1")) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
index 062938e366..40cd34280d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBSortedShowTimeseriesIT.java
@@ -48,8 +48,8 @@ public class IoTDBSortedShowTimeseriesIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.turbine",
-        "SET STORAGE GROUP TO root.ln",
+        "CREATE DATABASE root.turbine",
+        "CREATE DATABASE root.ln",
         "create timeseries root.turbine.d0.s0(temperature) with datatype=FLOAT, encoding=RLE, compression=SNAPPY "
             + "tags('unit'='f', 'description'='turbine this is a test1') "
             + "attributes('H_Alarm'='100', 'M_Alarm'='50')",
@@ -170,21 +170,21 @@ public class IoTDBSortedShowTimeseriesIT {
       int count = 0;
       while (resultSet.next()) {
         String ans =
-            resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                + resultSet.getString(ColumnHeaderConstant.ALIAS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                + resultSet.getString(ColumnHeaderConstant.DATABASE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                + resultSet.getString(ColumnHeaderConstant.TAGS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
         assertTrue(retArray1.contains(ans));
         count++;
@@ -196,21 +196,21 @@ public class IoTDBSortedShowTimeseriesIT {
       count = 0;
       while (resultSet.next()) {
         String ans =
-            resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                + resultSet.getString(ColumnHeaderConstant.ALIAS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                + resultSet.getString(ColumnHeaderConstant.DATABASE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                + resultSet.getString(ColumnHeaderConstant.TAGS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
         System.out.println("\"" + ans + "\",");
         assertTrue(retArray2.contains(ans));
         count++;
@@ -248,21 +248,21 @@ public class IoTDBSortedShowTimeseriesIT {
       int count = 0;
       while (resultSet.next()) {
         String ans =
-            resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                + resultSet.getString(ColumnHeaderConstant.ALIAS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                + resultSet.getString(ColumnHeaderConstant.DATABASE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                + resultSet.getString(ColumnHeaderConstant.TAGS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
         System.out.println(ans);
         assertTrue(retSet.contains(ans));
@@ -297,21 +297,21 @@ public class IoTDBSortedShowTimeseriesIT {
       int count = 0;
       while (resultSet.next()) {
         String ans =
-            resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                + resultSet.getString(ColumnHeaderConstant.ALIAS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                + resultSet.getString(ColumnHeaderConstant.DATABASE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                + resultSet.getString(ColumnHeaderConstant.TAGS)
                 + ","
-                + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
         assertEquals(retArray[count], ans);
         count++;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
index b648d664b6..d02b3502fe 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagAlterIT.java
@@ -75,21 +75,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret1[count], ans);
           count++;
         }
@@ -123,21 +123,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -173,21 +173,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret[count], ans);
           count++;
         }
@@ -211,21 +211,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -260,21 +260,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret[count], ans);
           count++;
         }
@@ -289,21 +289,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -343,21 +343,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret[count], ans);
           count++;
         }
@@ -372,21 +372,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -422,21 +422,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret[count], ans);
           count++;
         }
@@ -452,21 +452,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -506,21 +506,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret[count], ans);
           count++;
         }
@@ -536,21 +536,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret2[count], ans);
           count++;
         }
@@ -567,21 +567,21 @@ public class IoTDBTagAlterIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES)
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ALIAS)
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_STORAGE_GROUP)
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_DATATYPE)
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_ENCODING)
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TIMESERIES_COMPRESSION)
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_TAGS)
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString(ColumnHeaderConstant.COLUMN_ATTRIBUTES);
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertEquals(ret3[count], ans);
           count++;
         }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagIT.java
index 4a373d92fd..b301ff1819 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBTagIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it.schema;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -75,21 +76,21 @@ public class IoTDBTagIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertTrue(ret.contains(ans));
           count++;
         }
@@ -129,21 +130,21 @@ public class IoTDBTagIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret.contains(ans));
           count++;
@@ -184,21 +185,21 @@ public class IoTDBTagIT {
       try {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertTrue(ret.contains(ans));
           count++;
         }
@@ -312,21 +313,21 @@ public class IoTDBTagIT {
           statement.executeQuery("show timeseries root.turbine.d6.temperature")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertTrue(ret.contains(ans));
           count++;
         }
@@ -367,21 +368,21 @@ public class IoTDBTagIT {
               "show timeseries root.turbine.d1.** where 'tag1'='v1' limit 2 offset 1")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertTrue(ret.contains(ans));
           count++;
         }
@@ -423,21 +424,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret1.contains(ans));
           count++;
@@ -450,21 +451,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret2.contains(ans));
           count++;
@@ -507,21 +508,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret1.contains(ans));
           count++;
@@ -534,21 +535,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret2.contains(ans));
           count++;
@@ -631,21 +632,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           assertTrue(ret1.contains(ans));
           count++;
@@ -658,21 +659,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries where 'unit'='f'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           res.add(ans);
           count++;
         }
@@ -738,21 +739,21 @@ public class IoTDBTagIT {
           statement.executeQuery("show timeseries root.turbine.** where 'unit'='f'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           res.add(ans);
           count++;
@@ -768,21 +769,21 @@ public class IoTDBTagIT {
           statement.executeQuery("show timeseries root.turbine.** where 'unit'='f'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           res.add(ans);
           count++;
@@ -860,21 +861,21 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries where 'unit'='f'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           res.add(ans);
           count++;
@@ -949,21 +950,21 @@ public class IoTDBTagIT {
           statement.executeQuery("show timeseries where 'description' contains 'test1'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           System.out.println(ans);
           res.add(ans);
@@ -980,21 +981,21 @@ public class IoTDBTagIT {
               "show timeseries root.ln.** where 'description' contains 'test1'")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
 
           res.add(ans);
           count++;
@@ -1091,28 +1092,28 @@ public class IoTDBTagIT {
       try (ResultSet resultSet = statement.executeQuery("show timeseries")) {
         while (resultSet.next()) {
           String ans =
-              resultSet.getString("timeseries")
+              resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                   + ","
-                  + resultSet.getString("alias")
+                  + resultSet.getString(ColumnHeaderConstant.ALIAS)
                   + ","
-                  + resultSet.getString("storage group")
+                  + resultSet.getString(ColumnHeaderConstant.DATABASE)
                   + ","
-                  + resultSet.getString("dataType")
+                  + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                   + ","
-                  + resultSet.getString("encoding")
+                  + resultSet.getString(ColumnHeaderConstant.ENCODING)
                   + ","
-                  + resultSet.getString("compression")
+                  + resultSet.getString(ColumnHeaderConstant.COMPRESSION)
                   + ","
-                  + resultSet.getString("tags")
+                  + resultSet.getString(ColumnHeaderConstant.TAGS)
                   + ","
-                  + resultSet.getString("attributes");
+                  + resultSet.getString(ColumnHeaderConstant.ATTRIBUTES);
           assertTrue(ret.contains(ans));
           count++;
         }
       }
       assertEquals(ret.size(), count);
 
-      statement.execute("delete storage group root.turbine");
+      statement.execute("delete database root.turbine");
       try (ResultSet rs = statement.executeQuery("show timeseries where 'tag1'='v1'")) {
         assertFalse(rs.next());
       }
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
index 422b8aa22c..f6db83595b 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/selectinto/IoTDBSelectIntoIT.java
@@ -51,7 +51,7 @@ public class IoTDBSelectIntoIT {
 
   protected static final String[] SQLs =
       new String[] {
-        "SET STORAGE GROUP TO root.sg",
+        "CREATE DATABASE root.sg",
         "CREATE TIMESERIES root.sg.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
         "CREATE TIMESERIES root.sg.d2.s1 WITH DATATYPE=INT32, ENCODING=RLE",
@@ -80,14 +80,14 @@ public class IoTDBSelectIntoIT {
         "INSERT INTO root.sg.d2(time, s2) VALUES (11, 11)",
         "INSERT INTO root.sg.d2(time, s1) VALUES (12, 12)",
         "flush",
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.sg1.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE"
       };
 
-  protected static final String selectIntoHeader = "source column,target timeseries,written,";
+  protected static final String selectIntoHeader = "SourceColumn,TargetTimeseries,Written,";
   protected static final String selectIntoAlignByDeviceHeader =
-      "source device,source column,target timeseries,written,";
+      "SourceDevice,SourceColumn,TargetTimeseries,Written,";
 
   protected static final String[] rawDataSet =
       new String[] {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java
index e350364990..586e02f4cd 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java
@@ -55,7 +55,7 @@ public class IoTDBPipeSinkIT {
   public void testShowPipeSinkType() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      String expectedHeader = ColumnHeaderConstant.COLUMN_PIPESINK_TYPE + ",";
+      String expectedHeader = ColumnHeaderConstant.TYPE + ",";
       String[] expectedRetSet = new String[] {"IoTDB,"};
       try (ResultSet resultSet = statement.executeQuery("SHOW PIPESINKTYPE")) {
         assertResultSetEqual(resultSet, expectedHeader, expectedRetSet);
@@ -87,11 +87,11 @@ public class IoTDBPipeSinkIT {
         Assert.assertTrue(e.getMessage().contains("PIPESINK [demo2] does not exist"));
       }
       String expectedHeader =
-          ColumnHeaderConstant.COLUMN_PIPESINK_NAME
+          ColumnHeaderConstant.NAME
               + ","
-              + ColumnHeaderConstant.COLUMN_PIPESINK_TYPE
+              + ColumnHeaderConstant.TYPE
               + ","
-              + ColumnHeaderConstant.COLUMN_PIPESINK_ATTRIBUTES
+              + ColumnHeaderConstant.ATTRIBUTES
               + ",";
       try (ResultSet resultSet = statement.executeQuery("SHOW PIPESINK")) {
         String[] expectedRetSet =
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
index c7a104f4dd..1ce075f402 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerExecutionIT.java
@@ -86,7 +86,7 @@ public class IoTDBTriggerExecutionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute(
           "CREATE TIMESERIES root.test.stateless.a with datatype=INT32,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
index 500f319d7e..15a016a673 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/trigger/IoTDBTriggerManagementIT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.it.trigger;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -95,7 +96,7 @@ public class IoTDBTriggerManagementIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.test");
+      statement.execute("CREATE DATABASE root.test");
       statement.execute(
           "CREATE TIMESERIES root.test.stateless.a with datatype=INT32,encoding=PLAIN");
       statement.execute(
@@ -270,14 +271,14 @@ public class IoTDBTriggerManagementIT {
       int cnt = 0;
       while (resultSet.next()) {
         cnt++;
-        String triggerName = resultSet.getString("TriggerName");
+        String triggerName = resultSet.getString(ColumnHeaderConstant.TRIGGER_NAME);
         String[] triggerInformation = result.get(triggerName);
         assertEquals(triggerInformation[0], triggerName);
-        assertEquals(triggerInformation[1], resultSet.getString("Event"));
-        assertEquals(triggerInformation[2], resultSet.getString("Type"));
-        assertEquals(triggerInformation[3], resultSet.getString("State"));
-        assertEquals(triggerInformation[4], resultSet.getString("PathPattern"));
-        assertEquals(triggerInformation[5], resultSet.getString("ClassName"));
+        assertEquals(triggerInformation[1], resultSet.getString(ColumnHeaderConstant.EVENT));
+        assertEquals(triggerInformation[2], resultSet.getString(ColumnHeaderConstant.TYPE));
+        assertEquals(triggerInformation[3], resultSet.getString(ColumnHeaderConstant.STATE));
+        assertEquals(triggerInformation[4], resultSet.getString(ColumnHeaderConstant.PATH_PATTERN));
+        assertEquals(triggerInformation[5], resultSet.getString(ColumnHeaderConstant.CLASS_NAME));
       }
       assertEquals(cnt, result.size());
     } catch (Exception e) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
index d1dd4d0d37..6c62e55f63 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java
@@ -226,7 +226,7 @@ public class IoTDBUDFM4IT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=double,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
index 07744152a6..6f368de5c8 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFOtherWindowQueryIT.java
@@ -85,7 +85,7 @@ public class IoTDBUDFOtherWindowQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s3 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s4 with datatype=INT32,encoding=PLAIN");
       statement.execute(
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
index c654f71c72..b6029e9970 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java
@@ -84,7 +84,7 @@ public class IoTDBUDFWindowQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
     } catch (SQLException throwable) {
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
index 0ae65de1e6..99c2a21b44 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java
@@ -93,7 +93,7 @@ public class IoTDBUDTFAlignByTimeQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=FLOAT,encoding=PLAIN");
@@ -103,7 +103,7 @@ public class IoTDBUDTFAlignByTimeQueryIT {
       statement.execute("CREATE TIMESERIES root.vehicle.d4.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d4.s2 with datatype=INT32,encoding=PLAIN");
       // create aligned timeseries
-      statement.execute(("CREATE STORAGE GROUP root.sg1"));
+      statement.execute(("CREATE DATABASE root.sg1"));
       statement.execute("CREATE ALIGNED TIMESERIES root.sg1(s1 INT32, s2 INT32)");
     } catch (SQLException throwable) {
       fail(throwable.getMessage());
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
index 8ef47e56f1..af4d4a758e 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFBuiltinFunctionIT.java
@@ -71,7 +71,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("CREATE TIMESERIES root.sg.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.sg.d1.s3 with datatype=FLOAT,encoding=PLAIN");
@@ -1045,7 +1045,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   public void testStringFunctions() {
     String[] createSQLs =
         new String[] {
-          "SET STORAGE GROUP TO root.testStringFunctions",
+          "CREATE DATABASE root.testStringFunctions",
           "CREATE TIMESERIES root.testStringFunctions.d1.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testStringFunctions.d1.s2 WITH DATATYPE=TEXT, ENCODING=PLAIN",
         };
@@ -1197,7 +1197,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
     // create time series with master data
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.testMasterRepair");
+      statement.execute("CREATE DATABASE root.testMasterRepair");
       statement.execute(
           "CREATE TIMESERIES root.testMasterRepair.d1.s1 with datatype=FLOAT,encoding=PLAIN");
       statement.execute(
@@ -1366,7 +1366,7 @@ public class IoTDBUDTFBuiltinFunctionIT {
   public void testChangePoints() {
     String[] createSQLs =
         new String[] {
-          "SET STORAGE GROUP TO root.testChangePoints",
+          "CREATE DATABASE root.testChangePoints",
           "CREATE TIMESERIES root.testChangePoints.d1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testChangePoints.d1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
           "CREATE TIMESERIES root.testChangePoints.d1.s3 WITH DATATYPE=INT64, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
index 0907fc51a9..00321384a4 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.it.udf;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
@@ -56,7 +57,7 @@ public class IoTDBUDTFHybridQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=INT32,encoding=PLAIN");
@@ -238,7 +239,7 @@ public class IoTDBUDTFHybridQueryIT {
           String ans =
               resultSet.getString(TIMESTAMP_STR)
                   + ","
-                  + resultSet.getString("Device")
+                  + resultSet.getString(ColumnHeaderConstant.DEVICE)
                   + ","
                   + resultSet.getString("s1 + 1")
                   + ","
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
index 149551fc91..91006dbf76 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java
@@ -82,7 +82,7 @@ public class IoTDBUDTFNonAlignQueryIT {
   private static void createTimeSeries() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.vehicle");
+      statement.execute("CREATE DATABASE root.vehicle");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s1 with datatype=INT32,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d1.s2 with datatype=INT64,encoding=PLAIN");
       statement.execute("CREATE TIMESERIES root.vehicle.d2.s1 with datatype=FLOAT,encoding=PLAIN");
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
index 5b7cd25a5e..3bf3659a66 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java
@@ -36,7 +36,7 @@ public class AlignedWriteUtil {
 
   private static final String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "create aligned timeseries root.sg1.d1(s1 FLOAT encoding=RLE, s2 INT32 encoding=Gorilla compression=SNAPPY, s3 INT64, s4 BOOLEAN, s5 TEXT)",
         "create timeseries root.sg1.d2.s1 WITH DATATYPE=FLOAT, encoding=RLE",
         "create timeseries root.sg1.d2.s2 WITH DATATYPE=INT32, encoding=Gorilla",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
index 1b54f3cf67..a1ffb38245 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/watermark/IoTDBWatermarkIT.java
@@ -125,7 +125,7 @@ public class IoTDBWatermarkIT {
 
       String[] create_sql =
           new String[] {
-            "SET STORAGE GROUP TO root.vehicle",
+            "CREATE DATABASE root.vehicle",
             "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
             "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
             "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE"
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
index 2dbc153eb9..2e5d7cd47c 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAllNullIT.java
@@ -45,7 +45,7 @@ public class IoTDBWithoutAllNullIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.testWithoutAllNull",
+        "CREATE DATABASE root.testWithoutAllNull",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.testWithoutAllNull.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
index ffa9a9ff31..64931ebdec 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutAnyNullIT.java
@@ -43,7 +43,7 @@ public class IoTDBWithoutAnyNullIT {
 
   private static final String[] dataSet =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.d1.s2 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.d1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
index 7cdf3af402..dc6b48e505 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAllFilterIT.java
@@ -47,7 +47,7 @@ public class IoTDBWithoutNullAllFilterIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
index c8b87825e2..d75eff7ade 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/withoutNull/IoTDBWithoutNullAnyFilterIT.java
@@ -45,7 +45,7 @@ public class IoTDBWithoutNullAnyFilterIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.test.sg1.s1 WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s2 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "CREATE TIMESERIES root.test.sg1.s3 WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
diff --git a/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java b/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
index b7ae7ff61c..1772bd5cb6 100644
--- a/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
+++ b/integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
@@ -124,13 +124,13 @@ public abstract class ClusterEnvBase implements BaseEnv {
 
       try (IoTDBConnection connection = getConnection(60);
           Statement statement = connection.createStatement()) {
-        statement.execute("SET STORAGE GROUP TO root.test" + counter);
+        statement.execute("CREATE DATABASE root.test" + counter);
         statement.execute(
             "CREATE TIMESERIES root.test" + counter + ".d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
         if (statement.execute("SHOW TIMESERIES")) {
           ResultSet resultSet = statement.getResultSet();
           if (resultSet.next()) {
-            statement.execute("DELETE STORAGE GROUP root.*");
+            statement.execute("DELETE DATABASE root.*");
             break;
           }
         }
diff --git a/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java b/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
index e3cc6608f7..82aee4e38b 100644
--- a/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
+++ b/integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
@@ -40,8 +40,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeClass() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
@@ -55,8 +55,8 @@ public class RemoteServerEnv implements BaseEnv {
   public void initBeforeTest() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.init;");
-      statement.execute("DELETE STORAGE GROUP root;");
+      statement.execute("CREATE DATABASE root.init;");
+      statement.execute("DELETE DATABASE root;");
     } catch (Exception e) {
       e.printStackTrace();
       fail(e.getMessage());
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
index bc86a95a40..e1bf7d4cd3 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
@@ -74,7 +74,7 @@ public class IOTDBInsertIT {
   }
 
   private static void initCreateSQLStatement() {
-    sqls.add("SET STORAGE GROUP TO root.t1");
+    sqls.add("CREATE DATABASE root.t1");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE");
     sqls.add("CREATE TIMESERIES root.t1.wf01.wt01.f1 WITH DATATYPE=FLOAT, ENCODING=PLAIN");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
index e57575a56d..f5edc6bfb8 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignedTimeSeriesCompactionIT.java
@@ -43,7 +43,7 @@ public class IoTDBAlignedTimeSeriesCompactionIT {
     EnvFactory.getEnv().initBeforeClass();
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to " + storageGroup);
+      statement.execute("CREATE DATABASE " + storageGroup);
     }
   }
 
@@ -51,7 +51,7 @@ public class IoTDBAlignedTimeSeriesCompactionIT {
   public void tearDown() throws Exception {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("delete storage group " + storageGroup);
+      statement.execute("delete database " + storageGroup);
     }
     EnvFactory.getEnv().cleanAfterClass();
   }
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
index 022668e095..d8e216b9d9 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAuthorizationIT.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.db.integration;
 
 import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.db.auth.AuthorityChecker;
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
 import org.apache.iotdb.itbase.category.LocalStandaloneTest;
@@ -78,8 +79,7 @@ public class IoTDBAuthorizationIT {
                   Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "tempuser", "temppw");
           Statement userStmt = userCon.createStatement()) {
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -93,7 +93,7 @@ public class IoTDBAuthorizationIT {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES ALL on root.**");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp, b) VALUES (100, 100)");
         userStmt.execute("SELECT * from root.a");
@@ -103,8 +103,7 @@ public class IoTDBAuthorizationIT {
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES ALL on root.**");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.b.b");
 
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         Assert.assertThrows(
             SQLException.class,
             () ->
@@ -135,23 +134,23 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.sgtest"));
+            SQLException.class, () -> userStmt.execute("CREATE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES SET_STORAGE_GROUP ON root.sgtest");
 
         try {
-          userStmt.execute("SET STORAGE GROUP TO root.sgtest");
+          userStmt.execute("CREATE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
 
         Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("DELETE STORAGE GROUP root.sgtest"));
+            SQLException.class, () -> userStmt.execute("DELETE DATABASE root.sgtest"));
 
         adminStmt.execute("GRANT USER sgtest PRIVILEGES DELETE_STORAGE_GROUP ON root.sgtest");
 
         try {
-          userStmt.execute("DELETE STORAGE GROUP root.sgtest");
+          userStmt.execute("DELETE DATABASE root.sgtest");
         } catch (SQLException e) {
           fail(e.getMessage());
         }
@@ -428,26 +427,22 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         // grant and revoke the user the privilege to create time series
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         // no privilege to create this one
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.b"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.b"));
         // privilege already exists
         Assert.assertThrows(
             SQLException.class,
             () -> adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a"));
         // no privilege to create this one any more
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
         // no privilege to create timeseries
-        Assert.assertThrows(
-            SQLException.class, () -> userStmt.execute("SET STORAGE GROUP TO root.a"));
+        Assert.assertThrows(SQLException.class, () -> userStmt.execute("CREATE DATABASE root.a"));
 
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
         // no privilege to create this one any more
@@ -478,7 +473,7 @@ public class IoTDBAuthorizationIT {
 
         // revoke the privilege to delete time series
         adminStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
-        adminStmt.execute("SET STORAGE GROUP TO root.b");
+        adminStmt.execute("CREATE DATABASE root.b");
         adminStmt.execute("CREATE TIMESERIES root.b.a WITH DATATYPE=INT32,ENCODING=PLAIN");
         adminStmt.execute("REVOKE USER tempuser PRIVILEGES DELETE_TIMESERIES on root.a.**");
         userStmt.execute("DELETE TIMESERIES root.b.a");
@@ -504,7 +499,7 @@ public class IoTDBAuthorizationIT {
           Statement userStmt = userCon.createStatement()) {
 
         adminStmt.execute("GRANT USER tempuser PRIVILEGES SET_STORAGE_GROUP ON root.a");
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         adminStmt.execute("GRANT USER tempuser PRIVILEGES CREATE_TIMESERIES ON root.a.b");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
 
@@ -558,7 +553,7 @@ public class IoTDBAuthorizationIT {
             "GRANT ROLE admin PRIVILEGES SET_STORAGE_GROUP,CREATE_TIMESERIES,DELETE_TIMESERIES,READ_TIMESERIES,INSERT_TIMESERIES on root.**");
         adminStmt.execute("GRANT admin TO tempuser");
 
-        userStmt.execute("SET STORAGE GROUP TO root.a");
+        userStmt.execute("CREATE DATABASE root.a");
         userStmt.execute("CREATE TIMESERIES root.a.b WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("CREATE TIMESERIES root.a.c WITH DATATYPE=INT32,ENCODING=PLAIN");
         userStmt.execute("INSERT INTO root.a(timestamp,b,c) VALUES (1,100,1000)");
@@ -595,7 +590,7 @@ public class IoTDBAuthorizationIT {
         Statement adminStmt = adminCon.createStatement()) {
 
       adminStmt.execute("CREATE USER tempuser 'temppw'");
-      adminStmt.execute("SET STORAGE GROUP TO root.a");
+      adminStmt.execute("CREATE DATABASE root.a");
       int privilegeCnt = 500;
       for (int i = 0; i < privilegeCnt; i++) {
         adminStmt.execute("CREATE TIMESERIES root.a.b" + i + " WITH DATATYPE=INT32,ENCODING=PLAIN");
@@ -1087,8 +1082,14 @@ public class IoTDBAuthorizationIT {
       Collections.addAll(expectedList, expected);
       List<String> result = new ArrayList<>();
       while (resultSet.next()) {
-        result.add(resultSet.getString("Time") + ", " + resultSet.getString("root.sg1.d1.s1"));
-        result.add(resultSet.getString("Time") + ", " + resultSet.getString("root.sg1.d1.s2"));
+        result.add(
+            resultSet.getString(ColumnHeaderConstant.TIME)
+                + ", "
+                + resultSet.getString("root.sg1.d1.s1"));
+        result.add(
+            resultSet.getString(ColumnHeaderConstant.TIME)
+                + ", "
+                + resultSet.getString("root.sg1.d1.s2"));
       }
       assertEquals(expected.length, result.size());
       assertTrue(expectedList.containsAll(result));
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
index c97710fc45..6a51bc39ca 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
@@ -43,7 +43,7 @@ public class IoTDBClearCacheIT {
 
   private static String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -88,7 +88,7 @@ public class IoTDBClearCacheIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
index 5e80ea6aa0..00bea906e8 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
@@ -88,7 +88,7 @@ public class IoTDBCloseIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
index 6c8b2a7c93..dce4ef7550 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
@@ -66,7 +66,7 @@ public class IoTDBCompactionIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       try {
         statement.execute("CREATE TIMESERIES root.mergeTest.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       } catch (SQLException e) {
@@ -111,7 +111,7 @@ public class IoTDBCompactionIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -174,7 +174,7 @@ public class IoTDBCompactionIT {
     // e.g.: write 1. seq [10, 20), 2. seq [20, 30), 3. unseq [20, 30), 4. unseq [10, 20)
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -255,7 +255,7 @@ public class IoTDBCompactionIT {
     logger.info("testCrossPartition...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
index cd765dc565..de44842958 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionWithIDTableIT.java
@@ -80,7 +80,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       try {
         statement.execute("CREATE TIMESERIES root.mergeTest.s1 WITH DATATYPE=INT64,ENCODING=PLAIN");
       } catch (SQLException e) {
@@ -125,7 +125,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("test...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -188,7 +188,7 @@ public class IoTDBCompactionWithIDTableIT {
     // e.g.: write 1. seq [10, 20), 2. seq [20, 30), 3. unseq [20, 30), 4. unseq [10, 20)
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -269,7 +269,7 @@ public class IoTDBCompactionWithIDTableIT {
     logger.info("testCrossPartition...");
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.mergeTest");
+      statement.execute("CREATE DATABASE root.mergeTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
index 4ff90010b7..001da8c2cc 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
@@ -55,8 +55,8 @@ public class IoTDBDaemonIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
-        "SET STORAGE GROUP TO root.vehicle.d1",
+        "CREATE DATABASE root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d1",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
index bc3b5ee677..ce515a3851 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
@@ -47,8 +47,8 @@ public class IoTDBDisableAlignIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java
index d723d8ff60..38b24fbda9 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java
@@ -111,7 +111,7 @@ public class IoTDBEngineTimeGeneratorIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      // create storage group and measurement
+      // create database and measurement
       for (String sql : TestConstant.createSql) {
         statement.execute(sql);
       }
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
index 060d2d10ea..e046d4882a 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
@@ -40,7 +40,7 @@ public class IoTDBFillIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt01",
+        "CREATE DATABASE root.ln.wf01.wt01",
         "CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt01.hardware WITH DATATYPE=INT32, ENCODING=PLAIN",
@@ -102,7 +102,7 @@ public class IoTDBFillIT {
 
   private static String[] dataSet2 =
       new String[] {
-        "SET STORAGE GROUP TO root.ln.wf01.wt02",
+        "CREATE DATABASE root.ln.wf01.wt02",
         "CREATE TIMESERIES root.ln.wf01.wt02.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN",
         "CREATE TIMESERIES root.ln.wf01.wt02.temperature WITH DATATYPE=DOUBLE, ENCODING=PLAIN",
         "INSERT INTO root.ln.wf01.wt02(timestamp,temperature,status) "
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
index b80bdb855c..5172ac9683 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
@@ -46,7 +46,7 @@ public class IoTDBFlushQueryMergeIT {
   private static final Logger logger = LoggerFactory.getLogger(IoTDBFlushQueryMergeIT.class);
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle.d0",
+        "CREATE DATABASE root.vehicle.d0",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "insert into root.vehicle.d0(timestamp,s0) values(1,101)",
         "insert into root.vehicle.d0(timestamp,s0) values(2,198)",
@@ -114,9 +114,9 @@ public class IoTDBFlushQueryMergeIT {
         "INSERT INTO root.group%d(timestamp, s1, s2, s3) VALUES (%d, %d, %f, %s)";
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.group1");
-      statement.execute("SET STORAGE GROUP TO root.group2");
-      statement.execute("SET STORAGE GROUP TO root.group3");
+      statement.execute("CREATE DATABASE root.group1");
+      statement.execute("CREATE DATABASE root.group2");
+      statement.execute("CREATE DATABASE root.group3");
 
       for (int i = 1; i <= 3; i++) {
         for (int j = 10; j < 20; j++) {
@@ -161,9 +161,9 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushGivenGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup1");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup2");
-      statement.execute("SET STORAGE GROUP TO root.nodatagroup3");
+      statement.execute("CREATE DATABASE root.nodatagroup1");
+      statement.execute("CREATE DATABASE root.nodatagroup2");
+      statement.execute("CREATE DATABASE root.nodatagroup3");
       statement.execute("FLUSH root.nodatagroup1");
       statement.execute("FLUSH root.nodatagroup2");
       statement.execute("FLUSH root.nodatagroup3");
@@ -179,13 +179,13 @@ public class IoTDBFlushQueryMergeIT {
   public void testFlushNotExistGroupNoData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.noexist.nodatagroup1");
+      statement.execute("CREATE DATABASE root.noexist.nodatagroup1");
       try {
         statement.execute(
             "FLUSH root.noexist.nodatagroup1,root.notExistGroup1,root.notExistGroup2");
       } catch (SQLException sqe) {
         String expectedMsg =
-            "Storage group is not set for current seriesPath: [root.notExistGroup2,root.notExistGroup1]";
+            "Database is not set for current seriesPath: [root.notExistGroup2,root.notExistGroup1]";
         sqe.printStackTrace();
         Assert.assertTrue(sqe.getMessage().contains(expectedMsg));
       }
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
index 70793e6bab..68a9097cbf 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
@@ -64,8 +64,8 @@ public class IoTDBLoadExternalTsfileIT {
 
   protected static String[] insertSequenceSqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.test",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.test",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
         "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
@@ -136,7 +136,7 @@ public class IoTDBLoadExternalTsfileIT {
   protected int prevCompactionThread;
 
   private static String[] deleteSqls =
-      new String[] {"DELETE STORAGE GROUP root.vehicle", "DELETE STORAGE GROUP root.test"};
+      new String[] {"DELETE DATABASE root.vehicle", "DELETE DATABASE root.test"};
 
   @Before
   public void setUp() throws Exception {
@@ -911,8 +911,8 @@ public class IoTDBLoadExternalTsfileIT {
       List<String> metaDataSqls =
           new ArrayList<>(
               Arrays.asList(
-                  "SET STORAGE GROUP TO root.vehicle",
-                  "SET STORAGE GROUP TO root.test",
+                  "CREATE DATABASE root.vehicle",
+                  "CREATE DATABASE root.test",
                   "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT64, ENCODING=RLE",
                   "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=TEXT, ENCODING=PLAIN",
                   "CREATE TIMESERIES root.vehicle.d1.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
index 85833cf9f9..8228d7953e 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
@@ -101,7 +101,7 @@ public class IoTDBMultiSeriesIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
index f8771ea6ca..e3c0fcfa49 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
@@ -87,7 +87,7 @@ public class IoTDBMultiStatementsIT {
         statement.execute(sql);
       }
 
-      statement.execute("SET STORAGE GROUP TO root.fans");
+      statement.execute("CREATE DATABASE root.fans");
       statement.execute("CREATE TIMESERIES root.fans.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE");
       statement.execute("CREATE TIMESERIES root.fans.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE");
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
index 8717132018..452ff1108b 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
@@ -76,7 +76,7 @@ public class IoTDBNewTsFileCompactionIT {
                 Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
 
-      statement.execute("SET STORAGE GROUP TO root.newTsFileCompaction");
+      statement.execute("CREATE DATABASE root.newTsFileCompaction");
     }
   }
 
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
index 02c4ca9c19..545e8666fd 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
@@ -49,7 +49,7 @@ public class IoTDBOverlappedPageIT {
 
   private static String[] dataSet1 =
       new String[] {
-        "SET STORAGE GROUP TO root.sg1",
+        "CREATE DATABASE root.sg1",
         "CREATE TIMESERIES root.sg1.d1.s1 WITH DATATYPE=INT32, ENCODING=PLAIN",
         "INSERT INTO root.sg1.d1(time,s1) values(1, 1)",
         "INSERT INTO root.sg1.d1(time,s1) values(10, 10)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
index 1fa1290ece..fa45615ebf 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
@@ -43,7 +43,7 @@ public class IoTDBQueryMemoryControlIT {
 
   private static final String[] sqls =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01 with datatype=INT32,encoding=PLAIN",
         "create timeseries root.ln.wf01.wt02 with datatype=INT32,encoding=PLAIN",
         "create timeseries root.ln.wf01.wt03 with datatype=INT32,encoding=PLAIN",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
index 0b8215d36b..2104346c76 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
@@ -138,8 +138,8 @@ public class IoTDBQueryTimeoutIT {
   private static void prepareData() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.addBatch("SET STORAGE GROUP TO root.sg1;");
-      statement.addBatch("SET STORAGE GROUP TO root.sg2;");
+      statement.addBatch("CREATE DATABASE root.sg1;");
+      statement.addBatch("CREATE DATABASE root.sg2;");
       statement.addBatch("CREATE TIMESERIES root.sg1.d1.s1 with datatype=INT32,encoding=RLE;");
       statement.addBatch("CREATE TIMESERIES root.sg2.d2.s2 with datatype=INT32,encoding=RLE;");
       for (int i = 0; i <= 80000; i++) {
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
index 6980b7cd47..ac3b406f0c 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
@@ -48,8 +48,8 @@ public class IoTDBQueryWithIDTableIT {
 
   private static String[] sqls =
       new String[] {
-        "SET STORAGE GROUP TO root.vehicle",
-        "SET STORAGE GROUP TO root.other",
+        "CREATE DATABASE root.vehicle",
+        "CREATE DATABASE root.other",
         "CREATE TIMESERIES root.vehicle.d0.s0 WITH DATATYPE=INT32, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s1 WITH DATATYPE=INT64, ENCODING=RLE",
         "CREATE TIMESERIES root.vehicle.d0.s2 WITH DATATYPE=FLOAT, ENCODING=RLE",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
index 26daeb2532..9a0a11b1d7 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
@@ -179,7 +179,7 @@ package org.apache.iotdb.db.integration;
 //            DriverManager.getConnection(
 //                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
 //        Statement statement = connection.createStatement()) {
-//      statement.execute("set storage group to root.test");
+//      statement.execute("create database root.test");
 //      statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(1,true)");
 //      statement.execute("select * from root.test.wf02.wt02");
 //      statement.execute("DELETE PARTITION root.test 0");
@@ -204,7 +204,7 @@ package org.apache.iotdb.db.integration;
 //            DriverManager.getConnection(
 //                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
 //        Statement statement = connection.createStatement()) {
-//      statement.execute("set storage group to root.test");
+//      statement.execute("create database root.test");
 //      statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(2,true)");
 //      statement.execute("select * from root.test.wf02.wt02");
 //      statement.execute("DELETE PARTITION root.test 0");
@@ -234,7 +234,7 @@ package org.apache.iotdb.db.integration;
 //            DriverManager.getConnection(
 //                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
 //        Statement statement = connection.createStatement()) {
-//      statement.execute("set storage group to root.test");
+//      statement.execute("create database root.test");
 //      statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(2,true)");
 //      statement.execute("select * from root.test.wf02.wt02");
 //      statement.execute("DELETE PARTITION root.test 0");
@@ -264,7 +264,7 @@ package org.apache.iotdb.db.integration;
 //            DriverManager.getConnection(
 //                Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root");
 //        Statement statement = connection.createStatement()) {
-//      statement.execute("set storage group to root.test");
+//      statement.execute("create database root.test");
 //      statement.execute("insert into root.test.wf02.wt02(timestamp,status) values(1,true)");
 //      statement.execute("flush");
 //      statement.execute("DELETE PARTITION root.test 0");
@@ -287,8 +287,8 @@ package org.apache.iotdb.db.integration;
 //    List<String> sqls =
 //        new ArrayList<>(
 //            Arrays.asList(
-//                "SET STORAGE GROUP TO root.test1",
-//                "SET STORAGE GROUP TO root.test2",
+//                "CREATE DATABASE root.test1",
+//                "CREATE DATABASE root.test2",
 //                "CREATE TIMESERIES root.test1.s0 WITH DATATYPE=INT64,ENCODING=PLAIN",
 //                "CREATE TIMESERIES root.test2.s0 WITH DATATYPE=INT64,ENCODING=PLAIN"));
 //    // 10 partitions, each one with one seq file and one unseq file
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
index 012f5b6c92..25f23a0fee 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRewriteTsFileToolIT.java
@@ -100,7 +100,7 @@ public class IoTDBRewriteTsFileToolIT {
     try (Connection connection =
             DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667", "root", "root");
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.sg");
+      statement.execute("CREATE DATABASE root.sg");
       statement.execute("create timeseries root.sg.d1.s INT32");
       statement.execute("create timeseries root.sg.d2.s INT32");
       statement.execute("create timeseries root.sg.d3.s INT32");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
index cc3b5626fe..7b24d44c59 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
@@ -107,7 +107,7 @@ public class IoTDBRpcCompressionIT {
 
   private void doSomething(Statement statement) throws SQLException, InterruptedException {
 
-    statement.execute("set storage group to root.demo");
+    statement.execute("CREATE DATABASE root.demo");
     statement.execute("create timeseries root.demo.d1.s1 with datatype=INT64,encoding=RLE");
     statement.execute("create timeseries root.demo.d1.s2 with datatype=INT64,encoding=RLE");
     statement.execute("create timeseries root.demo.d1.s3 with datatype=INT64,encoding=RLE");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java
index cc615c7831..b6751f27da 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.integration;
 
+import org.apache.iotdb.db.mpp.common.header.ColumnHeaderConstant;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
 import org.apache.iotdb.itbase.category.LocalStandaloneTest;
 import org.apache.iotdb.jdbc.Config;
@@ -111,13 +112,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.ENCODING);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -132,7 +133,9 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("devices") + "," + resultSet.getString("isAligned");
+            resultSet.getString(ColumnHeaderConstant.DEVICE)
+                + ","
+                + resultSet.getString(ColumnHeaderConstant.IS_ALIGNED);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -183,13 +186,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("timeseries")
+            resultSet.getString(ColumnHeaderConstant.TIMESERIES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -204,7 +207,9 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("devices") + "," + resultSet.getString("isAligned");
+            resultSet.getString(ColumnHeaderConstant.DEVICE)
+                + ","
+                + resultSet.getString(ColumnHeaderConstant.IS_ALIGNED);
         Assert.assertTrue(expectedResult.contains(actualResult));
         expectedResult.remove(actualResult);
       }
@@ -226,8 +231,9 @@ public class IoTDBSchemaTemplateIT {
     Set<String> expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("template name")));
-        expectedResultSet.remove(resultSet.getString("template name"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -239,8 +245,9 @@ public class IoTDBSchemaTemplateIT {
     expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("template name")));
-        expectedResultSet.remove(resultSet.getString("template name"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.TEMPLATE_NAME));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -255,13 +262,13 @@ public class IoTDBSchemaTemplateIT {
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
         String actualResult =
-            resultSet.getString("child nodes")
+            resultSet.getString(ColumnHeaderConstant.CHILD_NODES)
                 + ","
-                + resultSet.getString("dataType")
+                + resultSet.getString(ColumnHeaderConstant.DATATYPE)
                 + ","
-                + resultSet.getString("encoding")
+                + resultSet.getString(ColumnHeaderConstant.ENCODING)
                 + ","
-                + resultSet.getString("compression");
+                + resultSet.getString(ColumnHeaderConstant.COMPRESSION);
         Assert.assertTrue(expectedResultSet.contains(actualResult));
         expectedResultSet.remove(actualResult);
       }
@@ -290,8 +297,9 @@ public class IoTDBSchemaTemplateIT {
     Set<String> expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("child paths")));
-        expectedResultSet.remove(resultSet.getString("child paths"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -301,8 +309,9 @@ public class IoTDBSchemaTemplateIT {
     expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("child paths")));
-        expectedResultSet.remove(resultSet.getString("child paths"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -312,8 +321,9 @@ public class IoTDBSchemaTemplateIT {
     expectedResultSet = new HashSet<>(Arrays.asList(expectedResult));
     try (ResultSet resultSet = statement.getResultSet()) {
       while (resultSet.next()) {
-        Assert.assertTrue(expectedResultSet.contains(resultSet.getString("child paths")));
-        expectedResultSet.remove(resultSet.getString("child paths"));
+        Assert.assertTrue(
+            expectedResultSet.contains(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS)));
+        expectedResultSet.remove(resultSet.getString(ColumnHeaderConstant.CHILD_PATHS));
       }
     }
     Assert.assertEquals(0, expectedResultSet.size());
@@ -324,10 +334,10 @@ public class IoTDBSchemaTemplateIT {
   }
 
   private void prepareTemplate() throws SQLException {
-    // create storage group
-    statement.execute("CREATE STORAGE GROUP root.sg1");
-    statement.execute("CREATE STORAGE GROUP root.sg2");
-    statement.execute("CREATE STORAGE GROUP root.sg3");
+    // create database
+    statement.execute("CREATE DATABASE root.sg1");
+    statement.execute("CREATE DATABASE root.sg2");
+    statement.execute("CREATE DATABASE root.sg3");
 
     // create schema template
     statement.execute("CREATE SCHEMA TEMPLATE t1 (s1 INT64, s2 DOUBLE)");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
index 004d690057..489fbbb9c4 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
@@ -52,7 +52,7 @@ public class IoTDBSensorUpdateIT {
   public void testMerge() {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("set storage group to root.demo");
+      statement.execute("CREATE DATABASE root.demo");
       statement.execute("create timeseries root.demo.d1.s1 with datatype=INT64,encoding=RLE");
       statement.execute("create timeseries root.demo.d1.s2 with datatype=INT64,encoding=RLE");
       statement.execute("create timeseries root.demo.d1.s3 with datatype=INT64,encoding=RLE");
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java
index eb430591f5..af18b279a5 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java
@@ -109,7 +109,7 @@ public class IoTDBSequenceDataQueryIT {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
 
-      // create storage group and measurement
+      // create database and measurement
       for (String sql : TestConstant.createSql) {
         statement.execute(sql);
       }
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
index 3245d01700..19d56546ca 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
@@ -62,7 +62,7 @@ public class IoTDBSessionTimeoutIT {
             DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
         Statement statement = connection.createStatement()) {
       Thread.sleep(SESSION_TIMEOUT + 10000);
-      statement.execute("show storage group");
+      statement.execute("SHOW DATABASES");
       fail("session did not timeout as expected");
     } catch (IoTDBSQLException e) {
       assertEquals(
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
index bf763eb497..47e2af2927 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
@@ -48,7 +48,7 @@ public class IoTDBSetSystemReadOnlyWritableIT {
 
   private static final String[] sqls1 =
       new String[] {
-        "set storage group to root.ln",
+        "CREATE DATABASE root.ln",
         "create timeseries root.ln.wf01.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.ln.wf01.wt01(timestamp,status) values(1509465660000,true)",
@@ -97,7 +97,7 @@ public class IoTDBSetSystemReadOnlyWritableIT {
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466020000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466080000,false)",
         "insert into root.ln.wf02.wt02(timestamp,status) values(1509466140000,false)",
-        "set storage group to root.sgcc",
+        "CREATE DATABASE root.sgcc",
         "create timeseries root.sgcc.wf03.wt01.status with datatype=BOOLEAN,encoding=PLAIN",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465600000,true)",
         "insert into root.sgcc.wf03.wt01(timestamp,status) values(1509465660000,true)",
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
index 3d25cbda98..deed2d2b71 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
@@ -60,7 +60,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void test() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -105,7 +105,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testAppendMergeAfterDeserializeMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       try {
         statement.execute("CREATE TIMESERIES root.compactionTest.s1 WITH DATATYPE=INT64");
       } catch (SQLException e) {
@@ -156,7 +156,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testDeserializeMergeAfterAppendMerge() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       try {
         statement.execute("CREATE TIMESERIES root.compactionTest.s1 WITH DATATYPE=INT64");
       } catch (SQLException e) {
@@ -205,7 +205,7 @@ public class IoTDBSizeTieredCompactionIT {
   private void testCompactionNoUnseq(int mergeCount) throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -255,7 +255,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionOnceWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -308,7 +308,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToSecondLevelWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -368,7 +368,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToSecondLevelWithUnseqDisableUnseqCompaction() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -434,7 +434,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToStableLevelWithUnseq() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -494,7 +494,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionToStableLevelWithUnseqDisableUnseqCompaction() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -554,7 +554,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqMaxLevelNumError0() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -614,7 +614,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqMaxLevelNumError1() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -674,7 +674,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqFileNumInEachLevelError0() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -734,7 +734,7 @@ public class IoTDBSizeTieredCompactionIT {
   public void testCompactionSeqFileNumInEachLevelError1() throws SQLException {
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      statement.execute("SET STORAGE GROUP TO root.compactionTest");
+      statement.execute("CREATE DATABASE root.compactionTest");
       for (int i = 1; i <= 3; i++) {
         try {
           statement.execute(
@@ -794,7 +794,7 @@ public class IoTDBSizeTieredCompactionIT {
... 6603 lines suppressed ...