[Solved] Choosing Database Setup for Data Visualization

@NigelG thanks for this, really interesting to hear how these different services panned out for you and hopefully v. helpful to others down the line who want to do the same thing!

As follow-up, here’s what happened with me:

Tried blockspring + Google Sheets. Very quickly started hitting walls with GQL, Google’s query language – it’s similar to MySQL but still missing some chunks. Doesn’t appear to be sophisticated enough to execute the queries I’m looking to do. I can only recommend this if you are certain you will not want to do more creative things with your data later.

Next, I tried AWS + MySQL, and have been using that ever since. The only hiccups here so far have been:

  1. On the Bubble side, it seems you can only run one query at a time. I tried some where I had to initialize a variable in a separate query first and it didn’t work. Fortunately I could cross join with a table where the variable was initialized, and keep it to 1 query.

  2. In my particular AWS setup, I have to set the security settings so that the database is accessible by everyone in order for it to talk to Bubble. I’m somehow not able to restrict it to Bubble’s server – this looks like an issue on the AWS side, not Bubble. You still have the extra layer of username/psw credentials, but I’m wondering if this is a security risk.

Other than that, using the MySQL database plug-in has been a dream! It’s not workflow-intensive at all, it’s fast, and it makes my dynamic data much more readable. :heart_eyes:


The rest of this post is about getting a MySQL database up and running w/AWS. The documentation about how to do this online for beginners is thin, and I’m putting this here to save anyone from the confusion I went through …

(Some of this might be specific to installing on a Yosemite 10.10 mac)

  1. Your Computer
    Install MySQL https://dev.mysql.com/downloads/mysql/

  2. Amazon: MySQL database instance
    In AWS, go to RDS.
    Set up a MySQL database instance. There’s lots of settings to choose from. In general, I just selected the free trial setting and AWS only allowed me to make the most basic of databases (which is all I needed). Demonstration here: https://www.youtube.com/watch?v=LnAvUOmH1n0

  3. Amazon: MySQL database security groups While your database instance is getting created, change your security settings so your computer + Bubble can access the instance. That’s detailed in part 2 of the demonstration video. https://www.youtube.com/watch?v=vE2E7cYJ0IQ&ebc=ANyPxKozvFVQ0N_otq5jbmZ--Em_6WjXtO0gwmg-ZfTfS89dpP9OjQe9icgl2r1-XnsdU4FcvdkgJ0MMaVZVI4W8ResgZ386iA

  4. Your computer talks to Amazon db To access your database instance, first make sure MySQL is running (for Mac it’s in the settings). In the terminal, type “mysql -h yourendpoint.blahblahblah.us-west-2.rds.amazonaws.com -u username -p” then you should be prompted for the password you set with this instance. Import your .csv files, edit your db, etc.

  5. Bubble talks to Amazon db This initially confused me because I thought I’d need a server address that resembled an IP address, and went about getting an elastic IP through Amazon. Don’t do it. Instead, you should just use the endpoint address, in the “server address” part of @georgeciobanu 's explanation:

My connection string ended up looking like this: mysql://username:password@db_instance_name.12345abc.us-west-2.rds.amazonaws.com:3306/db_name

11 Likes