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

feat: external DB support #1397

Closed
tjbck opened this issue Apr 2, 2024 · 7 comments
Closed

feat: external DB support #1397

tjbck opened this issue Apr 2, 2024 · 7 comments
Labels
core core feature enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@tjbck
Copy link
Contributor

tjbck commented Apr 2, 2024

No description provided.

@tjbck tjbck added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed core core feature labels Apr 2, 2024
@Lanhild
Copy link
Contributor

Lanhild commented Apr 8, 2024

PostgreSQL would be a good candidate IMO

@lainedfles
Copy link
Contributor

PostgreSQL would be a good candidate IMO

I agree but I think the best consideration is to support ORM, something like SQLAlchemy ORM. As long as we adhere to Object Relational Mapper compatible statements, many major databases could be supported! SQLAlchemy presently supports a variety of dialects including PostgreSQL, MySQL and MariaDB, SQLite, Oracle, and Microsoft SQL Server.

@justinh-rahb
Copy link
Collaborator

@lainedfles I am in full agreement that we need a more flexible solution to data storage, but I get real nervous about ORMs, heard too many horror stories of absolutely unhinged monstrosities of queries full of JOINS being emitted by them. They can make writing the code easier, but it's usually at the cost of efficiency.

@buroa
Copy link
Contributor

buroa commented Apr 11, 2024

Postgres would be the best use case here.

@TheBongStack
Copy link

Any update on this one? Where is the data being handled to be stored in database? at /rag/utils.py ?

@sfn-git
Copy link

sfn-git commented Apr 14, 2024

Any update on this one? Where is the data being handled to be stored in database? at /rag/utils.py ?

Not sure whether you are talking about storing the information relating to connecting to the database but I do not believe this path has any relation to that.

I am currently looking at creating relational diagram based off of the models located at backend\apps\web\models. I also believe SQLAlchemy ORM is the best option to implement this from a relational database perspective.

Would there also be considerations for something like Mongo in the future?

@Lanhild
Copy link
Contributor

Lanhild commented Apr 15, 2024

Would there also be considerations for something like Mongo in the future?
@sfn-git

IMO, MongoDB isn't appropriate for the practical use case here as Open WebUI database is well defined and structured

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core core feature enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants