@Override
    public Class[] services() {
        return new Class[] {
            StorageBuilderFactory.class,
            IBatchDAO.class,
            StorageDAO.class,
            IHistoryDeleteDAO.class,
            INetworkAddressAliasDAO.class,
            ITopologyQueryDAO.class,
            IMetricsQueryDAO.class,
            ITraceQueryDAO.class,
            IMetadataQueryDAO.class,
            IAggregationQueryDAO.class,
            IAlarmQueryDAO.class,
            IRecordsQueryDAO.class,
            ILogQueryDAO.class,
            IProfileTaskQueryDAO.class,
            IProfileTaskLogQueryDAO.class,
            IProfileThreadSnapshotQueryDAO.class,
            UITemplateManagementDAO.class,
            UIMenuManagementDAO.class,
            IBrowserLogQueryDAO.class,
            IEventQueryDAO.class,
            IEBPFProfilingTaskDAO.class,
            IEBPFProfilingScheduleDAO.class,
            IEBPFProfilingDataDAO.class,
            IContinuousProfilingPolicyDAO.class,
            IServiceLabelDAO.class,
            ITagAutoCompleteQueryDAO.class,
            IZipkinQueryDAO.class,
            ISpanAttachedEventQueryDAO.class,
            IHierarchyQueryDAO.class,
            IAsyncProfilerTaskQueryDAO.class,
            IAsyncProfilerTaskLogQueryDAO.class,
            IJFRDataQueryDAO.class,
            StorageTTLStatusQuery.class
        };
    }
StorageModule provides the capabilities(services) to interact with the database. With different databases, this
module could have different providers, such as currently, H2, MySQL, ES, TiDB.
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageModule.java