Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incubating Program: Modelized Data Interface (MDI) #418

Open
guoshengcc opened this issue Mar 9, 2021 · 0 comments
Open

Incubating Program: Modelized Data Interface (MDI) #418

guoshengcc opened this issue Mar 9, 2021 · 0 comments

Comments

@guoshengcc
Copy link

Project Incubating Request

Modelized Data Interface(Hereinafter referred to as, MDI)

Describe the project you want to incubate:

Summary

We note that there is no dedicated data service tool in the TiDB ecosystem, i.e., it is easy to obtain high-performance APIs for data manipulation (or access) through existing databases in order to achieve the goal of simplifying (or replacing) the back-end development work without repeating the inefficient work of developing interfaces for third-party systems.

Motivation

This project mainly addresses the following issues.

  • Centralized data management. TiDB is naturally suitable for storing large amount of data and becoming a data center, then the management of these data is required to have special tools. the functions currently designed by MDI include the management of data models and their versions, the management of model relationships, and the management of data access rights.
  • Flexible data query. Most of the Automatic API generation Tool on the market currently generates traditional APIs like restful, which is less flexible and less available. Then MDI also supports custom queries like GraphQL and OData to improve the flexibility of system queries and the availability of APIs, and really reduce the back-end development workload. In addition, in order to support more complex queries, you can consider SQL wrapping function to wrap a segment SQL query into an API.
  • Flexible data processing. Combined crosstalk function of APIs. Encapsulate a simple business logic and become a restful API by arranging add, delete, and check APIs with some transactional.
  • Alternatives to triggers. TiDB currently does not support triggers, and the implementation of related functions requires users to operate at the business level, which is tedious. MDI can provide a unified URL callback function to achieve a trigger-like effect.

Estimated Time

6 Months

Your RFC/Proposal?

A POC version has been implemented internally in our company. It already has features related to automatic generation of restful API and GraphQL, OData API, other features mentioned above are yet to be improved. In addition, the code specification, unit testing are to be improved. We are now ready to open source this project, with the power of the community to give it more life.Here is the open source code for this project:https://github.com/DigitalChinaOpenSource/MDI-kernel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant