Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Apache Shardingsphere StandaloneMetaDataManagerPersistService Persist

From Leeroopedia
Revision as of 14:24, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Apache_Shardingsphere_StandaloneMetaDataManagerPersistService_Persist.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Knowledge Sources
Domains Mode_Management, Persistence, Standalone
Last Updated 2026-02-10 00:00 GMT

Overview

Standalone mode implementation of the metadata manager persistence service that coordinates all metadata operations locally.

Description

StandaloneMetaDataManagerPersistService implements MetaDataManagerPersistService for standalone (non-clustered) mode. It coordinates database creation/dropping, schema management, table/view metadata persistence, storage unit registration/alteration/unregistration, and rule configuration changes. Unlike the cluster implementation, all operations execute locally without distributed coordination, directly updating both the persistence layer and in-memory metadata context.

Usage

This service is loaded via SPI when ShardingSphere operates in standalone mode. It is the primary entry point for all metadata management persistence operations in non-clustered deployments.

Code Reference

Source Location

Signature

public final class StandaloneMetaDataManagerPersistService implements MetaDataManagerPersistService {

    private final MetaDataPersistFacade metaDataPersistFacade;
    private final MetaDataContextManager metaDataContextManager;

    // Database lifecycle
    void createDatabase(String databaseName);
    void dropDatabase(String databaseName);

    // Schema lifecycle
    void createSchema(String databaseName, String schemaName);
    void dropSchema(String databaseName, String schemaName);
    void renameSchemaMetaData(String databaseName, String fromSchemaName, String toSchemaName);

    // Table/View metadata
    void alterSchemaMetaData(AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO);

    // Storage units
    void registerStorageUnits(String databaseName, Map<String, DataSourcePoolProperties> toBeRegistered);
    void alterStorageUnits(String databaseName, Map<String, DataSourcePoolProperties> toBeAltered);
    void unregisterStorageUnits(String databaseName, Collection<String> toBeDropped);

    // Rule configuration
    void alterRuleConfiguration(String databaseName, RuleConfiguration toBeAlteredRuleConfig);
    void removeRuleConfigurationItem(String databaseName, RuleConfiguration toBeRemovedRuleConfig);
    void removeRuleConfiguration(String databaseName, String ruleType);
}

Import

import org.apache.shardingsphere.mode.manager.standalone.persist.service.StandaloneMetaDataManagerPersistService;

I/O Contract

Inputs

Name Type Required Description
databaseName String Yes Target database name
schemaName String Varies Target schema name
toBeRegistered Map<String, DataSourcePoolProperties> Varies Storage units to register
toBeAlteredRuleConfig RuleConfiguration Varies Rule configuration to alter

Outputs

Name Type Description
void Operations modify persistence and in-memory state as side effects

Usage Examples

// Standalone mode automatically loads this service via SPI
// Typically invoked through DistSQL or the ShardingSphere management API

// Create a new database
persistService.createDatabase("my_database");

// Register storage units
Map<String, DataSourcePoolProperties> storageUnits = new HashMap<>();
storageUnits.put("ds_0", new DataSourcePoolProperties("com.zaxxer.hikari.HikariDataSource", props));
persistService.registerStorageUnits("my_database", storageUnits);

// Alter rule configuration
persistService.alterRuleConfiguration("my_database", newShardingRuleConfig);

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment