community
community copied to clipboard
Incubating Project: TiDB SQL audit tool Tispector
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)
LGTM
LGTM
@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