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

MLFlow allow using other supported database backends as external database #25964

Closed
frittentheke opened this issue May 17, 2024 · 6 comments · Fixed by #25965
Closed

MLFlow allow using other supported database backends as external database #25964

frittentheke opened this issue May 17, 2024 · 6 comments · Fixed by #25965
Assignees

Comments

@frittentheke
Copy link
Contributor

Name and Version

bitnami/mlflow 1.0.6

What is the problem this feature will solve?

mlflow has support for different database types as backend stores (https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types). Currently the chart does not allow to configure those as the database dialect is statically set to postgresql.

What is the feature you are proposing to solve the problem?

I propose to add a variable to allow using the other supported database types as external database.

What alternatives have you considered?

No response

@github-actions github-actions bot added the triage Triage is needed label May 17, 2024
frittentheke added a commit to frittentheke/bitnami-charts that referenced this issue May 17, 2024
Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.

This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: bitnami#25964
frittentheke added a commit to frittentheke/bitnami-charts that referenced this issue May 17, 2024
…o be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: bitnami#25964
frittentheke added a commit to frittentheke/bitnami-charts that referenced this issue May 17, 2024
…o be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: bitnami#25964
frittentheke added a commit to frittentheke/bitnami-charts that referenced this issue May 17, 2024
… be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: bitnami#25964
Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
@frittentheke
Copy link
Contributor Author

@carrodher I understand that my PR #25965 only exposes the configuration options regarding the used database engine and that container image does also need additional python libraries to support those other database engines.

I was about to push another PR to also extend the container image (https://github.com/bitnami/containers/blob/main/bitnami/mlflow/2/debian-12/Dockerfile) with e.g.

pymssql
pymysql
pyodbc
...

like mlFlow does intend to do for their own container image (https://github.com/mlflow/mlflow/pull/11669/files).

But apparently the Python libraries are already part of the COMPONENTS and packaged into the tar.gz files fetched from Stacksmith (https://github.com/bitnami/containers/blob/913d85fcaf8b8e7a7a719a6a0bb5bd2aff179928/bitnami/mlflow/2/debian-12/Dockerfile#L32C8-L32C14)

Is there some sort of build script or requirements script that I can extend to have the required Python libraries added or is that something you would need to do?

@carrodher
Copy link
Member

Thank you for opening this issue and submitting the associated Pull Request. Our team will review and provide feedback. Once the PR is merged, the issue will automatically close.

Regarding the python version, yes, it is something handled internally by our automated test & release pipeline. If changing that version is required, feel free to comment it in the container's PR so the reviewer can test that change internally.

Your contribution is greatly appreciated!

@act-mreeves
Copy link

act-mreeves commented May 23, 2024

@frittentheke - we discuss this in #22992 though specifically that is requesting mysql access.

Edit: I am thinking possibly https://github.com/mlflow/mlflow/pull/11669/files is a result of my request in that issue.

frittentheke added a commit to frittentheke/bitnami-charts that referenced this issue May 29, 2024
… be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: bitnami#25964
Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
@frittentheke
Copy link
Contributor Author

Edit: I am thinking possibly https://github.com/mlflow/mlflow/pull/11669/files is a result of my request in that issue.

Maybe. But currently Bitnami is using their own image, thus the comment from @javsalgar (#22992 (comment)) about adding the required modules to their image to even support other DB engines / dialects.

fmulero pushed a commit that referenced this issue Jun 4, 2024
…o be configured (#25965)

* [bitnami/mlflow] feat: Allow database dialect of external database to be configured

Currently the database URI statically uses `postgresql` as dialect, even though
other types are supported by mlFlow.
This now allows to use the other supported database types as external database.

[1] https://mlflow.org/docs/latest/tracking/backend-stores.html?highlight=mssql#supported-store-types

Resolves: #25964
Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

---------

Signed-off-by: Christian Rohmann <christian.rohmann@inovex.de>
Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
Signed-off-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
@github-actions github-actions bot added the solved label Jun 4, 2024
@act-mreeves
Copy link

@frittentheke - So does that mean this won't work til this is merged: https://github.com/mlflow/mlflow/pull/11669/files ? Or perhaps it will work if you use your own custom mlflow image that has the necessary libraries installed?

@frittentheke
Copy link
Contributor Author

@frittentheke - So does that mean this won't work til this is merged: https://github.com/mlflow/mlflow/pull/11669/files ? Or perhaps it will work if you use your own custom mlflow image that has the necessary libraries installed?

Yes, custom images will certainly work. But since Bitnami build their own container (https://github.com/bitnami/containers/tree/main/bitnami/mlflow) it would be nice to have them come as standard.

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