model-registry icon indicating copy to clipboard operation
model-registry copied to clipboard

Support local deployment using SQLite database

Open dhirajsb opened this issue 7 months ago • 3 comments

Is your feature request related to a problem? Please describe. Model Registry should support local lightweight deployments without having the need to configure and deploy either an external database. Since SQLite is a lightweight and simple to create database, it's an ideal candidate for such self contained deployments. Supporting local deployment by simply running the model registry executable in a bare metal environment will allow users to experiment with Model Registry on their local machines. This is especially useful when using Model Registry to run local Experiments and Runs for various use cases like model training, model evaluations, RAG evaluation, etc.

Describe the solution you'd like Support starting model registry with a SQLite DB configuration pointing to local file system where the database file should reside, or default to the current directory. Model Registry service should startup and create the database or reload an existing SQLite database file.

Describe alternatives you've considered There are other lightweight databases like DuckDB, but SQLite seems to be the most popular among them. But, since MLMD also supports SQLite, it will be easier to use it's SQLite schema as a starting point for the embedmd store.

Additional context The ability to create local self contained model registry instances will allow users to test and use model registry APIs and features without needing to deploy it in a Kubernetes cluster.

dhirajsb avatar Jul 29 '25 23:07 dhirajsb

thank you @dhirajsb , I think this is a great and needed point, but there are 2 dimensions at play here.

one dimension is about adding SQLite support, in addition to (present) MySQL and (ongoing) PostgreSQL. adding SQLite as a third could help with local integration testing, local DX, and potentially with local deployment too. we also discussed some pro/cons with @kahowell and that should be also accounted for.

another dimension is local deployment. this proposal does not address the UI aspect, and does not clarify how to package and distribute the whole. I think when we speak of "local deployment" we should consider the user experience and we should first assess on how to leverage our container images, or any alternative mechanism that ships the whole (server, bff, UI).

tarilabs avatar Aug 01 '25 06:08 tarilabs

agree, can we split issue into two issues, one for the "SQLLite" and another for "local" experience?

rareddy avatar Aug 01 '25 13:08 rareddy

Linking https://github.com/kubeflow/model-registry/pull/1529 as this should add support to SQLite db

Al-Pragliola avatar Sep 22 '25 16:09 Al-Pragliola