Forum Discussion

MichaelTamoush's avatar
MichaelTamoush
Qrew Captain
4 years ago

Sync Vs Relationships

There is a great blog here about the pros and cons of Cross App relationships, vs sync, vs table imports.

Sharing Data Across Quick Base Apps: Part 1 Cross App Relationships, Table to Table Imports, and Sync

I am aware that you want to avoid having 15 apps, somehow all intertwined with cross app relationships. I am trying to better understand the why.

It seems that cross app relationships will create dependencies, so that all apps basically travel together and are forced to be run by a single QB server. Is that basically the explanation?

For example, if I have 4 apps intertwined with cross app relationships, and then a 5th app has a single cross app relationship with one of those 4 apps, did I just lock that 5th app in with the rest of those?

Not sure if someone is able to give a brief explanations in mildly technical and mildly layman's terms?

------------------------------
Michael Tamoush
------------------------------
  • Re: For example, if I have 4 apps intertwined with cross app relationships, and then a 5th app has a single cross app relationship with one of those 4 apps, did I just lock that 5th app in with the rest of those?

    Exactly.

    Even a report link field will cause two apps to become dependent, and run on the same server process.

    If you go to the home page and suffix the url with

    ?a=ListExternalDependencies [Edited after original post]

    It will tell you which other apps are under the same server process and why.

    At the very core of native QuickBase it can only do one thing at a time. So if you bind five apps together that means they load under the covers as if they were one giant application. So that means if the app takes one second to load a report for one user, it could mean that 99 other users are potentially delayed. So if you have apps with a lot of data and a lot of users all of those clicks are trying to squeeze through just one server process.


    If you keep the Apps separate then every app runs independently on its own server process and hence the only competition for that server process is from within that single app.

    That is why for example every time you do a cross app relationship there is a pop-up warning you that you may be contaminating two apps to be part of one server process.  So you have to think ahead to how big the two apps are and how much data they will have and how many users they will have to decide whether the convenience of Cross App Relationships and Cross App Report Link fields is worth the potential performance hit.  








    ------------------------------
    Mark Shnier (YQC)
    mark.shnier@gmail.com
    ------------------------------
    • AustinK's avatar
      AustinK
      Qrew Commander
      One small thing, it is actually ?a=ListExternalDependencies to make it work. I had never seen this before and had to add the a= to have it go through.

      Thanks for the tool though, this looks really valuable to have access to.
  • Hi Michael,

    That is correct if you had 4 apps all interconnected and related to each-other with cross app relationships adding a 5th app with a cross app relationship with one of them would cause that app to become dependent as well. At its core the reason this is happening is that by creating the cross app relationship you are letting your app know it is dependent on that other app for data you want to either be sharing with or bringing over from the other app. To make sure the data your app has is correct it needs to wake up any other related apps and share data with it in the server. When that happens if that app is related to other apps directly it repeats the same process loading them all into the same server to share data. In instances of one or two apps becoming dependent on another app impact is minimal but if you keep relating apps you have more apps that are sharing the limited resources of a server. 

    Functions like Quickbase Sync, Pipelines, Automations, etc. were designed to avoid causing this entanglement and are often the tools we suggest when a builder needs to disconnect their apps but have them share data. A single table can become the source of truth across apps via Sync or Pipelines and then fed across apps as needed so that they do not need to be directly related and can continue to move as needed for resource balancing. The guide talks a bit about methods to avoid this and why it is beneficial and in cases where you need help our Care team can often help you identify interdependent apps.

    ------------------------------
    Evan Martinez
    ------------------------------
    • MichaelTamoush's avatar
      MichaelTamoush
      Qrew Captain
      Do the new formula queries create dependencies, the way a report link would?

      ------------------------------
      Michael Tamoush
      ------------------------------
      • MarkShnier__You's avatar
        MarkShnier__You
        Icon for Qrew Legend rankQrew Legend
        They have not said if they will Create Dependencies but at this time a Formula Query is limited to the single app. No Cross App Queries are allowed, yet.

        ------------------------------
        Mark Shnier (YQC)
        mark.shnier@gmail.com
        ------------------------------