You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2023/02/09 14:47:20 UTC

[skywalking] branch master updated: Refactor `@Column` annotation (#10367)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 184c6ca2c4 Refactor `@Column` annotation (#10367)
184c6ca2c4 is described below

commit 184c6ca2c4773421fc18a2cbda630df31cd55884
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Thu Feb 9 22:47:12 2023 +0800

    Refactor `@Column` annotation (#10367)
    
    * Swap `Column#name` and `ElasticSearch.Column#columnAlias`
    * Rename `ElasticSearch.Column#columnAlias` to `ElasticSearch.Column#legacyName`
---
 docs/en/changes/changes.md                         |  1 +
 .../org/apache/skywalking/oal/rt/OALRuntime.java   | 27 ++++++------
 .../skywalking/oal/rt/parser/DeepAnalysis.java     | 16 +++----
 .../oap/server/core/alarm/AlarmRecord.java         | 21 +++++-----
 .../manual/cache/TopNCacheReadCommand.java         |  2 +-
 .../manual/cache/TopNCacheWriteCommand.java        |  2 +-
 .../manual/database/TopNDatabaseStatement.java     |  5 ++-
 .../analysis/manual/endpoint/EndpointTraffic.java  | 17 ++++----
 .../analysis/manual/instance/InstanceTraffic.java  | 23 +++++-----
 .../analysis/manual/log/AbstractLogRecord.java     | 25 +++++------
 .../server/core/analysis/manual/log/LogRecord.java |  2 +-
 .../manual/networkalias/NetworkAddressAlias.java   |  8 ++--
 .../analysis/manual/process/ProcessTraffic.java    | 21 +++++-----
 .../manual/process/ServiceLabelRecord.java         |  4 +-
 .../EndpointRelationServerSideMetrics.java         |  8 ++--
 .../ServiceInstanceRelationClientSideMetrics.java  | 10 ++---
 .../ServiceInstanceRelationServerSideMetrics.java  | 10 ++---
 .../process/ProcessRelationClientSideMetrics.java  | 10 ++---
 .../process/ProcessRelationServerSideMetrics.java  | 10 ++---
 .../service/ServiceRelationClientSideMetrics.java  |  8 ++--
 .../service/ServiceRelationServerSideMetrics.java  |  8 ++--
 .../manual/searchtag/TagAutocompleteData.java      |  6 +--
 .../analysis/manual/segment/SegmentRecord.java     | 20 ++++-----
 .../analysis/manual/service/ServiceTraffic.java    | 21 +++++-----
 .../manual/spanattach/SpanAttachedEventRecord.java | 22 +++++-----
 .../manual/trace/SampledSlowTraceRecord.java       | 12 +++---
 .../manual/trace/SampledStatus4xxTraceRecord.java  | 12 +++---
 .../manual/trace/SampledStatus5xxTraceRecord.java  | 12 +++---
 .../analysis/meter/function/HistogramFunction.java |  7 ++--
 .../meter/function/PercentileFunction.java         | 28 ++++++-------
 .../analysis/meter/function/avg/AvgFunction.java   | 13 +++---
 .../meter/function/avg/AvgHistogramFunction.java   | 26 ++++++------
 .../avg/AvgHistogramPercentileFunction.java        | 49 +++++++++++-----------
 .../meter/function/avg/AvgLabeledFunction.java     | 32 +++++++-------
 .../meter/function/latest/LatestFunction.java      |  9 ++--
 .../analysis/meter/function/sum/SumFunction.java   |  9 ++--
 .../sum/SumHistogramPercentileFunction.java        | 39 +++++++++--------
 .../function/sumpermin/SumPerMinFunction.java      | 11 ++---
 .../sumpermin/SumPerMinLabeledFunction.java        | 13 +++---
 .../server/core/analysis/metrics/ApdexMetrics.java | 12 +++---
 .../server/core/analysis/metrics/CPMMetrics.java   |  4 +-
 .../server/core/analysis/metrics/CountMetrics.java |  2 +-
 .../core/analysis/metrics/DoubleAvgMetrics.java    | 14 +++----
 .../oap/server/core/analysis/metrics/Event.java    | 22 +++++-----
 .../core/analysis/metrics/HistogramMetrics.java    |  2 +-
 .../core/analysis/metrics/LongAvgMetrics.java      |  6 +--
 .../core/analysis/metrics/MaxDoubleMetrics.java    |  2 +-
 .../core/analysis/metrics/MaxLongMetrics.java      |  2 +-
 .../oap/server/core/analysis/metrics/Metrics.java  |  2 +-
 .../core/analysis/metrics/MinDoubleMetrics.java    |  2 +-
 .../core/analysis/metrics/MinLongMetrics.java      |  2 +-
 .../core/analysis/metrics/PercentMetrics.java      |  6 +--
 .../core/analysis/metrics/PercentileMetrics.java   | 20 ++++-----
 .../server/core/analysis/metrics/RateMetrics.java  |  6 +--
 .../server/core/analysis/metrics/SumMetrics.java   |  2 +-
 .../oap/server/core/analysis/record/Record.java    |  2 +-
 .../oap/server/core/analysis/topn/TopN.java        |  8 ++--
 .../manual/errorlog/BrowserErrorLogRecord.java     | 14 +++----
 .../core/management/ui/template/UITemplate.java    |  8 ++--
 .../ebpf/storage/EBPFProfilingDataRecord.java      | 12 +++---
 .../ebpf/storage/EBPFProfilingScheduleRecord.java  | 10 ++---
 .../ebpf/storage/EBPFProfilingTaskRecord.java      | 22 +++++-----
 .../core/profiling/trace/ProfileTaskLogRecord.java | 10 ++---
 .../core/profiling/trace/ProfileTaskRecord.java    | 18 ++++----
 .../trace/ProfileThreadSnapshotRecord.java         | 10 ++---
 .../oap/server/core/storage/annotation/Column.java | 12 ++++--
 .../core/storage/annotation/ElasticSearch.java     |  4 +-
 .../oap/server/core/storage/model/ColumnName.java  | 27 ++++--------
 .../core/storage/model/ElasticSearchExtension.java |  2 +-
 .../server/core/storage/model/StorageModels.java   | 20 ++++-----
 .../core/zipkin/ZipkinServiceRelationTraffic.java  |  4 +-
 .../core/zipkin/ZipkinServiceSpanTraffic.java      |  4 +-
 .../server/core/zipkin/ZipkinServiceTraffic.java   |  2 +-
 .../oap/server/core/zipkin/ZipkinSpanRecord.java   | 49 +++++++++++-----------
 .../server/core/storage/model/ModelColumnTest.java | 35 +++++++++++-----
 .../core/storage/model/StorageModelsTest.java      | 11 ++---
 .../plugin/elasticsearch/base/IndexController.java | 41 +++++++++---------
 .../elasticsearch/base/StorageEsInstaller.java     | 27 ++++++------
 .../jdbc/shardingsphere/ServiceCpmMetrics.java     |  2 +-
 79 files changed, 529 insertions(+), 510 deletions(-)

diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 4762334a20..3ec0059a25 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -90,6 +90,7 @@
 * Avoid Antlr dependencies' versions might be different in compile time and runtime.
 * Now `PrometheusMetricConverter#escapedName` also support converting `/` to `_`.
 * Add missing TCP throughput metrics.
+* Refactor `@Column` annotation, swap `Column#name` and `ElasticSearch.Column#columnAlias` and rename `ElasticSearch.Column#columnAlias` to `ElasticSearch.Column#legacyName`.
 
 #### UI
 
diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
index 26c2a876ff..72905bbefe 100644
--- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALRuntime.java
@@ -20,17 +20,6 @@ package org.apache.skywalking.oal.rt;
 
 import freemarker.template.Configuration;
 import freemarker.template.Version;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
 import javassist.CannotCompileException;
 import javassist.ClassPool;
 import javassist.CtClass;
@@ -77,6 +66,18 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
 import org.apache.skywalking.oap.server.library.util.ResourceUtils;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
 
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
 /**
  * OAL Runtime is the class generation engine, which load the generated classes from OAL scrip definitions. This runtime
  * is loaded dynamically.
@@ -261,10 +262,10 @@ public class OALRuntime implements OALEngine {
                 AnnotationsAttribute annotationsAttribute = new AnnotationsAttribute(
                     constPool, AnnotationsAttribute.visibleTag);
                 /**
-                 * Add @Column(columnName = "${sourceField.columnName}")
+                 * Add @Column(name = "${sourceField.columnName}")
                  */
                 Annotation columnAnnotation = new Annotation(Column.class.getName(), constPool);
-                columnAnnotation.addMemberValue("columnName", new StringMemberValue(field.getColumnName(), constPool));
+                columnAnnotation.addMemberValue("name", new StringMemberValue(field.getColumnName(), constPool));
                 if (field.getType().equals(String.class)) {
                     columnAnnotation.addMemberValue("length", new IntegerMemberValue(constPool, field.getLength()));
                 }
diff --git a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/DeepAnalysis.java b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/DeepAnalysis.java
index 4e1341acf6..8108c6ffa9 100644
--- a/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/DeepAnalysis.java
+++ b/oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/parser/DeepAnalysis.java
@@ -18,11 +18,6 @@
 
 package org.apache.skywalking.oal.rt.parser;
 
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Parameter;
-import java.util.List;
 import org.apache.skywalking.oal.rt.util.ClassMethodUtil;
 import org.apache.skywalking.oal.rt.util.TypeCastUtil;
 import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
@@ -31,7 +26,11 @@ import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.ConstOn
 import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.Entrance;
 import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.SourceFrom;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
-
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Parameter;
+import java.util.List;
 import static java.util.Objects.isNull;
 
 public class DeepAnalysis {
@@ -136,7 +135,10 @@ public class DeepAnalysis {
             for (Field field : c.getDeclaredFields()) {
                 Column column = field.getAnnotation(Column.class);
                 if (column != null) {
-                    result.addPersistentField(field.getName(), column.columnName(), field.getType());
+                    result.addPersistentField(
+                        field.getName(),
+                        column.name(),
+                        field.getType());
                 }
             }
             c = c.getSuperclass();
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java
index 39739813eb..fa87a55e19 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmRecord.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.alarm;
 
-import java.util.List;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.analysis.Stream;
@@ -36,6 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.List;
+
 import static org.apache.skywalking.oap.server.core.analysis.record.Record.TIME_BUCKET;
 import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.ALARM;
 
@@ -68,26 +69,26 @@ public class AlarmRecord extends Record {
             .append(ID1, id1);
     }
 
-    @Column(columnName = SCOPE)
+    @Column(name = SCOPE)
     private int scope;
-    @Column(columnName = NAME, storageOnly = true, length = 512)
+    @Column(name = NAME, storageOnly = true, length = 512)
     private String name;
-    @Column(columnName = ID0, storageOnly = true, length = 512)
+    @Column(name = ID0, storageOnly = true, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String id0;
-    @Column(columnName = ID1, storageOnly = true)
+    @Column(name = ID1, storageOnly = true)
     private String id1;
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
-    @Column(columnName = ALARM_MESSAGE)
+    @Column(name = ALARM_MESSAGE)
     @ElasticSearch.MatchQuery
     private String alarmMessage;
-    @Column(columnName = RULE_NAME)
+    @Column(name = RULE_NAME)
     private String ruleName;
-    @Column(columnName = TAGS, indexOnly = true)
+    @Column(name = TAGS, indexOnly = true)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_TAG_TABLE})
     private List<String> tagsInString;
-    @Column(columnName = TAGS_RAW_DATA, storageOnly = true, length = Tag.TAG_LENGTH)
+    @Column(name = TAGS_RAW_DATA, storageOnly = true, length = Tag.TAG_LENGTH)
     private byte[] tagsRawData;
 
     public static class Builder implements StorageBuilder<AlarmRecord> {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheReadCommand.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheReadCommand.java
index c3bbfa3c4a..d541b0dc7f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheReadCommand.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheReadCommand.java
@@ -45,7 +45,7 @@ public class TopNCacheReadCommand extends TopN {
     private String id;
     @Getter
     @Setter
-    @Column(columnName = STATEMENT, length = 2000, storageOnly = true)
+    @Column(name = STATEMENT, length = 2000, storageOnly = true)
     private String command;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheWriteCommand.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheWriteCommand.java
index 7adc17c946..f7a12cf8f9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheWriteCommand.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/cache/TopNCacheWriteCommand.java
@@ -45,7 +45,7 @@ public class TopNCacheWriteCommand extends TopN {
     private String id;
     @Getter
     @Setter
-    @Column(columnName = STATEMENT, length = 2000, storageOnly = true)
+    @Column(name = STATEMENT, length = 2000, storageOnly = true)
     private String command;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/database/TopNDatabaseStatement.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/database/TopNDatabaseStatement.java
index 97f28e0a18..5a3e71bbcd 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/database/TopNDatabaseStatement.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/database/TopNDatabaseStatement.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.manual.database;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.analysis.Stream;
@@ -32,6 +31,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 /**
  * Database TopN statement, including Database SQL statement, mongoDB and Redis commands.
  */
@@ -44,7 +45,7 @@ public class TopNDatabaseStatement extends TopN {
     private String id;
     @Getter
     @Setter
-    @Column(columnName = STATEMENT, length = 2000, storageOnly = true)
+    @Column(name = STATEMENT, length = 2000, storageOnly = true)
     private String statement;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
index 3c764e7b9a..1517a115a5 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/endpoint/EndpointTraffic.java
@@ -18,10 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.manual.endpoint;
 
-import com.google.common.base.Strings;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.analysis.IDManager;
 import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
@@ -39,7 +35,10 @@ import org.apache.skywalking.oap.server.core.storage.annotation.SQLDatabase;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
-
+import com.google.common.base.Strings;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
 import static org.apache.skywalking.oap.server.core.analysis.metrics.Metrics.ID;
 import static org.apache.skywalking.oap.server.core.analysis.metrics.Metrics.TIME_BUCKET;
 
@@ -53,18 +52,18 @@ public class EndpointTraffic extends Metrics {
     public static final String INDEX_NAME = "endpoint_traffic";
 
     public static final String SERVICE_ID = "service_id";
-    public static final String NAME = "name";
+    public static final String NAME = "endpoint_traffic_name";
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String serviceId;
     @Setter
     @Getter
-    @Column(columnName = NAME)
+    @Column(name = NAME)
+    @ElasticSearch.Column(legacyName = "name")
     @ElasticSearch.MatchQuery
-    @ElasticSearch.Column(columnAlias = "endpoint_traffic_name")
     @BanyanDB.SeriesID(index = 1)
     private String name = Const.EMPTY_STRING;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java
index eb3e1bc45a..1bafe6d835 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/instance/InstanceTraffic.java
@@ -18,11 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.manual.instance;
 
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.analysis.IDManager;
 import org.apache.skywalking.oap.server.core.analysis.MetricsExtension;
@@ -40,7 +35,11 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
-
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
 import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SERVICE_INSTANCE;
 
 @Stream(name = InstanceTraffic.INDEX_NAME, scopeId = SERVICE_INSTANCE,
@@ -54,7 +53,7 @@ import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SE
 public class InstanceTraffic extends Metrics {
     public static final String INDEX_NAME = "instance_traffic";
     public static final String SERVICE_ID = "service_id";
-    public static final String NAME = "name";
+    public static final String NAME = "instance_traffic_name";
     public static final String LAST_PING_TIME_BUCKET = "last_ping";
     public static final String PROPERTIES = "properties";
 
@@ -62,25 +61,25 @@ public class InstanceTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String serviceId;
 
     @Setter
     @Getter
-    @Column(columnName = NAME, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "instance_traffic_name")
+    @Column(name = NAME, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "name")
     @BanyanDB.SeriesID(index = 1)
     private String name;
 
     @Setter
     @Getter
-    @Column(columnName = LAST_PING_TIME_BUCKET)
+    @Column(name = LAST_PING_TIME_BUCKET)
     private long lastPingTimestamp;
 
     @Setter
     @Getter
-    @Column(columnName = PROPERTIES, storageOnly = true, length = 50000)
+    @Column(name = PROPERTIES, storageOnly = true, length = 50000)
     private JsonObject properties;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java
index aaf5e3a978..e3dd57f616 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.manual.log;
 
-import java.util.List;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
@@ -35,6 +34,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.List;
+
 public abstract class AbstractLogRecord extends Record {
     public static final String ADDITIONAL_TAG_TABLE = "log_tag";
     public static final String SERVICE_ID = "service_id";
@@ -51,46 +52,46 @@ public abstract class AbstractLogRecord extends Record {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_TAG_TABLE}, reserveOriginalColumns = true)
     private String serviceId;
     @Setter
     @Getter
-    @Column(columnName = SERVICE_INSTANCE_ID, length = 512)
+    @Column(name = SERVICE_INSTANCE_ID, length = 512)
     @BanyanDB.SeriesID(index = 1)
     private String serviceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = ENDPOINT_ID, length = 512)
+    @Column(name = ENDPOINT_ID, length = 512)
     private String endpointId;
     @Setter
     @Getter
-    @Column(columnName = TRACE_ID, length = 150)
+    @Column(name = TRACE_ID, length = 150)
     @BanyanDB.GlobalIndex
     private String traceId;
     @Setter
     @Getter
-    @Column(columnName = TRACE_SEGMENT_ID, length = 150)
+    @Column(name = TRACE_SEGMENT_ID, length = 150)
     @BanyanDB.GlobalIndex
     private String traceSegmentId;
     @Setter
     @Getter
-    @Column(columnName = SPAN_ID)
+    @Column(name = SPAN_ID)
     @BanyanDB.NoIndexing
     private int spanId;
     @Setter
     @Getter
-    @Column(columnName = CONTENT_TYPE, storageOnly = true)
+    @Column(name = CONTENT_TYPE, storageOnly = true)
     private int contentType = ContentType.NONE.value();
     @Setter
     @Getter
-    @Column(columnName = CONTENT, length = 1_000_000)
+    @Column(name = CONTENT, length = 1_000_000)
     @ElasticSearch.MatchQuery(analyzer = ElasticSearch.MatchQuery.AnalyzerType.OAP_LOG_ANALYZER)
     private LongText content;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     /**
@@ -98,11 +99,11 @@ public abstract class AbstractLogRecord extends Record {
      */
     @Setter
     @Getter
-    @Column(columnName = TAGS_RAW_DATA, storageOnly = true)
+    @Column(name = TAGS_RAW_DATA, storageOnly = true)
     private byte[] tagsRawData;
     @Setter
     @Getter
-    @Column(columnName = TAGS, indexOnly = true, length = Tag.TAG_LENGTH)
+    @Column(name = TAGS, indexOnly = true, length = Tag.TAG_LENGTH)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_TAG_TABLE})
     private List<String> tagsInString;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/LogRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/LogRecord.java
index c5d30ba3b9..db28356a65 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/LogRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/LogRecord.java
@@ -47,7 +47,7 @@ public class LogRecord extends AbstractLogRecord {
 
     @Setter
     @Getter
-    @Column(columnName = UNIQUE_ID)
+    @Column(name = UNIQUE_ID)
     private String uniqueId;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java
index 1c3323945c..a4d621f8c4 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/networkalias/NetworkAddressAlias.java
@@ -56,20 +56,20 @@ public class NetworkAddressAlias extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = ADDRESS)
+    @Column(name = ADDRESS)
     @BanyanDB.SeriesID(index = 0)
     private String address;
     @Setter
     @Getter
-    @Column(columnName = REPRESENT_SERVICE_ID)
+    @Column(name = REPRESENT_SERVICE_ID)
     private String representServiceId;
     @Setter
     @Getter
-    @Column(columnName = REPRESENT_SERVICE_INSTANCE_ID)
+    @Column(name = REPRESENT_SERVICE_INSTANCE_ID)
     private String representServiceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = LAST_UPDATE_TIME_BUCKET)
+    @Column(name = LAST_UPDATE_TIME_BUCKET)
     private long lastUpdateTimeBucket;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ProcessTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ProcessTraffic.java
index 174d873702..878563c605 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ProcessTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ProcessTraffic.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.core.analysis.manual.process;
 import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
-import java.util.Map;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.Setter;
@@ -42,6 +41,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
 
+import java.util.Map;
+
 import static org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.PROCESS;
 
 @Stream(name = ProcessTraffic.INDEX_NAME, scopeId = PROCESS,
@@ -69,12 +70,12 @@ public class ProcessTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     private String serviceId;
 
     @Setter
     @Getter
-    @Column(columnName = INSTANCE_ID, length = 600)
+    @Column(name = INSTANCE_ID, length = 600)
     @BanyanDB.SeriesID(index = 0)
     private String instanceId;
 
@@ -84,33 +85,33 @@ public class ProcessTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = NAME, length = 500)
+    @Column(name = NAME, length = 500)
     @BanyanDB.SeriesID(index = 1)
     private String name;
 
     @Setter
     @Getter
-    @Column(columnName = LAST_PING_TIME_BUCKET)
+    @Column(name = LAST_PING_TIME_BUCKET)
     private long lastPingTimestamp;
 
     @Setter
     @Getter
-    @Column(columnName = DETECT_TYPE)
+    @Column(name = DETECT_TYPE)
     private int detectType = ProcessDetectType.UNDEFINED.value();
 
     @Setter
     @Getter
-    @Column(columnName = AGENT_ID, length = 500)
+    @Column(name = AGENT_ID, length = 500)
     private String agentId;
 
     @Setter
     @Getter
-    @Column(columnName = PROPERTIES, storageOnly = true, length = 50000)
+    @Column(name = PROPERTIES, storageOnly = true, length = 50000)
     private JsonObject properties;
 
     @Setter
     @Getter
-    @Column(columnName = LABELS_JSON, storageOnly = true, length = 500)
+    @Column(name = LABELS_JSON, storageOnly = true, length = 500)
     private String labelsJson;
 
     /**
@@ -118,7 +119,7 @@ public class ProcessTraffic extends Metrics {
      */
     @Setter
     @Getter
-    @Column(columnName = PROFILING_SUPPORT_STATUS)
+    @Column(name = PROFILING_SUPPORT_STATUS)
     private int profilingSupportStatus;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ServiceLabelRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ServiceLabelRecord.java
index b3d398f273..d52ac8cf40 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ServiceLabelRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/process/ServiceLabelRecord.java
@@ -58,10 +58,10 @@ public class ServiceLabelRecord extends Metrics {
     public static final String LABEL = "label";
 
     @BanyanDB.SeriesID(index = 0)
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     private String serviceId;
     @BanyanDB.SeriesID(index = 1)
-    @Column(columnName = LABEL, length = 50)
+    @Column(name = LABEL, length = 50)
     private String label;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java
index 78198382be..71e94ebf08 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/endpoint/EndpointRelationServerSideMetrics.java
@@ -55,19 +55,19 @@ public class EndpointRelationServerSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SOURCE_ENDPOINT)
+    @Column(name = SOURCE_ENDPOINT)
     private String sourceEndpoint;
     @Setter
     @Getter
-    @Column(columnName = DEST_ENDPOINT)
+    @Column(name = DEST_ENDPOINT)
     private String destEndpoint;
     @Setter
     @Getter
-    @Column(columnName = COMPONENT_ID, storageOnly = true)
+    @Column(name = COMPONENT_ID, storageOnly = true)
     private int componentId;
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java
index 5304666d51..e72d3414ef 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationClientSideMetrics.java
@@ -56,23 +56,23 @@ public class ServiceInstanceRelationClientSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_ID)
+    @Column(name = SOURCE_SERVICE_ID)
     private String sourceServiceId;
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_INSTANCE_ID)
+    @Column(name = SOURCE_SERVICE_INSTANCE_ID)
     private String sourceServiceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_ID)
+    @Column(name = DEST_SERVICE_ID)
     private String destServiceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_INSTANCE_ID)
+    @Column(name = DEST_SERVICE_INSTANCE_ID)
     private String destServiceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java
index 240a4473d3..b470f1d78c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/instance/ServiceInstanceRelationServerSideMetrics.java
@@ -56,23 +56,23 @@ public class ServiceInstanceRelationServerSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_ID)
+    @Column(name = SOURCE_SERVICE_ID)
     private String sourceServiceId;
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_INSTANCE_ID)
+    @Column(name = SOURCE_SERVICE_INSTANCE_ID)
     private String sourceServiceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_ID)
+    @Column(name = DEST_SERVICE_ID)
     private String destServiceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_INSTANCE_ID)
+    @Column(name = DEST_SERVICE_INSTANCE_ID)
     private String destServiceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
index 024cdf1c19..a05a7e1727 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationClientSideMetrics.java
@@ -55,24 +55,24 @@ public class ProcessRelationClientSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_INSTANCE_ID)
+    @Column(name = SERVICE_INSTANCE_ID)
     private String serviceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = SOURCE_PROCESS_ID)
+    @Column(name = SOURCE_PROCESS_ID)
     private String sourceProcessId;
     @Setter
     @Getter
-    @Column(columnName = DEST_PROCESS_ID)
+    @Column(name = DEST_PROCESS_ID)
     private String destProcessId;
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Setter
     @Getter
-    @Column(columnName = COMPONENT_ID, storageOnly = true)
+    @Column(name = COMPONENT_ID, storageOnly = true)
     @BanyanDB.SeriesID(index = 1)
     private int componentId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
index eedf9ed3a2..04aed49a0b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/process/ProcessRelationServerSideMetrics.java
@@ -54,24 +54,24 @@ public class ProcessRelationServerSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_INSTANCE_ID)
+    @Column(name = SERVICE_INSTANCE_ID)
     private String serviceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = SOURCE_PROCESS_ID)
+    @Column(name = SOURCE_PROCESS_ID)
     private String sourceProcessId;
     @Setter
     @Getter
-    @Column(columnName = DEST_PROCESS_ID)
+    @Column(name = DEST_PROCESS_ID)
     private String destProcessId;
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Setter
     @Getter
-    @Column(columnName = COMPONENT_ID, storageOnly = true)
+    @Column(name = COMPONENT_ID, storageOnly = true)
     @BanyanDB.SeriesID(index = 1)
     private int componentId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java
index 0fc9f479d5..5288d13c98 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationClientSideMetrics.java
@@ -55,21 +55,21 @@ public class ServiceRelationClientSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_ID)
+    @Column(name = SOURCE_SERVICE_ID)
     private String sourceServiceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_ID)
+    @Column(name = DEST_SERVICE_ID)
     private String destServiceId;
     @Setter
     @Getter
-    @Column(columnName = COMPONENT_IDS, storageOnly = true)
+    @Column(name = COMPONENT_IDS, storageOnly = true)
     @ElasticSearch.Keyword
     @BanyanDB.SeriesID(index = 1)
     private IntList componentIds = new IntList(3);
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java
index 4414d8cf25..8ac2fd2ab5 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/relation/service/ServiceRelationServerSideMetrics.java
@@ -57,21 +57,21 @@ public class ServiceRelationServerSideMetrics extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SOURCE_SERVICE_ID)
+    @Column(name = SOURCE_SERVICE_ID)
     private String sourceServiceId;
     @Setter
     @Getter
-    @Column(columnName = DEST_SERVICE_ID)
+    @Column(name = DEST_SERVICE_ID)
     private String destServiceId;
     @Setter
     @Getter
-    @Column(columnName = COMPONENT_IDS, storageOnly = true)
+    @Column(name = COMPONENT_IDS, storageOnly = true)
     @ElasticSearch.Keyword
     @BanyanDB.SeriesID(index = 1)
     private IntList componentIds = new IntList(3);
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/searchtag/TagAutocompleteData.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/searchtag/TagAutocompleteData.java
index cfc10c9647..372e5aeb84 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/searchtag/TagAutocompleteData.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/searchtag/TagAutocompleteData.java
@@ -56,18 +56,18 @@ public class TagAutocompleteData extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = TAG_KEY)
+    @Column(name = TAG_KEY)
     @BanyanDB.SeriesID(index = 1)
     private String tagKey;
     @Setter
     @Getter
-    @Column(columnName = TAG_VALUE, length = Tag.TAG_LENGTH)
+    @Column(name = TAG_VALUE, length = Tag.TAG_LENGTH)
     @BanyanDB.SeriesID(index = 2)
     private String tagValue;
 
     @Setter
     @Getter
-    @Column(columnName = TAG_TYPE)
+    @Column(name = TAG_TYPE)
     @BanyanDB.SeriesID(index = 0)
     private String tagType;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
index 6694de9a27..e123596f25 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
@@ -62,49 +62,49 @@ public class SegmentRecord extends Record {
 
     @Setter
     @Getter
-    @Column(columnName = SEGMENT_ID, length = 150)
+    @Column(name = SEGMENT_ID, length = 150)
     private String segmentId;
     @Setter
     @Getter
-    @Column(columnName = TRACE_ID, length = 150)
+    @Column(name = TRACE_ID, length = 150)
     @BanyanDB.GlobalIndex
     @ElasticSearch.Routing
     private String traceId;
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_TAG_TABLE}, reserveOriginalColumns = true)
     private String serviceId;
     @Setter
     @Getter
-    @Column(columnName = SERVICE_INSTANCE_ID, length = 512)
+    @Column(name = SERVICE_INSTANCE_ID, length = 512)
     @BanyanDB.SeriesID(index = 1)
     private String serviceInstanceId;
     @Setter
     @Getter
-    @Column(columnName = ENDPOINT_ID, length = 512)
+    @Column(name = ENDPOINT_ID, length = 512)
     private String endpointId;
     @Setter
     @Getter
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
     @Setter
     @Getter
-    @Column(columnName = LATENCY)
+    @Column(name = LATENCY)
     private int latency;
     @Setter
     @Getter
-    @Column(columnName = IS_ERROR)
+    @Column(name = IS_ERROR)
     @BanyanDB.SeriesID(index = 2)
     private int isError;
     @Setter
     @Getter
-    @Column(columnName = DATA_BINARY, storageOnly = true)
+    @Column(name = DATA_BINARY, storageOnly = true)
     private byte[] dataBinary;
     @Setter
     @Getter
-    @Column(columnName = TAGS, indexOnly = true, length = Tag.TAG_LENGTH)
+    @Column(name = TAGS, indexOnly = true, length = Tag.TAG_LENGTH)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_TAG_TABLE})
     private List<String> tags;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
index cb303244a8..af015fbf80 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/service/ServiceTraffic.java
@@ -18,9 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.manual.service;
 
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.analysis.IDManager;
 import org.apache.skywalking.oap.server.core.analysis.Layer;
@@ -39,7 +36,9 @@ import org.apache.skywalking.oap.server.core.storage.annotation.SQLDatabase;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
-
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
 import static org.apache.logging.log4j.util.Base64Util.encode;
 import static org.apache.skywalking.oap.server.core.Const.DOUBLE_COLONS_SPLIT;
 
@@ -54,7 +53,7 @@ import static org.apache.skywalking.oap.server.core.Const.DOUBLE_COLONS_SPLIT;
 public class ServiceTraffic extends Metrics {
     public static final String INDEX_NAME = "service_traffic";
 
-    public static final String NAME = "name";
+    public static final String NAME = "service_traffic_name";
 
     public static final String SHORT_NAME = "short_name";
 
@@ -66,32 +65,32 @@ public class ServiceTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = NAME)
+    @Column(name = NAME)
+    @ElasticSearch.Column(legacyName = "name")
     @ElasticSearch.MatchQuery
-    @ElasticSearch.Column(columnAlias = "service_traffic_name")
     @BanyanDB.SeriesID(index = 1)
     private String name = Const.EMPTY_STRING;
 
     @Setter
     @Getter
-    @Column(columnName = SHORT_NAME)
+    @Column(name = SHORT_NAME)
     private String shortName = Const.EMPTY_STRING;
 
     /**
      * `normal` Base64 encode(serviceName) + ".1" `un-normal` Base64 encode(serviceName) + ".0"
      */
     @Setter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     private String serviceId;
 
     @Setter
     @Getter
-    @Column(columnName = GROUP)
+    @Column(name = GROUP)
     private String group;
 
     @Setter
     @Getter
-    @Column(columnName = LAYER)
+    @Column(name = LAYER)
     @BanyanDB.SeriesID(index = 0)
     private Layer layer = Layer.UNDEFINED;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
index b7d989ea09..0e4c368659 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
@@ -53,31 +53,31 @@ public class SpanAttachedEventRecord extends Record {
     public static final String DATA_BINARY = "data_binary";
     public static final String TIMESTAMP = "timestamp";
 
-    @Column(columnName = START_TIME_SECOND)
+    @Column(name = START_TIME_SECOND)
     private long startTimeSecond;
-    @Column(columnName = START_TIME_NANOS)
+    @Column(name = START_TIME_NANOS)
     private int startTimeNanos;
-    @Column(columnName = EVENT)
+    @Column(name = EVENT)
     @BanyanDB.SeriesID(index = 0)
     private String event;
-    @Column(columnName = END_TIME_SECOND)
+    @Column(name = END_TIME_SECOND)
     private long endTimeSecond;
-    @Column(columnName = END_TIME_NANOS)
+    @Column(name = END_TIME_NANOS)
     private int endTimeNanos;
-    @Column(columnName = TRACE_REF_TYPE)
+    @Column(name = TRACE_REF_TYPE)
     private int traceRefType;
-    @Column(columnName = RELATED_TRACE_ID)
+    @Column(name = RELATED_TRACE_ID)
     @BanyanDB.GlobalIndex
     private String relatedTraceId;
-    @Column(columnName = TRACE_SEGMENT_ID)
+    @Column(name = TRACE_SEGMENT_ID)
     private String traceSegmentId;
-    @Column(columnName = TRACE_SPAN_ID)
+    @Column(name = TRACE_SPAN_ID)
     private String traceSpanId;
-    @Column(columnName = DATA_BINARY, storageOnly = true)
+    @Column(name = DATA_BINARY, storageOnly = true)
     private byte[] dataBinary;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
index b3fc1527b8..81cb7fa16d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java
@@ -50,20 +50,20 @@ public class SampledSlowTraceRecord extends Record {
     public static final String LATENCY = "latency";
     public static final String TIMESTAMP = "timestamp";
 
-    @Column(columnName = SCOPE)
+    @Column(name = SCOPE)
     private int scope;
-    @Column(columnName = ENTITY_ID)
+    @Column(name = ENTITY_ID)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
-    @Column(columnName = TRACE_ID, storageOnly = true)
+    @Column(name = TRACE_ID, storageOnly = true)
     private String traceId;
-    @Column(columnName = URI, storageOnly = true)
+    @Column(name = URI, storageOnly = true)
     private String uri;
-    @Column(columnName = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
+    @Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
     private long latency;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
index 33ab12fd5d..bd78e28e1c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java
@@ -51,20 +51,20 @@ public class SampledStatus4xxTraceRecord extends Record {
     public static final String LATENCY = "latency";
     public static final String TIMESTAMP = "timestamp";
 
-    @Column(columnName = SCOPE)
+    @Column(name = SCOPE)
     private int scope;
-    @Column(columnName = ENTITY_ID)
+    @Column(name = ENTITY_ID)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
-    @Column(columnName = TRACE_ID, storageOnly = true)
+    @Column(name = TRACE_ID, storageOnly = true)
     private String traceId;
-    @Column(columnName = URI, storageOnly = true)
+    @Column(name = URI, storageOnly = true)
     private String uri;
-    @Column(columnName = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
+    @Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
     private long latency;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
index 5c8c0213ed..1d38edd1aa 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java
@@ -51,20 +51,20 @@ public class SampledStatus5xxTraceRecord extends Record {
     public static final String LATENCY = "latency";
     public static final String TIMESTAMP = "timestamp";
 
-    @Column(columnName = SCOPE)
+    @Column(name = SCOPE)
     private int scope;
-    @Column(columnName = ENTITY_ID)
+    @Column(name = ENTITY_ID)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
-    @Column(columnName = TRACE_ID, storageOnly = true)
+    @Column(name = TRACE_ID, storageOnly = true)
     private String traceId;
-    @Column(columnName = URI, storageOnly = true)
+    @Column(name = URI, storageOnly = true)
     private String uri;
-    @Column(columnName = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
+    @Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
     private long latency;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java
index cb90a6cb40..9d4aed47f6 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -37,6 +36,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 /**
  * Histogram includes data range buckets and the amount matched/grouped in the buckets. This is for original histogram
  * graph visualization
@@ -49,12 +50,12 @@ public abstract class HistogramFunction extends Meter implements AcceptableValue
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
+    @Column(name = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
     @BanyanDB.MeasureField
     private DataTable dataset = new DataTable(30);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java
index 3279c55791..64ab79a70e 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunction.java
@@ -18,14 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function;
 
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.IntStream;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.meter.Meter;
 import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity;
@@ -43,6 +35,14 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.IntStream;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * PercentileFunction is the implementation of {@link PercentileMetrics} in the meter system. The major difference is
@@ -53,22 +53,22 @@ import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 public abstract class PercentileFunction extends Meter implements AcceptableValue<PercentileFunction.PercentileArgument>, MultiIntValuesHolder {
     public static final String DATASET = "dataset";
     public static final String RANKS = "ranks";
-    public static final String VALUE = "value";
+    public static final String VALUE = "datatable_value";
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
     private DataTable percentileValues = new DataTable(10);
     @Getter
     @Setter
-    @Column(columnName = DATASET, storageOnly = true)
+    @Column(name = DATASET, storageOnly = true)
     @BanyanDB.MeasureField
     private DataTable dataset = new DataTable(30);
     /**
@@ -76,7 +76,7 @@ public abstract class PercentileFunction extends Meter implements AcceptableValu
      */
     @Getter
     @Setter
-    @Column(columnName = RANKS, storageOnly = true)
+    @Column(name = RANKS, storageOnly = true)
     @BanyanDB.MeasureField
     private IntList ranks = new IntList(10);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java
index d7aed9e3c4..254a2627f1 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.avg;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -42,6 +41,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 @MeterFunction(functionName = "avg")
 @ToString
 public abstract class AvgFunction extends Meter implements AcceptableValue<Long>, LongValueHolder {
@@ -51,7 +52,7 @@ public abstract class AvgFunction extends Meter implements AcceptableValue<Long>
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
@@ -60,22 +61,22 @@ public abstract class AvgFunction extends Meter implements AcceptableValue<Long>
      */
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
+    @Column(name = SUMMATION, storageOnly = true)
     @BanyanDB.MeasureField
     protected long summation;
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
+    @Column(name = COUNT, storageOnly = true)
     @BanyanDB.MeasureField
     protected long count;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
index 96a6bc47d2..80b8872f22 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunction.java
@@ -18,11 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.avg;
 
-import java.util.Objects;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.meter.Meter;
 import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity;
@@ -40,6 +35,11 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
+import java.util.Objects;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * AvgHistogram intends to aggregate raw values over the interval (minute, hour or day). When users query a value from
@@ -56,29 +56,29 @@ import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 @ToString
 public abstract class AvgHistogramFunction extends Meter implements AcceptableValue<BucketedValues> {
     public static final String DATASET = "dataset";
-    protected static final String SUMMATION = "summation";
-    protected static final String COUNT = "count";
+    protected static final String SUMMATION = "datatable_summation";
+    protected static final String COUNT = "datatable_count";
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_summation")
+    @Column(name = SUMMATION, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "summation")
     @BanyanDB.MeasureField
     protected DataTable summation = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_count")
+    @Column(name = COUNT, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "count")
     @BanyanDB.MeasureField
     protected DataTable count = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
+    @Column(name = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
     @BanyanDB.MeasureField
     private DataTable dataset = new DataTable(30);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunction.java
index 1c3d12068d..f69bc9ced7 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunction.java
@@ -18,18 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.avg;
 
-import com.google.common.base.Strings;
-import io.vavr.Tuple;
-import io.vavr.Tuple2;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collector;
-import java.util.stream.IntStream;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.meter.Meter;
 import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity;
@@ -49,9 +37,20 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
-
+import com.google.common.base.Strings;
+import io.vavr.Tuple;
+import io.vavr.Tuple2;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collector;
 import static java.util.stream.Collectors.groupingBy;
 import static java.util.stream.Collectors.mapping;
+import java.util.stream.IntStream;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * AvgPercentile intends to calculate percentile based on the average of raw values over the interval(minute, hour or day).
@@ -70,36 +69,36 @@ public abstract class AvgHistogramPercentileFunction extends Meter implements Ac
     private static final String DEFAULT_GROUP = "pD";
     public static final String DATASET = "dataset";
     public static final String RANKS = "ranks";
-    public static final String VALUE = "value";
-    protected static final String SUMMATION = "summation";
-    protected static final String COUNT = "count";
+    public static final String VALUE = "datatable_value";
+    protected static final String SUMMATION = "datatable_summation";
+    protected static final String COUNT = "datatable_count";
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID)
+    @Column(name = ENTITY_ID)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "name")
     @BanyanDB.MeasureField
     private DataTable percentileValues = new DataTable(10);
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_summation")
+    @Column(name = SUMMATION, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "summation")
     @BanyanDB.MeasureField
     protected DataTable summation = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_count")
+    @Column(name = COUNT, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "count")
     @BanyanDB.MeasureField
     protected DataTable count = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = DATASET, storageOnly = true)
+    @Column(name = DATASET, storageOnly = true)
     @BanyanDB.MeasureField
     private DataTable dataset = new DataTable(30);
     /**
@@ -107,7 +106,7 @@ public abstract class AvgHistogramPercentileFunction extends Meter implements Ac
      */
     @Getter
     @Setter
-    @Column(columnName = RANKS, storageOnly = true)
+    @Column(name = RANKS, storageOnly = true)
     private IntList ranks = new IntList(10);
 
     private boolean isCalculated = false;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunction.java
index c7c46f4e6f..b728654e34 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunction.java
@@ -18,11 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.avg;
 
-import java.util.Objects;
-import java.util.Set;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.manual.instance.InstanceTraffic;
 import org.apache.skywalking.oap.server.core.analysis.meter.Meter;
@@ -40,17 +35,22 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
+import java.util.Objects;
+import java.util.Set;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
 
 @MeterFunction(functionName = "avgLabeled")
 @ToString
 public abstract class AvgLabeledFunction extends Meter implements AcceptableValue<DataTable>, LabeledValueHolder {
-    protected static final String SUMMATION = "summation";
-    protected static final String COUNT = "count";
-    protected static final String VALUE = "value";
+    protected static final String SUMMATION = "datatable_summation";
+    protected static final String COUNT = "datatable_count";
+    protected static final String VALUE = "datatable_value";
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
@@ -59,25 +59,25 @@ public abstract class AvgLabeledFunction extends Meter implements AcceptableValu
      */
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_summation")
+    @Column(name = SUMMATION, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "summation")
     @BanyanDB.MeasureField
     protected DataTable summation = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_count")
+    @Column(name = COUNT, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "count")
     @BanyanDB.MeasureField
     protected DataTable count = new DataTable(30);
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
     private DataTable value = new DataTable(30);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java
index c5145212b6..e0f73e4eb3 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.latest;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -41,6 +40,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 @MeterFunction(functionName = "latest")
 @ToString
 public abstract class LatestFunction extends Meter implements AcceptableValue<Long>, LongValueHolder {
@@ -48,7 +49,7 @@ public abstract class LatestFunction extends Meter implements AcceptableValue<Lo
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
@@ -57,12 +58,12 @@ public abstract class LatestFunction extends Meter implements AcceptableValue<Lo
      */
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Latest)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Latest)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java
index e973b07313..fb946dc853 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.sum;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -41,6 +40,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 @ToString
 @MeterFunction(functionName = "sum")
 public abstract class SumFunction extends Meter implements AcceptableValue<Long>, LongValueHolder {
@@ -48,18 +49,18 @@ public abstract class SumFunction extends Meter implements AcceptableValue<Long>
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumHistogramPercentileFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumHistogramPercentileFunction.java
index 11d8379603..b7476cf091 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumHistogramPercentileFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumHistogramPercentileFunction.java
@@ -18,17 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.sum;
 
-import com.google.common.base.Strings;
-import io.vavr.Tuple;
-import io.vavr.Tuple2;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collector;
-import java.util.stream.IntStream;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.meter.Meter;
 import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity;
@@ -48,9 +37,19 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
-
+import com.google.common.base.Strings;
+import io.vavr.Tuple;
+import io.vavr.Tuple2;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collector;
 import static java.util.stream.Collectors.groupingBy;
 import static java.util.stream.Collectors.mapping;
+import java.util.stream.IntStream;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * SumPercentile intends to calculate percentile based on the summary of raw values over the interval(minute, hour or day).
@@ -61,24 +60,24 @@ public abstract class SumHistogramPercentileFunction extends Meter implements Ac
     private static final String DEFAULT_GROUP = "pD";
     public static final String DATASET = "dataset";
     public static final String RANKS = "ranks";
-    public static final String VALUE = "value";
-    protected static final String SUMMATION = "summation";
+    public static final String VALUE = "datatable_value";
+    protected static final String SUMMATION = "datatable_summation";
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID)
+    @Column(name = ENTITY_ID)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
     private DataTable percentileValues = new DataTable(10);
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_summation")
+    @Column(name = SUMMATION, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "summation")
     @BanyanDB.MeasureField
     protected DataTable summation = new DataTable(30);
     /**
@@ -86,7 +85,7 @@ public abstract class SumHistogramPercentileFunction extends Meter implements Ac
      */
     @Getter
     @Setter
-    @Column(columnName = RANKS, storageOnly = true)
+    @Column(name = RANKS, storageOnly = true)
     @BanyanDB.MeasureField
     private IntList ranks = new IntList(10);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinFunction.java
index 77b439476b..5ad8150f36 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.sumpermin;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -41,6 +40,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 @ToString
 @MeterFunction(functionName = "sumPerMin")
 public abstract class SumPerMinFunction extends Meter implements AcceptableValue<Long>, LongValueHolder {
@@ -49,24 +50,24 @@ public abstract class SumPerMinFunction extends Meter implements AcceptableValue
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private long value;
 
     @Getter
     @Setter
-    @Column(columnName = TOTAL, storageOnly = true)
+    @Column(name = TOTAL, storageOnly = true)
     @BanyanDB.MeasureField
     private long total;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinLabeledFunction.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinLabeledFunction.java
index 7acfd06c66..16fbe73895 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinLabeledFunction.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sumpermin/SumPerMinLabeledFunction.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.meter.function.sumpermin;
 
-import java.util.Objects;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
@@ -40,6 +39,8 @@ import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
 
+import java.util.Objects;
+
 @MeterFunction(functionName = "sumPerMinLabeled")
 public abstract class SumPerMinLabeledFunction extends Meter implements AcceptableValue<DataTable>, LabeledValueHolder {
 
@@ -48,24 +49,24 @@ public abstract class SumPerMinLabeledFunction extends Meter implements Acceptab
 
     @Setter
     @Getter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
 
     @Setter
     @Getter
-    @Column(columnName = InstanceTraffic.SERVICE_ID)
+    @Column(name = InstanceTraffic.SERVICE_ID)
     private String serviceId;
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
     @BanyanDB.MeasureField
     private DataTable value = new DataTable(30);
 
     @Getter
     @Setter
-    @Column(columnName = TOTAL, storageOnly = true)
+    @Column(name = TOTAL, storageOnly = true)
     @BanyanDB.MeasureField
     private DataTable total = new DataTable(30);
 
@@ -202,4 +203,4 @@ public abstract class SumPerMinLabeledFunction extends Meter implements Acceptab
     public int hashCode() {
         return Objects.hash(entityId, getTimeBucket());
     }
-}
\ No newline at end of file
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java
index a821d6574b..3618e3eda5 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java
@@ -46,28 +46,28 @@ public abstract class ApdexMetrics extends Metrics implements IntValueHolder {
     protected static final String S_NUM = "s_num";
     // Level: tolerated
     protected static final String T_NUM = "t_num";
-    protected static final String VALUE = "value";
+    protected static final String VALUE = "int_value";
 
     @Getter
     @Setter
-    @Column(columnName = TOTAL_NUM, storageOnly = true)
+    @Column(name = TOTAL_NUM, storageOnly = true)
     @BanyanDB.MeasureField
     private long totalNum;
     @Getter
     @Setter
-    @Column(columnName = S_NUM, storageOnly = true)
+    @Column(name = S_NUM, storageOnly = true)
     @BanyanDB.MeasureField
     private long sNum;
     @Getter
     @Setter
-    @Column(columnName = T_NUM, storageOnly = true)
+    @Column(name = T_NUM, storageOnly = true)
     @BanyanDB.MeasureField
     private long tNum;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
-    @ElasticSearch.Column(columnAlias = "int_value")
     private int value;
 
     @Entrance
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java
index 5428a344eb..80efa44828 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java
@@ -35,12 +35,12 @@ public abstract class CPMMetrics extends Metrics implements LongValueHolder {
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private long value;
     @Getter
     @Setter
-    @Column(columnName = TOTAL, storageOnly = true)
+    @Column(name = TOTAL, storageOnly = true)
     @BanyanDB.MeasureField
     private long total;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java
index a044837717..f83cb2e1da 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java
@@ -34,7 +34,7 @@ public abstract class CountMetrics extends Metrics implements LongValueHolder {
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
index bce29c98bf..67320fb99f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
@@ -32,25 +32,25 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 @MetricsFunction(functionName = "doubleAvg")
 public abstract class DoubleAvgMetrics extends Metrics implements DoubleValueHolder {
 
-    protected static final String SUMMATION = "summation";
+    protected static final String SUMMATION = "double_summation";
     protected static final String COUNT = "count";
-    protected static final String VALUE = "value";
+    protected static final String VALUE = "double_value";
 
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "double_summation")
+    @Column(name = SUMMATION, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "summation")
     @BanyanDB.MeasureField
     private double summation;
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
+    @Column(name = COUNT, storageOnly = true)
     @BanyanDB.MeasureField
     private long count;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
-    @ElasticSearch.Column(columnAlias = "double_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
     private double value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Event.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Event.java
index 12a434812f..6fecb832a3 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Event.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Event.java
@@ -84,38 +84,38 @@ public class Event extends Metrics {
         return new StorageID().append(UUID, getUuid());
     }
 
-    @Column(columnName = UUID)
+    @Column(name = UUID)
     @BanyanDB.SeriesID(index = 0)
     private String uuid;
 
-    @Column(columnName = SERVICE)
+    @Column(name = SERVICE)
     private String service;
 
-    @Column(columnName = SERVICE_INSTANCE)
+    @Column(name = SERVICE_INSTANCE)
     private String serviceInstance;
 
-    @Column(columnName = ENDPOINT)
+    @Column(name = ENDPOINT)
     private String endpoint;
 
-    @Column(columnName = NAME)
+    @Column(name = NAME)
     private String name;
 
-    @Column(columnName = TYPE)
+    @Column(name = TYPE)
     private String type;
 
-    @Column(columnName = MESSAGE)
+    @Column(name = MESSAGE)
     private String message;
 
-    @Column(columnName = PARAMETERS, storageOnly = true, length = PARAMETER_MAX_LENGTH)
+    @Column(name = PARAMETERS, storageOnly = true, length = PARAMETER_MAX_LENGTH)
     private String parameters;
 
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
 
-    @Column(columnName = END_TIME)
+    @Column(name = END_TIME)
     private long endTime;
 
-    @Column(columnName = LAYER)
+    @Column(name = LAYER)
     private Layer layer;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HistogramMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HistogramMetrics.java
index 9e6fa6f01c..1d67c2dbac 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HistogramMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HistogramMetrics.java
@@ -42,7 +42,7 @@ public abstract class HistogramMetrics extends Metrics {
 
     @Getter
     @Setter
-    @Column(columnName = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
+    @Column(name = DATASET, dataType = Column.ValueDataType.HISTOGRAM, storageOnly = true, defaultValue = 0)
     @BanyanDB.MeasureField
     private DataTable dataset = new DataTable(30);
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java
index dd9bb25d95..159c870d24 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java
@@ -37,17 +37,17 @@ public abstract class LongAvgMetrics extends Metrics implements LongValueHolder
 
     @Getter
     @Setter
-    @Column(columnName = SUMMATION, storageOnly = true)
+    @Column(name = SUMMATION, storageOnly = true)
     @BanyanDB.MeasureField
     protected long summation;
     @Getter
     @Setter
-    @Column(columnName = COUNT, storageOnly = true)
+    @Column(name = COUNT, storageOnly = true)
     @BanyanDB.MeasureField
     protected long count;
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
index 8929e67dfd..f2335cb01e 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
@@ -33,7 +33,7 @@ public abstract class MaxDoubleMetrics extends Metrics implements DoubleValueHol
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
     @BanyanDB.MeasureField
     private double value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java
index 5785e72d51..b010acfd9a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java
@@ -33,7 +33,7 @@ public abstract class MaxLongMetrics extends Metrics implements LongValueHolder
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
index 67adbfee34..5c0b212e22 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
@@ -49,7 +49,7 @@ public abstract class Metrics extends StreamData implements StorageData {
      */
     @Getter
     @Setter
-    @Column(columnName = TIME_BUCKET)
+    @Column(name = TIME_BUCKET)
     private long timeBucket;
 
     /**
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java
index 005e972f8d..4035e3dde2 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java
@@ -33,7 +33,7 @@ public abstract class MinDoubleMetrics extends Metrics implements DoubleValueHol
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
     @BanyanDB.MeasureField
     private double value = Double.MAX_VALUE;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java
index 61b8ef587f..3372024278 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java
@@ -33,7 +33,7 @@ public abstract class MinLongMetrics extends Metrics implements LongValueHolder
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE)
     @BanyanDB.MeasureField
     private long value = Long.MAX_VALUE;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java
index 0d8c0475be..beb732d56a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java
@@ -35,17 +35,17 @@ public abstract class PercentMetrics extends Metrics implements IntValueHolder {
 
     @Getter
     @Setter
-    @Column(columnName = TOTAL, storageOnly = true)
+    @Column(name = TOTAL, storageOnly = true)
     @BanyanDB.MeasureField
     private long total;
     @Getter
     @Setter
-    @Column(columnName = PERCENTAGE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = PERCENTAGE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private int percentage;
     @Getter
     @Setter
-    @Column(columnName = MATCH, storageOnly = true)
+    @Column(name = MATCH, storageOnly = true)
     private long match;
 
     @Entrance
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentileMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentileMetrics.java
index b58d490fa5..b50d983fef 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentileMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentileMetrics.java
@@ -18,11 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.analysis.metrics;
 
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.IntStream;
-import lombok.Getter;
-import lombok.Setter;
 import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.Arg;
 import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.Entrance;
 import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.MetricsFunction;
@@ -30,6 +25,11 @@ import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.SourceF
 import org.apache.skywalking.oap.server.core.storage.annotation.BanyanDB;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.IntStream;
+import lombok.Getter;
+import lombok.Setter;
 
 /**
  * Percentile is a better implementation than deprecated PxxMetrics in older releases.
@@ -40,7 +40,7 @@ import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 @MetricsFunction(functionName = "percentile")
 public abstract class PercentileMetrics extends Metrics implements MultiIntValuesHolder {
     protected static final String DATASET = "dataset";
-    protected static final String VALUE = "value";
+    protected static final String VALUE = "datatable_value";
     protected static final String PRECISION = "precision";
 
     private static final int[] RANKS = {
@@ -53,18 +53,18 @@ public abstract class PercentileMetrics extends Metrics implements MultiIntValue
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
-    @ElasticSearch.Column(columnAlias = "datatable_value")
+    @Column(name = VALUE, dataType = Column.ValueDataType.LABELED_VALUE, storageOnly = true)
+    @ElasticSearch.Column(legacyName = "value")
     @BanyanDB.MeasureField
     private DataTable percentileValues;
     @Getter
     @Setter
-    @Column(columnName = PRECISION, storageOnly = true)
+    @Column(name = PRECISION, storageOnly = true)
     @BanyanDB.MeasureField
     private int precision;
     @Getter
     @Setter
-    @Column(columnName = DATASET, storageOnly = true)
+    @Column(name = DATASET, storageOnly = true)
     @BanyanDB.MeasureField
     private DataTable dataset;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java
index f107a78f3c..ff30d3ad1c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java
@@ -34,17 +34,17 @@ public abstract class RateMetrics extends Metrics implements IntValueHolder {
 
     @Getter
     @Setter
-    @Column(columnName = DENOMINATOR)
+    @Column(name = DENOMINATOR)
     @BanyanDB.MeasureField
     private long denominator;
     @Getter
     @Setter
-    @Column(columnName = PERCENTAGE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
+    @Column(name = PERCENTAGE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Avg)
     @BanyanDB.MeasureField
     private int percentage;
     @Getter
     @Setter
-    @Column(columnName = NUMERATOR)
+    @Column(name = NUMERATOR)
     @BanyanDB.MeasureField
     private long numerator;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java
index 7b1cb47bee..61e114747b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java
@@ -34,7 +34,7 @@ public abstract class SumMetrics extends Metrics implements LongValueHolder {
 
     @Getter
     @Setter
-    @Column(columnName = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
+    @Column(name = VALUE, dataType = Column.ValueDataType.COMMON_VALUE, function = Function.Sum)
     @BanyanDB.MeasureField
     private long value;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
index 23c25a42b8..0d50f0cdb0 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/record/Record.java
@@ -34,6 +34,6 @@ public abstract class Record implements StorageData {
      */
     @Getter
     @Setter
-    @Column(columnName = TIME_BUCKET)
+    @Column(name = TIME_BUCKET)
     private long timeBucket;
 }
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
index 0c63915644..8c844d6e9a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java
@@ -37,21 +37,21 @@ public abstract class TopN extends Record implements ComparableStorageData {
     
     @Getter
     @Setter
-    @Column(columnName = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
+    @Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
     @BanyanDB.IndexRule(indexType = BanyanDB.IndexRule.IndexType.TREE)
     private long latency;
     @Getter
     @Setter
-    @Column(columnName = TRACE_ID, storageOnly = true)
+    @Column(name = TRACE_ID, storageOnly = true)
     private String traceId;
     @Getter
     @Setter
-    @Column(columnName = ENTITY_ID, length = 512)
+    @Column(name = ENTITY_ID, length = 512)
     @BanyanDB.SeriesID(index = 0)
     private String entityId;
     @Getter
     @Setter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/browser/manual/errorlog/BrowserErrorLogRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/browser/manual/errorlog/BrowserErrorLogRecord.java
index e26034dd90..ad24539720 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/browser/manual/errorlog/BrowserErrorLogRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/browser/manual/errorlog/BrowserErrorLogRecord.java
@@ -57,38 +57,38 @@ public class BrowserErrorLogRecord extends Record {
 
     @Setter
     @Getter
-    @Column(columnName = UNIQUE_ID)
+    @Column(name = UNIQUE_ID)
     private String uniqueId;
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String serviceId;
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_VERSION_ID, length = 512)
+    @Column(name = SERVICE_VERSION_ID, length = 512)
     private String serviceVersionId;
 
     @Setter
     @Getter
-    @Column(columnName = PAGE_PATH_ID, length = 512)
+    @Column(name = PAGE_PATH_ID, length = 512)
     private String pagePathId;
 
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Setter
     @Getter
-    @Column(columnName = ERROR_CATEGORY)
+    @Column(name = ERROR_CATEGORY)
     private int errorCategory;
 
     @Setter
     @Getter
-    @Column(columnName = DATA_BINARY)
+    @Column(name = DATA_BINARY)
     private byte[] dataBinary;
 
     public static class Builder implements StorageBuilder<BrowserErrorLogRecord> {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/management/ui/template/UITemplate.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/management/ui/template/UITemplate.java
index 7ecde5db8f..7f6b4a360b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/management/ui/template/UITemplate.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/management/ui/template/UITemplate.java
@@ -47,16 +47,16 @@ public class UITemplate extends ManagementData {
     public static final String UPDATE_TIME = "update_time";
     public static final String DISABLED = "disabled";
 
-    @Column(columnName = TEMPLATE_ID)
+    @Column(name = TEMPLATE_ID)
     private String templateId;
     /**
      * Configuration in JSON format.
      */
-    @Column(columnName = CONFIGURATION, storageOnly = true, length = 1_000_000)
+    @Column(name = CONFIGURATION, storageOnly = true, length = 1_000_000)
     private String configuration;
-    @Column(columnName = UPDATE_TIME)
+    @Column(name = UPDATE_TIME)
     private long updateTime;
-    @Column(columnName = DISABLED)
+    @Column(name = DISABLED)
     private int disabled;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingDataRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingDataRecord.java
index 919c168dea..d4b8404edf 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingDataRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingDataRecord.java
@@ -50,18 +50,18 @@ public class EBPFProfilingDataRecord extends Record {
     public static final String DATA_BINARY = "dump_binary";
     public static final String UPLOAD_TIME = "upload_time";
 
-    @Column(columnName = TASK_ID, length = 600)
+    @Column(name = TASK_ID, length = 600)
     @BanyanDB.SeriesID(index = 0)
     private String taskId;
-    @Column(columnName = SCHEDULE_ID, length = 600)
+    @Column(name = SCHEDULE_ID, length = 600)
     private String scheduleId;
-    @Column(columnName = STACK_ID_LIST)
+    @Column(name = STACK_ID_LIST)
     private String stackIdList;
-    @Column(columnName = TARGET_TYPE)
+    @Column(name = TARGET_TYPE)
     private int targetType;
-    @Column(columnName = DATA_BINARY, storageOnly = true)
+    @Column(name = DATA_BINARY, storageOnly = true)
     private byte[] dataBinary;
-    @Column(columnName = UPLOAD_TIME)
+    @Column(name = UPLOAD_TIME)
     private long uploadTime;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingScheduleRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingScheduleRecord.java
index 6af14c30ff..98042fbcb6 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingScheduleRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingScheduleRecord.java
@@ -62,15 +62,15 @@ public class EBPFProfilingScheduleRecord extends Metrics {
     public static final String END_TIME = "end_time";
     public static final String EBPF_PROFILING_SCHEDULE_ID = "ebpf_profiling_schedule_id";
 
-    @Column(columnName = TASK_ID, length = 600)
+    @Column(name = TASK_ID, length = 600)
     private String taskId;
-    @Column(columnName = PROCESS_ID, length = 600)
+    @Column(name = PROCESS_ID, length = 600)
     private String processId;
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
-    @Column(columnName = END_TIME)
+    @Column(name = END_TIME)
     private long endTime;
-    @Column(columnName = EBPF_PROFILING_SCHEDULE_ID)
+    @Column(name = EBPF_PROFILING_SCHEDULE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String scheduleId;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingTaskRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingTaskRecord.java
index de7ce305b7..ca497ddd48 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingTaskRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingTaskRecord.java
@@ -59,28 +59,28 @@ public class EBPFProfilingTaskRecord extends NoneStream {
     public static final int PROCESS_LABELS_JSON_MAX_LENGTH = 1000;
     public static final int EXTENSION_CONFIG_JSON_MAX_LENGTH = 1000;
 
-    @Column(columnName = LOGICAL_ID)
+    @Column(name = LOGICAL_ID)
     private String logicalId;
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String serviceId;
-    @Column(columnName = PROCESS_LABELS_JSON, length = PROCESS_LABELS_JSON_MAX_LENGTH)
+    @Column(name = PROCESS_LABELS_JSON, length = PROCESS_LABELS_JSON_MAX_LENGTH)
     private String processLabelsJson;
-    @Column(columnName = INSTANCE_ID, length = 512)
+    @Column(name = INSTANCE_ID, length = 512)
     private String instanceId;
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
-    @Column(columnName = TRIGGER_TYPE)
+    @Column(name = TRIGGER_TYPE)
     private int triggerType = EBPFProfilingTriggerType.UNKNOWN.value();
-    @Column(columnName = FIXED_TRIGGER_DURATION)
+    @Column(name = FIXED_TRIGGER_DURATION)
     private long fixedTriggerDuration;
-    @Column(columnName = TARGET_TYPE)
+    @Column(name = TARGET_TYPE)
     private int targetType = EBPFProfilingTargetType.UNKNOWN.value();
-    @Column(columnName = CREATE_TIME)
+    @Column(name = CREATE_TIME)
     private long createTime;
-    @Column(columnName = LAST_UPDATE_TIME)
+    @Column(name = LAST_UPDATE_TIME)
     private long lastUpdateTime;
-    @Column(columnName = EXTENSION_CONFIG_JSON, length = EXTENSION_CONFIG_JSON_MAX_LENGTH, storageOnly = true)
+    @Column(name = EXTENSION_CONFIG_JSON, length = EXTENSION_CONFIG_JSON_MAX_LENGTH, storageOnly = true)
     private String extensionConfigJson;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskLogRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskLogRecord.java
index e27a42284c..c0f8d1bb9a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskLogRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskLogRecord.java
@@ -50,18 +50,18 @@ public class ProfileTaskLogRecord extends Record {
     public static final String OPERATION_TIME = "operation_time";
     public static final String TIMESTAMP = "timestamp";
 
-    @Column(columnName = TASK_ID)
+    @Column(name = TASK_ID)
     private String taskId;
-    @Column(columnName = INSTANCE_ID)
+    @Column(name = INSTANCE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String instanceId;
-    @Column(columnName = OPERATION_TYPE, storageOnly = true)
+    @Column(name = OPERATION_TYPE, storageOnly = true)
     private int operationType;
-    @Column(columnName = OPERATION_TIME)
+    @Column(name = OPERATION_TIME)
     private long operationTime;
     @Getter
     @Setter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskRecord.java
index 2fd77c6a90..b1fdc16349 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileTaskRecord.java
@@ -59,24 +59,24 @@ public class ProfileTaskRecord extends NoneStream {
         return new StorageID().append(TASK_ID, taskId);
     }
 
-    @Column(columnName = SERVICE_ID)
+    @Column(name = SERVICE_ID)
     @BanyanDB.SeriesID(index = 0)
     private String serviceId;
-    @Column(columnName = ENDPOINT_NAME, length = 512)
+    @Column(name = ENDPOINT_NAME, length = 512)
     private String endpointName;
-    @Column(columnName = TASK_ID)
+    @Column(name = TASK_ID)
     private String taskId;
-    @Column(columnName = START_TIME)
+    @Column(name = START_TIME)
     private long startTime;
-    @Column(columnName = DURATION)
+    @Column(name = DURATION)
     private int duration;
-    @Column(columnName = MIN_DURATION_THRESHOLD)
+    @Column(name = MIN_DURATION_THRESHOLD)
     private int minDurationThreshold;
-    @Column(columnName = DUMP_PERIOD)
+    @Column(name = DUMP_PERIOD)
     private int dumpPeriod;
-    @Column(columnName = CREATE_TIME)
+    @Column(name = CREATE_TIME)
     private long createTime;
-    @Column(columnName = MAX_SAMPLING_COUNT)
+    @Column(name = MAX_SAMPLING_COUNT)
     private int maxSamplingCount;
 
     public static class Builder implements StorageBuilder<ProfileTaskRecord> {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileThreadSnapshotRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileThreadSnapshotRecord.java
index a1c0818c5a..218bfa322f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileThreadSnapshotRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/trace/ProfileThreadSnapshotRecord.java
@@ -51,19 +51,19 @@ public class ProfileThreadSnapshotRecord extends Record {
     public static final String SEQUENCE = "sequence";
     public static final String STACK_BINARY = "stack_binary";
 
-    @Column(columnName = TASK_ID)
+    @Column(name = TASK_ID)
     @SQLDatabase.QueryUnifiedIndex(withColumns = {SEGMENT_ID})
     private String taskId;
-    @Column(columnName = SEGMENT_ID)
+    @Column(name = SEGMENT_ID)
     @SQLDatabase.QueryUnifiedIndex(withColumns = {SEQUENCE})
     @SQLDatabase.QueryUnifiedIndex(withColumns = {DUMP_TIME})
     @BanyanDB.SeriesID(index = 0)
     private String segmentId;
-    @Column(columnName = DUMP_TIME)
+    @Column(name = DUMP_TIME)
     private long dumpTime;
-    @Column(columnName = SEQUENCE)
+    @Column(name = SEQUENCE)
     private int sequence;
-    @Column(columnName = STACK_BINARY)
+    @Column(name = STACK_BINARY)
     private byte[] stackBinary;
 
     @Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/Column.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/Column.java
index 91560ba680..c69b41b045 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/Column.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/Column.java
@@ -18,13 +18,13 @@
 
 package org.apache.skywalking.oap.server.core.storage.annotation;
 
+import org.apache.skywalking.oap.server.core.query.sql.Function;
+import org.apache.skywalking.oap.server.core.storage.model.ModelManipulator;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import lombok.Getter;
-import org.apache.skywalking.oap.server.core.query.sql.Function;
-import org.apache.skywalking.oap.server.core.storage.model.ModelManipulator;
 
 /**
  * Data column of all persistent entity.
@@ -33,10 +33,14 @@ import org.apache.skywalking.oap.server.core.storage.model.ModelManipulator;
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Column {
     /**
-     * column name in the storage. Most of the storage will keep the name consistently. But in same cases, this name
+     * Column name in the storage. Most of the storage will keep the name consistently. But in same cases, this name
      * could be a keyword, then, the implementation will use {@link ModelManipulator} to replace the column name.
+     * <p>
+     * Be careful not to use the same column name for two models with the same type (metrics/record), which causes
+     * column conflicts in storage implementations that merge all metrics/records models into a single table/index.
+     * Also check {@code legacyName()}.
      */
-    String columnName();
+    String name();
 
     /**
      * The function is used in aggregation query.
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/ElasticSearch.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/ElasticSearch.java
index 765ab38a4d..bf046529e2 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/ElasticSearch.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/ElasticSearch.java
@@ -18,12 +18,12 @@
 
 package org.apache.skywalking.oap.server.core.storage.annotation;
 
+import org.apache.skywalking.oap.server.core.analysis.record.Record;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import lombok.Getter;
-import org.apache.skywalking.oap.server.core.analysis.record.Record;
 
 /**
  * ElasticSearch annotation is a holder including all annotations for ElasticSearch storage
@@ -95,7 +95,7 @@ public @interface ElasticSearch {
          * between these 2 storage modes rather than use this alias.
          */
         @Deprecated
-        String columnAlias();
+        String legacyName();
 
     }
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ColumnName.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ColumnName.java
index 49e2af9a57..4f8ea8f24d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ColumnName.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ColumnName.java
@@ -18,39 +18,28 @@
 
 package org.apache.skywalking.oap.server.core.storage.model;
 
+import lombok.Getter;
 import lombok.ToString;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 
 /**
  * Short column name unsupported for now. No define in @Column annotation. The storage implementation need to use name
  * to do match.
  */
 @Slf4j
+@Getter
 @ToString
 public class ColumnName {
-    private final String modelName;
-    private String fullName;
-    private String storageName = null;
+    private final String name;
+    private String storageName;
 
-    public ColumnName(String modelName, String fullName) {
-        this.modelName = modelName;
-        this.fullName = fullName;
-    }
-
-    public String getName() {
-        return fullName;
-    }
-
-    public String getStorageName() {
-        return storageName != null ? storageName : fullName;
+    public ColumnName(Column column) {
+        storageName = name = column.name();
     }
 
     public void overrideName(String oldName, String storageName) {
-        if (fullName.equals(oldName)) {
-            log.debug(
-                "Model {} column {} has been override. The new column name is {}.",
-                modelName, oldName, storageName
-            );
+        if (name.equals(oldName)) {
             this.storageName = storageName;
         }
     }
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ElasticSearchExtension.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ElasticSearchExtension.java
index 8be7062644..98abf536cd 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ElasticSearchExtension.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ElasticSearchExtension.java
@@ -36,7 +36,7 @@ public class ElasticSearchExtension {
      */
     private final ElasticSearch.MatchQuery.AnalyzerType analyzer;
 
-    private final String columnAlias;
+    private final String legacyColumnName;
 
     private final boolean isKeyword;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
index 109e176dcc..b9df523b5c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
@@ -185,7 +185,7 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
 
                 indexDefinitions.forEach(indexDefinition -> {
                     sqlDatabaseExtension.appendIndex(new SQLDatabaseExtension.MultiColumnsIndex(
-                        column.columnName(),
+                        column.name(),
                         indexDefinition.withColumns()
                     ));
                 });
@@ -198,7 +198,7 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
                 final ElasticSearch.Routing routingColumn = field.getAnnotation(ElasticSearch.Routing.class);
                 ElasticSearchExtension elasticSearchExtension = new ElasticSearchExtension(
                     elasticSearchAnalyzer == null ? null : elasticSearchAnalyzer.analyzer(),
-                    elasticSearchColumn == null ? null : elasticSearchColumn.columnAlias(),
+                    elasticSearchColumn == null ? null : elasticSearchColumn.legacyName(),
                     keywordColumn != null,
                     routingColumn != null
                 );
@@ -223,10 +223,7 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
                 );
 
                 final ModelColumn modelColumn = new ModelColumn(
-                    new ColumnName(
-                        modelName,
-                        column.columnName()
-                    ),
+                    new ColumnName(column),
                     field.getType(),
                     field.getGenericType(),
                     column.storageOnly(),
@@ -253,12 +250,12 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
 
                 modelColumns.add(modelColumn);
                 if (log.isDebugEnabled()) {
-                    log.debug("The field named [{}] with the [{}] type", column.columnName(), field.getType());
+                    log.debug("The field named [{}] with the [{}] type", column.name(), field.getType());
                 }
                 if (column.dataType().isValue()) {
                     ValueColumnMetadata.INSTANCE.putIfAbsent(
-                        modelName, column.columnName(), column.dataType(), column.function(),
-                        column.defaultValue(), scopeId
+                        modelName, column.name(),
+                        column.dataType(), column.function(), column.defaultValue(), scopeId
                     );
                 }
             }
@@ -290,6 +287,7 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
     private void followColumnNameRules(Model model) {
         columnNameOverrideRule.forEach((oldName, newName) -> {
             model.getColumns().forEach(column -> {
+                log.debug("Override model column name: [{}] {} -> {}.", model.getName(), oldName, newName);
                 column.getColumnName().overrideName(oldName, newName);
                 column.getSqlDatabaseExtension()
                       .getIndices()
@@ -317,8 +315,8 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula
         return models;
     }
 
-    private class ShardingKeyChecker {
-        private ArrayList<ModelColumn> keys = new ArrayList<>();
+    private static class ShardingKeyChecker {
+        private final ArrayList<ModelColumn> keys = new ArrayList<>();
 
         /**
          * @throws IllegalStateException if sharding key indices are conflicting.
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceRelationTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceRelationTraffic.java
index 3e7eac78e2..f54b4e25ce 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceRelationTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceRelationTraffic.java
@@ -52,12 +52,12 @@ public class ZipkinServiceRelationTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_NAME)
+    @Column(name = SERVICE_NAME)
     @BanyanDB.SeriesID(index = 0)
     private String serviceName;
     @Setter
     @Getter
-    @Column(columnName = REMOTE_SERVICE_NAME)
+    @Column(name = REMOTE_SERVICE_NAME)
     @BanyanDB.SeriesID(index = 1)
     private String remoteServiceName;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceSpanTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceSpanTraffic.java
index ebb1c9bf23..1ca5f3ef09 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceSpanTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceSpanTraffic.java
@@ -54,12 +54,12 @@ public class ZipkinServiceSpanTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_NAME)
+    @Column(name = SERVICE_NAME)
     @BanyanDB.SeriesID(index = 0)
     private String serviceName;
     @Setter
     @Getter
-    @Column(columnName = SPAN_NAME)
+    @Column(name = SPAN_NAME)
     @BanyanDB.SeriesID(index = 1)
     private String spanName = Const.EMPTY_STRING;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceTraffic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceTraffic.java
index 9d962936bf..d8b1388406 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceTraffic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinServiceTraffic.java
@@ -51,7 +51,7 @@ public class ZipkinServiceTraffic extends Metrics {
 
     @Setter
     @Getter
-    @Column(columnName = SERVICE_NAME)
+    @Column(name = SERVICE_NAME)
     @BanyanDB.SeriesID(index = 0)
     private String serviceName = Const.EMPTY_STRING;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
index f8305dc430..01e8d54590 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
@@ -21,8 +21,6 @@ package org.apache.skywalking.oap.server.core.zipkin;
 import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
-import java.util.List;
-import java.util.Map;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.Const;
@@ -34,9 +32,9 @@ import org.apache.skywalking.oap.server.core.storage.ShardingAlgorithm;
 import org.apache.skywalking.oap.server.core.storage.StorageID;
 import org.apache.skywalking.oap.server.core.storage.annotation.BanyanDB;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
+import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.annotation.SQLDatabase;
 import org.apache.skywalking.oap.server.core.storage.annotation.SuperDataset;
-import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity;
 import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage;
 import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder;
@@ -45,6 +43,9 @@ import org.apache.skywalking.oap.server.library.util.StringUtil;
 import zipkin2.Endpoint;
 import zipkin2.Span;
 
+import java.util.List;
+import java.util.Map;
+
 import static org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord.TRACE_ID;
 import static org.apache.skywalking.oap.server.core.analysis.record.Record.TIME_BUCKET;
 
@@ -82,91 +83,91 @@ public class ZipkinSpanRecord extends Record {
 
     @Setter
     @Getter
-    @Column(columnName = TRACE_ID)
+    @Column(name = TRACE_ID)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_QUERY_TABLE}, reserveOriginalColumns = true)
     @BanyanDB.SeriesID(index = 0)
     @ElasticSearch.Routing
     private String traceId;
     @Setter
     @Getter
-    @Column(columnName = SPAN_ID)
+    @Column(name = SPAN_ID)
     @BanyanDB.SeriesID(index = 1)
     private String spanId;
     @Setter
     @Getter
-    @Column(columnName = PARENT_ID)
+    @Column(name = PARENT_ID)
     private String parentId;
     @Setter
     @Getter
-    @Column(columnName = NAME)
+    @Column(name = NAME)
     private String name;
     @Setter
     @Getter
-    @Column(columnName = DURATION)
+    @Column(name = DURATION)
     private long duration;
     @Setter
     @Getter
-    @Column(columnName = KIND)
+    @Column(name = KIND)
     private String kind;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP_MILLIS)
+    @Column(name = TIMESTAMP_MILLIS)
     private long timestampMillis;
     @Setter
     @Getter
-    @Column(columnName = TIMESTAMP)
+    @Column(name = TIMESTAMP)
     private long timestamp;
     @Setter
     @Getter
-    @Column(columnName = LOCAL_ENDPOINT_SERVICE_NAME)
+    @Column(name = LOCAL_ENDPOINT_SERVICE_NAME)
     private String localEndpointServiceName;
     @Setter
     @Getter
-    @Column(columnName = LOCAL_ENDPOINT_IPV4, storageOnly = true)
+    @Column(name = LOCAL_ENDPOINT_IPV4, storageOnly = true)
     private String localEndpointIPV4;
     @Setter
     @Getter
-    @Column(columnName = LOCAL_ENDPOINT_IPV6, storageOnly = true)
+    @Column(name = LOCAL_ENDPOINT_IPV6, storageOnly = true)
     private String localEndpointIPV6;
     @Setter
     @Getter
-    @Column(columnName = LOCAL_ENDPOINT_PORT, storageOnly = true)
+    @Column(name = LOCAL_ENDPOINT_PORT, storageOnly = true)
     private int localEndpointPort;
     @Setter
     @Getter
-    @Column(columnName = REMOTE_ENDPOINT_SERVICE_NAME)
+    @Column(name = REMOTE_ENDPOINT_SERVICE_NAME)
     private String remoteEndpointServiceName;
     @Setter
     @Getter
-    @Column(columnName = REMOTE_ENDPOINT_IPV4, storageOnly = true)
+    @Column(name = REMOTE_ENDPOINT_IPV4, storageOnly = true)
     private String remoteEndpointIPV4;
     @Setter
     @Getter
-    @Column(columnName = REMOTE_ENDPOINT_IPV6, storageOnly = true)
+    @Column(name = REMOTE_ENDPOINT_IPV6, storageOnly = true)
     private String remoteEndpointIPV6;
     @Setter
     @Getter
-    @Column(columnName = REMOTE_ENDPOINT_PORT, storageOnly = true)
+    @Column(name = REMOTE_ENDPOINT_PORT, storageOnly = true)
     private int remoteEndpointPort;
     @Setter
     @Getter
-    @Column(columnName = ANNOTATIONS, storageOnly = true, length = 50000)
+    @Column(name = ANNOTATIONS, storageOnly = true, length = 50000)
     private JsonObject annotations;
     @Setter
     @Getter
-    @Column(columnName = TAGS, storageOnly = true, length = 50000)
+    @Column(name = TAGS, storageOnly = true, length = 50000)
     private JsonObject tags;
     @Setter
     @Getter
-    @Column(columnName = DEBUG)
+    @Column(name = DEBUG)
     private int debug;
     @Setter
     @Getter
-    @Column(columnName = SHARED)
+    @Column(name = SHARED)
     private int shared;
     @Setter
     @Getter
-    @Column(columnName = QUERY, indexOnly = true, length = QUERY_LENGTH)
+    @Column(name = QUERY, indexOnly = true, length = QUERY_LENGTH)
     @SQLDatabase.AdditionalEntity(additionalTables = {ADDITIONAL_QUERY_TABLE})
     private List<String> query;
 
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/ModelColumnTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/ModelColumnTest.java
index c50cc7aa6f..893eea3e19 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/ModelColumnTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/ModelColumnTest.java
@@ -20,37 +20,52 @@ package org.apache.skywalking.oap.server.core.storage.model;
 
 import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable;
 import org.apache.skywalking.oap.server.core.storage.annotation.BanyanDB;
+import org.apache.skywalking.oap.server.core.storage.annotation.Column;
 import org.apache.skywalking.oap.server.core.storage.annotation.ElasticSearch;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import static org.mockito.Mockito.when;
 
+@RunWith(MockitoJUnitRunner.class)
 public class ModelColumnTest {
+    @Mock
+    private Column c;
+
+    @Before
+    public void before() {
+        when(c.name()).thenReturn("abc");
+    }
+
     @Test
     public void testColumnDefine() {
-        ModelColumn column = new ModelColumn(new ColumnName("", "abc"), byte[].class, byte[].class,
+        ModelColumn column = new ModelColumn(new ColumnName(c), byte[].class, byte[].class,
                                              false, false, true, 0,
                                              new SQLDatabaseExtension(),
                                              new ElasticSearchExtension(
-                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, "abc", false, false),
+                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, null, false, false),
                                              new BanyanDBExtension(-1, false, true, BanyanDB.IndexRule.IndexType.INVERTED, false)
         );
         Assert.assertEquals(true, column.isStorageOnly());
         Assert.assertEquals("abc", column.getColumnName().getName());
 
-        column = new ModelColumn(new ColumnName("", "abc"), DataTable.class, DataTable.class,
+        column = new ModelColumn(new ColumnName(c), DataTable.class, DataTable.class,
                                  false, false, true, 200,
                                  new SQLDatabaseExtension(),
-                                 new ElasticSearchExtension(ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, "abc", false, false),
+                                 new ElasticSearchExtension(ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, null, false, false),
                                  new BanyanDBExtension(-1, false, true, BanyanDB.IndexRule.IndexType.INVERTED, false)
         );
         Assert.assertEquals(true, column.isStorageOnly());
         Assert.assertEquals("abc", column.getColumnName().getName());
         Assert.assertEquals(200, column.getLength());
 
-        column = new ModelColumn(new ColumnName("", "abc"), String.class, String.class,
+        column = new ModelColumn(new ColumnName(c), String.class, String.class,
                                  false, false, true, 200,
                                  new SQLDatabaseExtension(),
-                                 new ElasticSearchExtension(ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, "abc", false, false),
+                                 new ElasticSearchExtension(ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, null, false, false),
                                  new BanyanDBExtension(-1, false, true, BanyanDB.IndexRule.IndexType.INVERTED, false)
         );
         Assert.assertEquals(false, column.isStorageOnly());
@@ -59,22 +74,22 @@ public class ModelColumnTest {
 
     @Test(expected = IllegalArgumentException.class)
     public void testConflictDefinition() {
-        ModelColumn column = new ModelColumn(new ColumnName("", "abc"), String.class, String.class,
+        ModelColumn column = new ModelColumn(new ColumnName(c), String.class, String.class,
                                              true, false, true, 200,
                                              new SQLDatabaseExtension(),
                                              new ElasticSearchExtension(
-                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, "abc", false, false),
+                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, null, false, false),
                                              new BanyanDBExtension(-1, false, true, BanyanDB.IndexRule.IndexType.INVERTED, false)
         );
     }
 
     @Test(expected = IllegalArgumentException.class)
     public void testConflictDefinitionIndexOnly() {
-        ModelColumn column = new ModelColumn(new ColumnName("", "abc"), String.class, String.class,
+        ModelColumn column = new ModelColumn(new ColumnName(c), String.class, String.class,
                                              true, true, false, 200,
                                              new SQLDatabaseExtension(),
                                              new ElasticSearchExtension(
-                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, "abc", false, false),
+                                                 ElasticSearch.MatchQuery.AnalyzerType.OAP_ANALYZER, null, false, false),
                                              new BanyanDBExtension(-1, false, true, BanyanDB.IndexRule.IndexType.INVERTED, false)
         );
     }
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
index 4647591d50..9f6d123a47 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/storage/model/StorageModelsTest.java
@@ -18,7 +18,6 @@
 
 package org.apache.skywalking.oap.server.core.storage.model;
 
-import java.util.List;
 import org.apache.skywalking.oap.server.core.analysis.DownSampling;
 import org.apache.skywalking.oap.server.core.analysis.Stream;
 import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor;
@@ -40,6 +39,8 @@ import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
 
+import java.util.List;
+
 @RunWith(PowerMockRunner.class)
 @PrepareForTest({DefaultScopeDefine.class})
 @PowerMockIgnore({
@@ -82,19 +83,19 @@ public class StorageModelsTest {
 
     @Stream(name = "StorageModelsTest", scopeId = -1, builder = TestModel.Builder.class, processor = MetricsStreamProcessor.class)
     private static class TestModel {
-        @Column(columnName = "column")
+        @Column(name = "column")
         private String column;
 
-        @Column(columnName = "column1")
+        @Column(name = "column1")
         @SQLDatabase.QueryUnifiedIndex(withColumns = {"column2"})
         private String column1;
 
-        @Column(columnName = "column2")
+        @Column(name = "column2")
         @SQLDatabase.QueryUnifiedIndex(withColumns = {"column1"})
         @SQLDatabase.QueryUnifiedIndex(withColumns = {"column"})
         private String column2;
 
-        @Column(columnName = "column", storageOnly = true)
+        @Column(name = "column", storageOnly = true)
         private String column4;
 
         static class Builder implements StorageBuilder<StorageData> {
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndexController.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndexController.java
index 99f6dc6272..ee150027a3 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndexController.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndexController.java
@@ -18,14 +18,6 @@
 
 package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.oap.server.core.Const;
 import org.apache.skywalking.oap.server.core.analysis.FunctionCategory;
 import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
@@ -34,6 +26,15 @@ import org.apache.skywalking.oap.server.core.storage.model.Model;
 import org.apache.skywalking.oap.server.core.storage.model.ModelColumn;
 import org.apache.skywalking.oap.server.library.util.CollectionUtils;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
+import com.google.common.base.Strings;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * The metrics data, that generated by OAL or MAL, would be partitioned to storage by the functions of the OAL or MAL.
@@ -131,7 +132,7 @@ public enum IndexController {
 
         private static final Map<String/*physical index name*/, Map<String/*column name*/, ModelColumn>> PHYSICAL_INDICES_COLUMNS = new HashMap<>();
 
-        private static final Map<String/*logic index name*/, Map<String/*column name*/, String/*alias*/>> LOGIC_INDICES_COLUMNS_ALIAS = new HashMap<>();
+        private static final Map<String/*logic index name*/, Map<String/*column name*/, String/*alias*/>> LEGACY_COLUMNS_NAMES = new HashMap<>();
 
         /**
          * The metric table name in aggregation physical storage.
@@ -154,13 +155,6 @@ public enum IndexController {
             if (!IndexController.INSTANCE.logicSharding) {
                 model.getColumns().forEach(modelColumn -> {
                     String columnName = modelColumn.getColumnName().getName();
-                    String alias = modelColumn.getElasticSearchExtension().getColumnAlias();
-                    if (alias != null) {
-                        Map<String, String> aliasMap = LOGIC_INDICES_COLUMNS_ALIAS.computeIfAbsent(
-                            model.getName(), v -> new HashMap<>());
-                        aliasMap.put(modelColumn.getColumnName().getName(), alias);
-                        columnName = alias;
-                    }
                     if (columns.containsKey(columnName)) {
                         checkModelColumnConflicts(columns.get(columnName), modelColumn, physicalName);
                     } else {
@@ -170,6 +164,13 @@ public enum IndexController {
             } else {
                 model.getColumns().forEach(modelColumn -> {
                     String columnName = modelColumn.getColumnName().getName();
+                    String legacyName = modelColumn.getElasticSearchExtension().getLegacyColumnName();
+                    if (!Strings.isNullOrEmpty(legacyName)) {
+                        Map<String, String> legacyNames = LEGACY_COLUMNS_NAMES.computeIfAbsent(
+                            model.getName(), v -> new HashMap<>());
+                        legacyNames.put(modelColumn.getColumnName().getName(), legacyName);
+                        columnName = legacyName;
+                    }
                     if (columns.containsKey(columnName)) {
                         checkModelColumnConflicts(columns.get(columnName), modelColumn, physicalName);
                     } else {
@@ -195,16 +196,16 @@ public enum IndexController {
          */
         @Deprecated
         public static String getPhysicalColumnName(String modelName, String columnName) {
-            if (IndexController.INSTANCE.logicSharding) {
+            if (!IndexController.INSTANCE.logicSharding) {
                 return columnName;
             }
 
-            Map<String, String> aliasMap = LOGIC_INDICES_COLUMNS_ALIAS.get(modelName);
-            if (CollectionUtils.isEmpty(aliasMap)) {
+            Map<String, String> legacyNames = LEGACY_COLUMNS_NAMES.get(modelName);
+            if (CollectionUtils.isEmpty(legacyNames)) {
                 return columnName;
             }
 
-            return aliasMap.getOrDefault(columnName, columnName);
+            return legacyNames.getOrDefault(columnName, columnName);
         }
 
         /**
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java
index 515f1a3092..75b6df1dac 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsInstaller.java
@@ -18,16 +18,6 @@
 
 package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.google.gson.Gson;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.skywalking.library.elasticsearch.response.Index;
 import org.apache.skywalking.library.elasticsearch.response.IndexTemplate;
 import org.apache.skywalking.library.elasticsearch.response.Mappings;
@@ -43,6 +33,17 @@ import org.apache.skywalking.oap.server.library.module.ModuleManager;
 import org.apache.skywalking.oap.server.library.util.CollectionUtils;
 import org.apache.skywalking.oap.server.library.util.StringUtil;
 import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.StorageModuleElasticsearchConfig;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.google.common.base.Strings;
+import com.google.gson.Gson;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
 public class StorageEsInstaller extends ModelInstaller {
@@ -304,9 +305,9 @@ public class StorageEsInstaller extends ModelInstaller {
         for (ModelColumn columnDefine : model.getColumns()) {
             final String type = columnTypeEsMapping.transform(columnDefine.getType(), columnDefine.getGenericType(), columnDefine.getElasticSearchExtension());
             String columnName = columnDefine.getColumnName().getName();
-            String alias = columnDefine.getElasticSearchExtension().getColumnAlias();
-            if (!config.isLogicSharding() && alias != null) {
-                columnName = alias;
+            String legacyName = columnDefine.getElasticSearchExtension().getLegacyColumnName();
+            if (config.isLogicSharding() && !Strings.isNullOrEmpty(legacyName)) {
+                columnName = legacyName;
             }
             if (columnDefine.getElasticSearchExtension().needMatchQuery()) {
                 String matchCName = MatchCNameBuilder.INSTANCE.build(columnName);
diff --git a/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/test/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/ServiceCpmMetrics.java b/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/test/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/ServiceCpmMetrics.java
index 96277e5452..b958197fc7 100644
--- a/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/test/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/ServiceCpmMetrics.java
+++ b/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/test/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/ServiceCpmMetrics.java
@@ -45,7 +45,7 @@ public class ServiceCpmMetrics extends CPMMetrics {
     @Setter
     @Getter
     @Column(
-        columnName = "entity_id",
+        name = "entity_id",
         length = 512
     )
     private String entityId;