finspace / Client / update_kx_cluster_databases

update_kx_cluster_databases#

finspace.Client.update_kx_cluster_databases(**kwargs)#

Updates the databases mounted on a kdb cluster, which includes the changesetId and all the dbPaths to be cached. This API does not allow you to change a database name or add a database if you created a cluster without one.

Using this API you can point a cluster to a different changeset and modify a list of partitions being cached.

See also: AWS API Documentation

Request Syntax

response = client.update_kx_cluster_databases(
    environmentId='string',
    clusterName='string',
    clientToken='string',
    databases=[
        {
            'databaseName': 'string',
            'cacheConfigurations': [
                {
                    'cacheType': 'string',
                    'dbPaths': [
                        'string',
                    ],
                    'dataviewName': 'string'
                },
            ],
            'changesetId': 'string',
            'dataviewName': 'string',
            'dataviewConfiguration': {
                'dataviewName': 'string',
                'dataviewVersionId': 'string',
                'changesetId': 'string',
                'segmentConfigurations': [
                    {
                        'dbPaths': [
                            'string',
                        ],
                        'volumeName': 'string',
                        'onDemand': True|False
                    },
                ]
            }
        },
    ],
    deploymentConfiguration={
        'deploymentStrategy': 'NO_RESTART'|'ROLLING'
    }
)
Parameters:
  • environmentId (string) –

    [REQUIRED]

    The unique identifier of a kdb environment.

  • clusterName (string) –

    [REQUIRED]

    A unique name for the cluster that you want to modify.

  • clientToken (string) –

    A token that ensures idempotency. This token expires in 10 minutes.

    This field is autopopulated if not provided.

  • databases (list) –

    [REQUIRED]

    The structure of databases mounted on the cluster.

    • (dict) –

      The configuration of data that is available for querying from this database.

      • databaseName (string) – [REQUIRED]

        The name of the kdb database. When this parameter is specified in the structure, S3 with the whole database is included by default.

      • cacheConfigurations (list) –

        Configuration details for the disk cache used to increase performance reading from a kdb database mounted to the cluster.

        • (dict) –

          The structure of database cache configuration that is used for mapping database paths to cache types in clusters.

          • cacheType (string) – [REQUIRED]

            The type of disk cache. This parameter is used to map the database path to cache storage. The valid values are:

            • CACHE_1000 – This type provides at least 1000 MB/s disk access throughput.

          • dbPaths (list) – [REQUIRED]

            Specifies the portions of database that will be loaded into the cache for access.

            • (string) –

          • dataviewName (string) –

            The name of the dataview to be used for caching historical data on disk.

      • changesetId (string) –

        A unique identifier of the changeset that is associated with the cluster.

      • dataviewName (string) –

        The name of the dataview to be used for caching historical data on disk.

      • dataviewConfiguration (dict) –

        The configuration of the dataview to be used with specified cluster.

        • dataviewName (string) –

          The unique identifier of the dataview.

        • dataviewVersionId (string) –

          The version of the dataview corresponding to a given changeset.

        • changesetId (string) –

          A unique identifier for the changeset.

        • segmentConfigurations (list) –

          The db path and volume configuration for the segmented database.

          • (dict) –

            The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

            • dbPaths (list) – [REQUIRED]

              The database path of the data that you want to place on each selected volume for the segment. Each segment must have a unique database path for each volume.

              • (string) –

            • volumeName (string) – [REQUIRED]

              The name of the volume where you want to add data.

            • onDemand (boolean) –

              Enables on-demand caching on the selected database path when a particular file or a column of the database is accessed. When on demand caching is True, dataviews perform minimal loading of files on the filesystem as needed. When it is set to False, everything is cached. The default value is False.

  • deploymentConfiguration (dict) –

    The configuration that allows you to choose how you want to update the databases on a cluster.

    • deploymentStrategy (string) – [REQUIRED]

      The type of deployment that you want on a cluster.

      • ROLLING – This options updates the cluster by stopping the exiting q process and starting a new q process with updated configuration.

      • NO_RESTART – This option updates the cluster without stopping the running q process. It is only available for HDB type cluster. This option is quicker as it reduces the turn around time to update configuration on a cluster. With this deployment mode, you cannot update the initializationScript and commandLineArguments parameters.

Return type:

dict

Returns:

Response Syntax

{}

Response Structure

  • (dict) –

Exceptions

  • finspace.Client.exceptions.InternalServerException

  • finspace.Client.exceptions.ThrottlingException

  • finspace.Client.exceptions.AccessDeniedException

  • finspace.Client.exceptions.LimitExceededException

  • finspace.Client.exceptions.ValidationException

  • finspace.Client.exceptions.ConflictException

  • finspace.Client.exceptions.ResourceNotFoundException