Data heavy app - how to organize?

Hey there, I am new to Bubble but have gone through some of the canvas/airdev training (I plan on using canvas).

I am building an app that would need to leverage quite a bit of data, in a cloud mysql database. Its a stock market app. The use of this data in the app varies:

  1. Some of this data would be present in visual tables (think a leaderboard)
  2. Some of this data would be in charts (think financial data)
  3. Some of the data would form a slug for a page that presents more detail on that data (think, a an individual stock’s page)

For 1 and 2 I would imaging using 3rd party plugins.

My question: Is it best to be querying the mysql database directly, or would I be populating the bubble database with a few calls to the mysql database? What’s best practices for what should stay in mysql and what should be in the bubble DB?

I would say it just depends on how frequent the data will need to be accessed. If it needs to be up to the second, you’ll want to query the SQL database directly. If the visualizations only need to be updated periodically, you would probably want to limit API calls and just set a recurring workflow to pull that data at an interval. There’s no inherent issue I see with either method. Any calculations needed, particularly if they’re pulling from huge data sets, you would likely want to do off platform though. Bubble is not the most performant at that just yet.

1 Like

Cool thanks - is there any case where the bubble DB needs to be used? Or could the whole thing live on a 3rd party DB?

I query a MySQL database directly and it works great. My core data (like your financial data) is stored in MySQL and the user data is stored in Bubble so it can handle all the session management.

Oh neat - thanks!

I have mine designed the same way as @joeyg. Most of my data is in a MySQL database because it is better at handling more data, writes, reads, and data integrity.

But all user data is stored within Bubble to handle sessions and easily registering users.


This topic was automatically closed after 70 days. New replies are no longer allowed.