{question}
What is the structure of Tools?
How does it differ from MemSQL Ops?
Should it be set up the same as the older SingleStore management tools MemSQL Ops?
{question}
{answer}
SingleStore Toolbox is the latest (and recommended) set of management tools to use for interfacing with and managing your SingleStore cluster. SingleStore Toolbox is, put simply, a toolset that establishes a secure connection to the hosts registered within Toolbox which you utilize for your cluster. From there you can deploy the SingleStore server and manage your cluster by sending commands to `memsqlctl` on the hosts within. Toolbox is made up of several individual "tools":
- sdb-toolbox-config: This tool allows you to configure Toolbox so it has information about the hosts you will be utilizing in your cluster.
- sdb-deploy: This tool is used for deploying the SingleStore binaries to the hosts, and also keeping them updated to the latest version.
- sdb-admin: The primary tool within the SingleStore Toolbox to manage your cluster. Once you've deployed SingleStore you will use this tool to create or register nodes, change cluster settings, and perform most operations that Toolbox can against your cluster.
- sdb-report: Used for taking cluster reports (and also viewing them locally) of your Toolbox configured cluster. Cluster reports are important for finding configuration issues, or other possible problems within your cluster or environment.
How does this differ from MemSQL (SingleStore) Ops?
MemSQL Ops, the older set of management Tools, was built with a different philosophy in mind. MemSQL Ops (which is now deprecated) was more "hands-on" with the cluster that it would manage. Here's a quick overview of some of the ways that Ops and Tools differ:
- Hands-on vs Hands-off: MemSQL Ops would restart node processes in certain events, monitor the cluster, and actively make changes based upon certain scenarios. Toolbox leaves the SingleStore processes, and the admin, to manage the state of the cluster without interfering or taking direct action itself. A cluster in which the host with Toolbox goes offline but all of the node hosts are online will still function normally.
- State vs 'stateless': MemSQL Ops kept information about the nodes and the topology of the cluster within its internal metadata. In the past, this could lead to issues where the information Ops had about the state of the cluster was out of sync with the true state as reported from the cluster itself. Toolbox, on the other hand, receives a bulk of its information about the state of the cluster from the `memsqlctl` processes running on the hosts within the cluster. Toolbox does retain information about the hosts involved in the cluster to properly interface with them, but all cluster-based information is gathered from the cluster to better ensure accuracy.
- Single host v. Multiple hosts: A MemSQL Ops deployment would require Ops to be installed as an "agent" on all of the hosts where nodes would reside. Because Toolbox is more "hands-off" it only needs to be installed wherever you want to utilize its management features.
- Using the right tool for the job: Every command in Ops starts with `memsql-ops` whereas Toolbox separates various jobs depending on their nature (as explained above).
An overview of the architecture differences between MemSQL Ops and Tools is below:
{answer}