QuickBase Architecture Considerations

  • 0
  • 1
  • Question
  • Updated 2 years ago
  • Acknowledged
So, I'm new to QuickBase, and I'm trying to understand the true intent of this 'codeless' application.  

I have a complex set of data interactions that I must control, and I'm wondering if I should try to design all of my concerns so that they fit under the scope of one master application with many tables and links, or is QuickBase set up in a way that promotes the creation of multiple small apps, that are tied together into one network through many app links?

Can anyone point me to some information that might help me down my path of discovery?

Sorry to be brief, but I didn't want to bother anyone with unnecessary information.  I'm happy to provide details or examples of my use-case if necessary.  

Thanks in advance,

~Rob
Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb

Posted 2 years ago

  • 0
  • 1
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 53,702 Points 50k badge 2x thumb
This sounds like 1 app to me with many tables and relationships. I have apps with 50 tables. If the app is basically doing one function which is highly integrated and the users are all doing a part if that integrated process, then I suggest 1app.

While you can have what are called cross app relationships, meaning that one app can look up data from another apps table, typically you would only do that when the other app is really doing a separate function, but you corrrectly don't want to manually duplicate information like a customer list or item list.
Photo of Matthew Neil

Matthew Neil

  • 31,478 Points 20k badge 2x thumb
In my experience It is much easier and easier to maintain in one application.  When you have things in different apps, you have to have the users in all apps, and generally speaking it makes it harder to keep track of.

I've built apps that have 40+ tables for very complex workflows and information.

I'm curious, what is your use case or industry that you are trying to solve this for?
Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb
Are you serious?!  Absolutely!  The fireworks over the river are one of m'kids (and, admittedly, my) favorite things!  

moe

What a small world.  Well, I guess.  I haven't looked at your profile to see where you are.  Maybe you're still near?

Also,  I will definitely start small. Thank you for the advice.  

:)

~Rob
Photo of Matthew Neil

Matthew Neil

  • 31,478 Points 20k badge 2x thumb
I retired last summer and moved to Utah, but Montgomery will always have a spot for me.  Who knows when I'll make it back there.

-Cheers
(Edited)
Photo of Matthew Neil

Matthew Neil

  • 31,478 Points 20k badge 2x thumb
This was in 2014

Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb
Well the kids and I probably did a little yelling for you (or at you) back in the day.  ;)

This is just great!  I can't wait to show the kids in the AM.  I can't imagine how fun it was being down on the diamond.

Pretty crazy running into you this way. 

~Rob
Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb

Here are the kids at one game in 2013. Perhaps you were there. ;)

boygirl
Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb
Can you tell me what issues you've encountered with apps containing 40+ tables?  If QuickBase can handle it, I'm game, but I am leary of a monolithic app, with logic becoming so complex that you can't fix anything without breaking everything else.

On the other hand, I'm not trying to add undue complexity to my life.  If the multiple-app-structure is more expensive and less useful, than I'll take my chances with the monolith. 

I'm just trying to understand the abilities of QuickBase and the ramifications of my decisions before I commit to them, but I'm (of course) in a hurry to get in and complete some objectives.

Thanks,

~Rob
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 53,702 Points 50k badge 2x thumb
If you have complex logic then you have complex logic.

Breaking up that Logic into multiple applications just makes it even more complicated to figure out what is connected to what. . Hence one app is better than multiple apps.
Photo of Rob White IV

Rob White IV

  • 980 Points 500 badge 2x thumb
Thanks for your time.  I believe you are right.  I guess the only reason to go the microservice route vs monolithic route would be scalability, and I don't think I'll have that concern on this venture. (famous last words..)  

I'm going the monolithic way.  I'll be happy to let you know how it goes once I'm fully-involved.  Also, I'm sure I'll have many questions along the way.

Thank you again for taking time to help us newbies along.

Sincerly,

~Rob
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 53,702 Points 50k badge 2x thumb
QuickBase will be able to scale to meet the needs of your type of data and we are here to help you get your relationships set up. There are several of us on the Forum who revel in complicated Relationships. .
Photo of Michael Barrow

Michael Barrow

  • 2,206 Points 2k badge 2x thumb
We run our whole company (a website development and Internet marketing firm) on one single app with 71 tables and growing. Everything is connected to everything. Honestly, I don't know why anyone would want to create multiple "apps" when everything needs to be integrated. That's how you cut through departmental silos. QuickBase is totally fine in helping you encapsulate, encode and manage the complexities of your business logic. Honestly, the only thing I've run into that is hard is the arbitrary but hard limit of a single table being limited to 500 mb. But that would apply regardless of whether you architected your app as one or many. I think you will have it be ultimately more complex if you have multiple apps.
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 53,702 Points 50k badge 2x thumb
Michael,
I agree!
Photo of Harrison

Harrison

  • 462 Points 250 badge 2x thumb
I've had applications span 150+ tables and 6,000+ fields. From a performance standpoint, Quick Base will have more challenges with complexity than size. For example, one table with 400mb of data could in theory load faster than a table with 40mb of table that has 20 looping relationships all driving the same formula.

I mostly agree with the sentiments here about putting things in one app but there are a few things on the other side of the fence:
  1. Change management. If the apps were separate and you had access to the Quick Base sandbox, it could in theory be more simplistic to manage changes and deployments. The sandbox is limited but can be useful. Separating the apps, even without the sandbox might make it easier for you to manage changes, expectations, requests, etc.
  2. Security. Depending on role configuration, you might find it easier to separate apps to ensure segregation of data. For example, an HR app should almost always be separate given the sensitive nature. When you add a role or a table in the main app, you run the risk of Quick Base automatically granting some permissions in the name of simplicity. This is one of the risks associated with the use of everyone on the internet - you can accidentally open up a whole lot of data.
Cross-apps also force the apps on the same cluster in Quick Base land, so that is something to consider. Usually not a big deal unless you get into huge apps. Table-to-table imports do the same thing - but only temporarily. This cluster-forcing just limits Quick Base's ability to automatically move apps around based on performance. Where this becomes a problem is when you have huge apps all connected. I've seen an environment with 46 cross apps when the whole chain was considered, meaning the mothership connected something like 6 apps, then each of those had a child and some had another child. That created serious performance issues. In these cases, you might want to consider duplicating the data to avoid the cross app which sounds bad, but might be worth the tradeoff.

In the end, Quick Base doesn't really have any "modules", so the distinction of monolith vs microservices is limited. It is really just all fields and tables. Meaning, if you have 4 tables, 5 relationships and 30 fields all tied to your inventory calculations, nothing truly in Quick Base groups those together into a module or function.

Where you really want to be careful is in enhancements (JavaScript, Zapier, Workato, .NET, PHP...) - that is where SOA vs Monolith comes into play.