Skip to main content

SingleStoreDB 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 SingleStoreDBclusters.

  • 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"