pingcap / pingcap/community

Incubating Project: TiDB SQL audit tool Tispector

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

Nobody has claimed this yet.

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

Description

Project Incubating Request

TiDB SQL audit tool Tispector
Summary

As TiDB's SQL auditing tool, Tispector uses TiDB Parser to construct syntax trees for SQL statements. Rules in Tispector trigger corresponding rules by grabbing feature points in the syntax tree. Tispector implements user-defined rules by modifying the variable thresholds of some rules and persists different rule templates through the database. It solves the shortcomings of TiDB in SQL auditing, so that users can use the TiDB database more conveniently and safely.

Motivation

This proposal mainly solves the problem that there is no SQL auditing tool that can well adapt to some functional features of TiDB and some SQL syntax requirements.

Issues to be resolved
  • Some SQL rules need to optimize the implementation logic
  • Part of the code needs to be refactored for better performance and experience
Functionality that needs to be improved in the future
  • Enrich the rules , especially more rules for the distributed characteristics of TiDB

  • Distinguish online auditing and offline auditing to apply to different application scenarios

  • Improve the workflow and front-end interface of SQL auditing

  • Add SQL optimization suggestions

  • Interpret the EXPLAIN results

  • Add index optimization suggestions

Estimated Time

9 months

Initial Team Members

魏巍(Vincent-0329)

陈伟(AllinChen)

王一丹(DianaaaaAAA)

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

The proposal names no source files, tests, or entry points. Start by reviewing the Tispector summary, unresolved SQL-rule and refactoring goals, and listed future functionality. A concrete scope and acceptance criteria would be needed before defining what done means.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
databases, distributed-systems
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.