Eliminating hard dependencies #6591
Replies: 2 comments 12 replies
-
Your idea of restructuring Redash into a monorepo architecture, where each data source and the frontend are modularized and potentially encapsulated in their own Docker containers, is quite innovative and could address several challenges in the current setup. Here are some thoughts and considerations on your approach: Advantages of Monorepo and Containerization
Challenges and Considerations
Implementation Steps
Your idea aligns well with modern software development practices emphasizing modularity, scalability, and maintainability. It's ambitious and would likely require considerable effort and community involvement, but it could significantly enhance Redash's architecture and usability. |
Beta Was this translation helpful? Give feedback.
-
Wouldn't it make more sense to have the Redash server (backend Python, frontend JS) be in the same repo, but have the data sources moved out? eg into their own repos If the data sources are in the same monorepo as the rest of Redash, that doesn't seem like it will reduce the dependencies? |
Beta Was this translation helpful? Give feedback.
-
As @justinclift mentions here, I think we need to move datasource / query_runner away from redash itself to resolve hard dependencies.
pyproject.toml has a group called all_ds. However, it is unlikely that you will use all Datasources in a production environment. There are also DBs like Trino that can connect and join multiple DBs. Therefore, with Redash, I think it is best to first focus on the relationship between one Redash and one Datasource.
My idea is as follows (very rough, because I'm not an expert on Python projects.)
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions