System Management
Polypheny puts the concept of polyglot persistence on a new level by allowing not only querying and manipulating data using different languages but also managing the system. This page gives an overview on available commands for managing the system using special DDL statements.
- Altering config values
- Adding adapters
- Dropping adapters
- Adding query interfaces
- Dropping query interfaces
Altering config values
It is possible to change the value of configuration settings using the following PolySQL statement:ALTER CONFIG key SET value
The key
refers to the name of the configuration to be changed. The following example shows how to disable the query implementation caching:ALTER CONFIG 'runtime/implementationCaching' SET false
Adding adapters
Adapters (Data Sources and Data Stores) can be deployed using the following PolySQL statement:ALTER ADAPTERS ADD uniqueName USING adapterClass WITH config
The uniqueName
is the identifier to be used for the data store or data source and must be unique. adapterClass
needs to be a string containing the qualified class name of the adapter implementation to be used. The values for the available parameters of the adapter are specified by config
as a JSON string containing key-value pairs.
The following example shows a statement for deploying a CSV source adapter:ALTER ADAPTERS ADD foo USING 'org.polypheny.db.adapter.csv.CsvSource' WITH '{directory:"csvFolder",maxStringLength:"255"}'
Dropping adapters
Adapters (Data Sources and Data Stores) can be removed using the following PolySQL statement:ALTER ADAPTERS DROP uniqueName
uniqueName
refers to the identifier of the data store or data source to be removed.
Adding query interfaces
It is possible to add query interfaces using the following PolySQL statement:ALTER INTERFACES ADD uniqueName USING clazzName WITH config
The uniqueName
is the identifier to be used for the query interface and needs to be unique. clazzName
specifies the qualified class name of the query interface implementation to be deployed. The config
is a JSON string containing key-value pairs for the parameters of the query interface.
The following example shows a statement for deploying a REST query interface:ALTER INTERFACES ADD foo USING 'org.polypheny.db.restapi.HttpRestServer' WITH '{port:"8089",maxUploadSizeMb:"10000"}'
Dropping query interfaces
Query interfaces can be removed using the following PolySQL statement:ALTER INTERFACES DROP uniqueName
uniqueName
refers to the identifier of the query interface to be removed.