community icon indicating copy to clipboard operation
community copied to clipboard

Incubating Project: TiDB SQL audit tool Tispector

Open AllinChen opened this issue 3 years ago • 3 comments

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)

AllinChen avatar Jan 24 '22 08:01 AllinChen

LGTM

winkyao avatar Feb 07 '22 07:02 winkyao

LGTM

sunxiaoguang avatar Feb 25 '22 13:02 sunxiaoguang

@AllinChen Repo: https://github.com/tidb-incubator/tispector have been created, already invited you to be the admin of this project. Please accept the invitation https://github.com/tidb-incubator/tispector/invitations

winkyao avatar Feb 28 '22 03:02 winkyao