SingleStore Studio Architecture

Important

Studio is designed to work with MemSQL 6.5 or later and is only supported on Chrome and Firefox browsers at this time.

    Studio has a one-to-many relationship with clusters, which provides a number of advantages:

  • Easy upgrades: Studio can be upgraded in minutes, making it easy to stay up to date with the latest features.

  • Multi-cluster management in one UI: A single instance of Studio can communicate with all of your SingleStore clusters.

  • Easily scalable: As multiple Studio instances can communicate with an individual cluster, you can easily scale out Studio by creating new instances to manage user load.

Directory Layout

RPM and Debian Package Installation

A package-based Studio installation follows the Linux Standard Base (LSB) layout and creates the following directories and files when installed.

/
   etc/
       singlestore/
           singlestoredb-studio.hcl
   var/
       lib/
           singlestoredb-studio/
               studio.hcl
               studio.log
   usr/
       bin/
           singlestoredb-studio

Configuration File

The Studio configuration file is a text file that is responsible for configuring various aspects of Studio. It is read each time that Studio is started and is located in:

/etc/singlestore/singlestoredb-studio.hcl

The following is an example configuration file.

# This is the IP address that Studio will bind to.
host = "0.0.0.0"

# This is the port that Studio will bind to.
port = 8080

# This is the default path to the Studio state file.
statePath = "/var/lib/singlestoredb-studio/studio.hcl"

# This is the default path to the Studio log file.
logPath = "/var/lib/singlestoredb-studio/studio.log"

Note that the location of both the Studio state file and log file can be specified in the singlestoredb-studio.hcl configuration file.

State File

The Studio state file is a text file that is used to store the list of clusters known to Studio and is located in:

/var/lib/singlestoredb-studio/studio.hcl

The following is an example state file.

version = 1

cluster "2d76801f-4b4a-4679-82b9-12d0b3cda30a" {
  name        = "my cluster"
  description = "data science cluster"
  hostname    = "85.88.53.151"
  port        = 3306
  profile     = "DEVELOPMENT"
}

Log File

To write the Studio log file to a directory other than the default, the value of the logPath variable can be defined in the singlestoredb-studio.hcl configuration file. For example:

logPath = "/var/log/singlestoredb-studio/studio.log"

Tarball Installation

A tarball-based Studio installation creates the following directories and files when the tarball file is extracted.

/path/to/singlestoredb-studio-{VERSION}/
    singlestoredb-studio.hcl
    singlestoredb-studio

Configuration File

The Studio configuration file is a text file that is responsible for configuring various aspects of Studio. It is read each time that Studio is started and is located in:

/path/to/singlestoredb-studio-{VERSION}/singlestoredb-studio.hcl

The following is an example configuration file.

# This is the IP address that Studio will bind to.
host = "0.0.0.0"

# This is the port that Studio will bind to.
port = 8080

# This is the default path to the Studio state file.
statePath = "/path/to/singlestoredb-studio-{VERSION}/state/studio.hcl"

# This is the user-defined path to the Studio log file.
logPath = "/path/to/singlestoredb-studio-{VERSION}/log/studio.log"

Note that the location of both the Studio state file and log file can be specified in the singlestoredb-studio.hcl configuration file.

State File

The Studio state file is a text file that is used to store the list of clusters known to Studio. Unlike package-based installations, a Studio state file is not included in the tarball file. After extracting the tarball file, an empty studio.hcl file must be created manually. SingleStore recommends creating this file in a subdirectory where the Studio tarball file is extracted. For example:

/path/to/singlestoredb-studio-{VERSION}/state/studio.hcl. 

The singlestoredb-studio.hcl configuration file must then be updated with the path to the state file by adding the statePath variable and an associated value. For example:

statePath = "/path/to/singlestoredb-studio-{VERSION}/state/studio.hcl"

The following is an example state file.

version = 1

cluster "2d76801f-4b4a-4679-82b9-12d0b3cda30a" {
  name        = "my cluster"
  description = "data science cluster"
  hostname    = "85.88.53.151"
  port        = 3306
  profile     = "DEVELOPMENT"
}

Log File

Unlike package-based installations, a Studio log file is not included in the tarball file. After extracting the tarball file, an empty log file must be created manually. SingleStore recommends creating this file in a subdirectory where the Studio tarball file is extracted. For example:

/path/to/singlestoredb-studio-{VERSION}/log/studio.log

The singlestoredb-studio.hcl configuration file must then be updated with the path to the log file by adding the logPath variable and an associated value. For example:

logPath = "/path/to/singlestoredb-studio-{VERSION}/log/studio.log"

Last modified: April 23, 2024

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK