Skip to content
This repository was archived by the owner on Oct 29, 2023. It is now read-only.
This repository was archived by the owner on Oct 29, 2023. It is now read-only.

Add TiDB single sandbox support #54

@morgo

Description

@morgo

Is your feature request related to a problem? Please describe.

I would like to propose single sandbox support for TiDB, to allow developers to easily test compatibility without having to install a full distributed system (tidb+tikv+pd).

Describe the solution you'd like

TiDB can run with something called mocktikv (goleveldb) instead of tikv, which means that only one server component needs to be setup. In my own testing it is 5x slower than tikv, but the advantage is that you only need a tidb-server setup, and no pd or tikv.

The memory footprint is smaller than MySQL, so it's possible some might even prefer it for development.

Describe alternatives you've considered

I've looked at alternatives installation methods like Homebrew etc, but they do not solve the use case of having multiple versions installed concurrently. The TiDB release schedule is every 6 months, so dbdeployer is really useful in providing a system of organizing binaries for TiDB developers.

Additional context

I have looked at the initial work, and much of it can be implemented by sandbox templates and some core changes that @datacharmer already has planned (discussed at FOSDEM). Let me try and comment in terms of each:

Core

Templates

I will send a pull request after some discussion, but my initial testing shows that the major template changes are:

TBD:
I think that these two templates can be kept vanila assuming support for --client-from is added:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions