cancel
Showing results forย 
Search instead forย 
Did you mean:ย 
Administration & Architecture
Explore discussions on Databricks administration, deployment strategies, and architectural best practices. Connect with administrators and architects to optimize your Databricks environment for performance, scalability, and security.
cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Streamlit alternative

lion_king_84
New Contributor III

Hi all,

I have a simple app that contains an editable grid and displays some graphs. The Streamlit app is slow, and end users need a faster solution. We are using sql warehouse (serverless)

The app will show data of the existing delta tables and user will edit the data into a grid. We also need to plot some charts

What would be a good alternative for building an app on Databricks?

1 ACCEPTED SOLUTION

Accepted Solutions

mccuistion
Databricks Employee
Databricks Employee
I have had good results using Dash for apps that need charts and interactive UIs. Itโ€™s a solid option if youโ€™re moving beyond Streamlit.
Why Dash works well for your use case:
  • Charts: Plotly (built into Dash) gives you interactive charts and good performance.
  • Editable grids: You can use dash-ag-grid or similar components for editable tables that feel responsive.
  • Databricks Apps: Dash runs well on Databricks Apps; you can deploy it as an ASGI app (e.g. with uvicorn) and connect to your SQL warehouse or Delta tables.
Example from an app I built last week:
I built a Skills app with Dash that includes editable profile fields, skill toggles, and interactive UI. Itโ€™s deployed on Databricks Apps and uses Lakebase Postgres plus Delta tables. The structure is similar to what youโ€™re describing: editable data and interactive components.
Here are a few ways you could improve the performance of your app:
  • Cluster size: As others mentioned, increasing cluster size can help, especially for heavier queries.
  • Query optimization: Use SQL warehouse connection pooling and avoid re-running large queries on every interaction. Cache results where possible.
  • Lazy loading: Load data only when needed (e.g. when a tab or section is opened) instead of loading everything up front.
If youโ€™d like, I can share more about how the Skills app is structured or how we handle Delta table access from Dash.

View solution in original post

2 REPLIES 2

Ale_Armillotta
Contributor III

Well for me streamlit is a good framework to build simple app and to prototype them. In my opinion a good framework can be dash.

did you try to increase the cluster size? 

mccuistion
Databricks Employee
Databricks Employee
I have had good results using Dash for apps that need charts and interactive UIs. Itโ€™s a solid option if youโ€™re moving beyond Streamlit.
Why Dash works well for your use case:
  • Charts: Plotly (built into Dash) gives you interactive charts and good performance.
  • Editable grids: You can use dash-ag-grid or similar components for editable tables that feel responsive.
  • Databricks Apps: Dash runs well on Databricks Apps; you can deploy it as an ASGI app (e.g. with uvicorn) and connect to your SQL warehouse or Delta tables.
Example from an app I built last week:
I built a Skills app with Dash that includes editable profile fields, skill toggles, and interactive UI. Itโ€™s deployed on Databricks Apps and uses Lakebase Postgres plus Delta tables. The structure is similar to what youโ€™re describing: editable data and interactive components.
Here are a few ways you could improve the performance of your app:
  • Cluster size: As others mentioned, increasing cluster size can help, especially for heavier queries.
  • Query optimization: Use SQL warehouse connection pooling and avoid re-running large queries on every interaction. Cache results where possible.
  • Lazy loading: Load data only when needed (e.g. when a tab or section is opened) instead of loading everything up front.
If youโ€™d like, I can share more about how the Skills app is structured or how we handle Delta table access from Dash.