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?