pingcap / pingcap/community

Incubating Project: DB Proxy/Mesh for TiDB

Open
#287 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status/LGT1 status/LGT2
Dominant language
No language data
Stars
267
Forks
154
PR merge metrics
No merged PRs in 30d

Description

Project Incubating Request

A Proxy/Mesh for TiDB that can replace Layer 4 load balancing such as SLB+Haproxy. It works in Proxy or Mesh(like Envoy) mode but can understand sql semantics, we call it weir.

Describe the project you want to incubate:
Summary

TiDB is adopted by PalFish(伴鱼) since 2016 and is the most important OLTP/OLAP database in our company. We use SLB+Haproxy as the Layer 4 load balancing before, but we want more features in L4 Proxy to keep tidb safe.

Motivation

This proposal will offer features as follows:

  • Auto-Detect Rate limiting、Circuit breaker.
  • Multi-tenancy.
  • Service discovery with smart client.
  • Connection pool.
  • Database Mesh for TiDB.
  • Web Application Firewall (WAF) for sql.
  • More metrics, such as tenant-dashboard which have hot/slow sql fingerprint.
  • Route across multi data centers.
  • SQL audit、slow sql statistics、session statistics、shadow database for benchmark and so on.
Estimated Time

6 months

Initial Team Members

徐成选(cx3ptr)
曹东瑜(eastfisher)

Your RFC/Proposal?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposal body and its listed goals for the TiDB proxy/mesh project. No implementation files, tests, entry points, or RFC are provided, so the scope and completion criteria would need to be established before work can begin.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
databases, distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.