Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incubating program:ServerlessDB for HTAP #483

Open
xuegang opened this issue Jul 1, 2021 · 4 comments
Open

incubating program:ServerlessDB for HTAP #483

xuegang opened this issue Jul 1, 2021 · 4 comments

Comments

@xuegang
Copy link

xuegang commented Jul 1, 2021

Describe the feature or project you want to incubate:
Summary

we want to provide serverless db services based on TIDB on
the cloud, focusing on how to dynamically scale up and down the compute storage nodes
based on business load changes to achieve zero user perception. To ensure that the
database service process, always maintain the best match between business load and
background resources, thus helping users to maximize cost saving

Motivation

While TIDB offers cloud services, there are a number of issues.

  1. When users order, they need to select the compute node and storage node
    specifications, and it is difficult for them to choose the right specifications, either by
    choosing smaller or larger ones, or the business load simply cannot be evaluated,
    resulting in users never being able to choose the right specifications.
  2. After the business load rises, you need to manually determine when to expand capacity,
    what resources to expand, and how much to expand. In practice, it is difficult to
    respond to the scenario of extremely rapid load changes in a timely manner, thus
    causing business performance fluctuations.
  3. After the business load drops, you need to manually judge when to shrink the capacity,
    what resources to shrink, and how much to shrink. If the user makes a wrong judgment,
    it will cause business performance fluctuations.
  4. If the business load changes very frequently, the manual implementation of expansion
    and shrinkage work is very burdensome. If the system is not expanded, the business
    performance will be degraded, and if the system is not scaled down, the resources will
    be wasted.
  5. It is difficult to achieve zero user awareness when scaling up or down. In case of
    connection pooling or long connections, it is even more impossible to do both of the
    following:
    When scaling, if the client is using connection pools or long connections, it is not
    possible to break up the load to the additional compute nodes.
    When scaling down, if the client is using a connection pool or a long connection,
    there is no guarantee of zero user awareness because you kill the compute node
    and if there is a connection on it, the client reports an exception.

Estimated Time
180 days

@sykp241095
Copy link
Member

sykp241095 commented Jul 1, 2021

LGTM non-binding

@winkyao
Copy link
Contributor

winkyao commented Jul 1, 2021

LGTM

@ti-chi-bot
Copy link
Member

@winkyao: Please use GitHub review feature instead of /lgtm [cancel] when you want to submit review to the pull request.
For how to use GitHub review feature, see also this document provided by GitHub.

For the reason we drop support to the commands, see also this page.
This reply is being used as a temporary reply during the migration of review process and will be removed on July 1st.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.

@xuegang xuegang changed the title ServerlessDB for HTAP incubating program Jul 1, 2021
@pingcap pingcap deleted a comment from ti-chi-bot Jul 1, 2021
@xuegang xuegang changed the title incubating program incubating program:ServerlessDB for HTAP Jul 1, 2021
@sunxiaoguang
Copy link
Contributor

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants