GithubHelp home page GithubHelp logo

Comments (5)

katowulf avatar katowulf commented on August 11, 2024

All joining is done client side. This doesn't improve the download/upload performance, although it is fairly performant about how it conducts joins/et al. Note that this optimizes writes as well as reads, pushing set()/update() ops back to the correct paths.

Cheers,
Kato

from firebase-util.

gigablox avatar gigablox commented on August 11, 2024

Got ya, so the joins are done client side.

What about the data coming back? Is that combined into a single payload or is it more of a promise array type deal?

from firebase-util.

katowulf avatar katowulf commented on August 11, 2024

Have you checked out any of the examples? They show the payload for each request.

from firebase-util.

gigablox avatar gigablox commented on August 11, 2024

I guess the answer to my question was:

"This doesn't improve the download/upload performance, although it is fairly performant about how it conducts joins/et al."

Wondering if you guys are ever going to kick this up to the server in the future?

In my example if Jim has 500 older messages he want's to browse through they all need to be queried through a promise array.

I'm sure there's got to be a tipping point somewhere... any idea at what point the browser will start to struggle waiting for that payload to resolve and build itself?

from firebase-util.

katowulf avatar katowulf commented on August 11, 2024

It's going to be highly subjective--really a product of the computer's computing capacity and memory. It seems like the best server-side solution would be to pre-compile the read data into a separate path. Some upcoming tools would assist with this.

The performant solution for large data would probably be a server-side component, such as a node.js script, which would monitor the data and compile the joined results for read. Then clients would only need to listen on the compiled path for the pre-joined and rendered data.

from firebase-util.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.