-
Notifications
You must be signed in to change notification settings - Fork 409
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
Breakdown the "dbms/src/Storages/Transaction" module #4646
Comments
Hi, can you assign this issue to me, I want to try it @JaySon-Huang |
/assign @hzh0425 Yes. And suggest beginning with a PR that does a part of the changes, cause it will change lots of files. |
Ok, thanks, I will try it |
@hzh0425 |
Hi, I think I can help with this refactor. I am a user of tidb, sync data to another database with ticdc is slow which costs 1s at least, so I came up with an idea to change tiflash source code and impliment our own data storage. Will this refactor support 5.4.0? We are using version 5.4.0 in production. |
Hi @mischaZhang, it would be great if you could help with this refactor!
Sorry that we only pick bug fixes to the later patch version of 5.4.x, so this refactor won't be backported to release-5.4 on our repo. |
I may be help with this refactor on September, please assign me some not so complicated tasks to begin with. And I really would like to hear your thoughts on my "use tiflash as data sync" idea, thank you for replying :D |
Maybe you can describe more about the design of how do you reuse the TiFlash code for syncing data to another database? Based on my knowledge, handling the table schema change in TiFlash is not as easy as using TiCDC |
I watched the DDL introducion live, good news is that we don't really change schemas in months. I want to capture row change events, these data are captured in |
/assign @mischaZhang |
It is not fully finished |
Enhancement
The codes under "dbms/src/Storages/Transaction" are some codes we adapt TiFlash with TiDB. After years of development, it become kind of crowded and confusing.
Suggest breakdown "dbms/src/Storages/Transaction” into these modules:
dbms/src/TiDB
as the module for basic components from TiDB. Anddbms/src/TiDB
dbms/src/TiDB
moduledbms/src/TiDB/Codec
and move the logic of decoding data from row to column theredbms/src/TiDB/Schema
and move schema syncing logic theredbms/src/Transaction
todbms/src/KVStore
. And maybe we should further break down the codes for different Raft processes under this module.dbms/src/Transaction
todbms/src/KVStore
Refactor kvstore #8073KVStore
. Refactor kvstore #8073The text was updated successfully, but these errors were encountered: