-
Notifications
You must be signed in to change notification settings - Fork 968
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
Feature Proposal: Support MySQL as metadata store in Databuilder #760
Comments
will take a look next week. |
also we should create a rfc in https://github.com/amundsen-io/rfcs . And it would be good to be more explicit about how to map the graph model to ORM model . In terms of databuilder, @AndrewCiambrone has a proposal( amundsen-io/rfcs#5) to make the entity more generic. |
here are a few additional thoughts: |
@feng-tao Thanks for your reply. Yes, Graph DB has some advantages on metadata store and it is good to know the work of @AndrewCiambrone, which will bring more generic graph db models. For the ORM model, we will probably have to make a trade-off between the normalized and denormalized models for metadata store due to some concerns, like performance, consistency issues. Also, the model will need support schema upgrade to handle possible metadata structure change. I am trying to figure out how to map graph DB model to ORM model, probably with the incoming abstraction layer for an explicit plan. |
Signed-off-by: Marcos Iglesias Valle <golodhros@gmail.com>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Signed-off-by: Marcos Iglesias Valle <golodhros@gmail.com>
Signed-off-by: Marcos Iglesias Valle <golodhros@gmail.com>
Signed-off-by: Marcos Iglesias Valle <golodhros@gmail.com>
My workplace is going to use Amundsen with MySQL as metadata store but currently, Amundsen only supports Graph DB as the backend metadata store. We plan to do the dev work to integrate Amundsen with MySQL. There would be some work to do in databuilder and metaservice and I created this issue for any possible work needed to do in databuilder.
Expected Behavior or Use Case
The workflow would be similar to the existing one and backend store would have relational DB options, like MySQL
Service or Ingestion ETL
Data loader, publisher and models in Databuilder
Possible Implementation
Currently, Amundsen does not support any relational DB as backend store, so we have to support ORM first with 'SQLAlchemy' for relational DBs. Considering the possible metadata schema change, we have to add a feature to support DB version management with 'alembic'.
We may need new models that work with ORM and probably different fields from the existing model. I would also like to know if it is possible to update all current models to let them work with both graph and relational DBs? I assume we still use current ETL logic for the metadata to be pushed to MySQL, so for the model used for mysql, is it good to develop new iterator working for each row instead of 'node' and 'relationship' in model?
Add data loader that work for MySQL
Add MySQL publisher
All the above is possible implementation looking forward a better solution. If I missed anything or the proposal is not proper, please advise. Thanks.
Example Screenshots (if appropriate):
Context
We are not sure if there is a plan to support relation DB from Amundsen side and in order to use Amundsen and MySQL as the metadata engine in my workplace, we plan to do the dev work to support MySQL as backend store.
The text was updated successfully, but these errors were encountered: