Skip to content

Incubating Project: TiDB SQL audit tool Tispector #632

@AllinChen

Description

@AllinChen

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions