DataLoader and the Problem it solves in GraphQL

Sdílet
Vložit
  • čas přidán 22. 07. 2024
  • Interested in learning more about GraphQL? checkout my course "GraphQL for Beginners with JavaScript" at: knowthen.com/graphql
    When you first start learning GraphQL, there’s a pretty good chance, that you’re first attempt at creating a GraphQL API, will have one big Problem, that you really shouldn’t live with.
    What is the problem I'm referring to?
    Watch and find out.
    Source Code: github.com/knowthen/dataloade...

Komentáře • 81

  • @francoalemandi9191
    @francoalemandi9191 Před 3 lety +19

    This is probably the clearest tutorial I've ever seen about anything in programming related topics. Pretty brilliant. Congratulations and thank you.

  • @goldenbearkin
    @goldenbearkin Před 5 lety +56

    Super awesome! the clearest tutorial about Dataloader i have ever seen! Thanks a lot

  • @mohsinamjad8947
    @mohsinamjad8947 Před 3 lety

    one of the best video on N+1 problem along with solution

  • @el_carbonara
    @el_carbonara Před 5 lety +7

    absolutely brilliant tutorial on the Dataloader. I finally get the intuition behind what it actually does now, thanks so much

  • @whistlemore
    @whistlemore Před 4 lety

    Incredibly clear ! Never watched/hearded so clear a tuto ! Thanks !

  • @nemethmik
    @nemethmik Před 5 lety +15

    Absolutely brilliant. I have been watching a hell lot of tutorials, and i can say, you are one of the best, if not the best.

  • @SleepeJobs
    @SleepeJobs Před 3 lety

    The clearest explanation with brilliant slides and editing. Thank you and congratulations

  • @ngneerin
    @ngneerin Před rokem

    You deserve an award for this tutorial. I was finding it so difficult to teach some junior folks about how to implement dataloader properly. This solved my problem.

  • @bhagabatiprasad2612
    @bhagabatiprasad2612 Před 3 lety

    As a beginner, that's what I was lookin for. Finally, got an freaking awesome tutorial. Thank you bro!

  • @VinnieBrazelton13
    @VinnieBrazelton13 Před 2 lety

    Thank you! This was exactly what I needed. I've been struggling with the implementation of dataloaders in a large existing graph server and you made things click.

  • @sanowo
    @sanowo Před 4 lety

    Never commented on youtube. But the knowledge, the premiere pro, the anticipation ... everything is just awesome mate. Strongly recommented channel

  • @LossL3ss
    @LossL3ss Před 3 lety

    This is BY FAR, the BEST tutorial that i have ever seen! OMG! Thanks a LOT!

  • @gilberttorchon1280
    @gilberttorchon1280 Před 3 lety

    First video I saw from this channel. Automatically subscribed. Note that I was watching an introduction to DataLoader from the creator of the package himself and I was really in the dark. Now I see clear as day. Thanks!!

  • @driziiD
    @driziiD Před 3 lety

    love every video James makes, very calming, very informative

  • @matthew21995
    @matthew21995 Před 2 lety

    this is one of the best tutorials i've seen for awhile

  • @tori_bam
    @tori_bam Před 3 lety

    super clear and easy to understand video. Great job. Thank you!

  • @pedrop.fuenmayor6942
    @pedrop.fuenmayor6942 Před 2 lety

    Best dataloader explanation out there. Thank you very much!

  • @sriracha9729
    @sriracha9729 Před 3 lety

    Finally a video that I can completely understand. Thanks you Sir...

  • @mormantu8561
    @mormantu8561 Před rokem

    I'm rather surprised you only have around 5k subs. I really like your pacing and overall production quality. The animations are top notch!

  • @tylim88
    @tylim88 Před 3 lety

    i am lucky to watch this before i implement my graphql API!

  • @jeongwookim
    @jeongwookim Před 4 lety

    The best explanation about Dataloader.

  • @riebeck1986
    @riebeck1986 Před 3 lety

    Amazing tutorial. Thank you !!

  • @nushydude
    @nushydude Před 4 lety

    Perfectly explained. Bravo.

  • @shamilmammadov8246
    @shamilmammadov8246 Před 4 lety

    Great explanation. Thank you man!

  • @backbenchercoding1388
    @backbenchercoding1388 Před 10 měsíci

    wow, your explaination is the best.

  • @kpriv
    @kpriv Před 4 lety

    this is a great explanation. thank-you for this

  • @Harduex
    @Harduex Před rokem

    Great and clean explanation! Keep up the good work 🙌

  • @khuongnguyen3125
    @khuongnguyen3125 Před 5 lety

    Thank you very much for the explanation

  • @usman7424
    @usman7424 Před 3 lety

    AWESOME! Clearly explained

  • @chaiwaberian4625
    @chaiwaberian4625 Před 2 lety

    Amazing! This is brilliant! Thank you.

  • @rauldeandrade
    @rauldeandrade Před 3 lety

    Really great video. Thanks

  • @ABC-wy7jq
    @ABC-wy7jq Před 2 lety

    Perfect explanation!

  • @sakules
    @sakules Před 4 lety

    brilliant teaching

  • @salehsoleimani
    @salehsoleimani Před 4 lety

    great explanation, thanks!

  • @freestyle8886
    @freestyle8886 Před 4 lety

    Such a nice tutorial, awesome

  • @lbrunol
    @lbrunol Před 3 lety

    Thanks for the video, it was a clear explanation.

  • @wepranaga
    @wepranaga Před 3 lety

    still very solid video in 2020 🎉

  • @inch_life2133
    @inch_life2133 Před 4 lety

    Awesome tutorial!

  • @paulyoung-suklee420
    @paulyoung-suklee420 Před 2 lety

    This is amazing, thank you for this great video

  • @wassim5622
    @wassim5622 Před 4 lety +1

    The best video i found about data loader, Thanks !
    Edit: please how can i log the time or the db query in the console are u using a package or just console loging it manually ?

  • @murhafal-msri5479
    @murhafal-msri5479 Před rokem

    Very nice explaination. Though I prefer passing arrays as first arg in lodash compared to ramda

  • @anonymousghostghost8836

    Awesome...thanks for everything

  • @Eghizio
    @Eghizio Před 4 lety

    Cool! I've been using GraphQL only once during a gql workshops and instead of using a DB we were using REST API with static data as a data source. Similar structrure although it were restaurants instead of books :D The problem was that the reviews contained only the ID of the author and the name could be accessed from other endpoint specific for reviews. Ive spotted that it would be inefficient to call each author by id and instead it would be better to just call an endpoint containing all of them and just filter them. Instead of 100 API requests(which could be pricy in real world app) it did one. Ofc that the filtering would is beeing done by SQL query in this case but i think the problem is the same :)

  • @nickbull7278
    @nickbull7278 Před 4 lety

    @knowthen, please provide a Patreon link! I'd love to repay you for this, the presentation quality was the best I've seen since on a coding tutorial. Thank you so much :) if I could suggest analyzing some GraphQL techniques such as schema and type generation (eg PostGraphile/Hasura and TypeGraphQL), as well as scaling techniques (gql modules, SDL/schema- vs code-first etc). Once again, thank you!

  • @erlinvazquezcastellanos4052

    Amazing, thanks a lot

  • @user-bg6sr4bj9j
    @user-bg6sr4bj9j Před 4 lety

    great!!!! the best explanation!!!!!

  • @alibahu
    @alibahu Před 3 lety

    Thank you bro. From Viet Nam with love

  • @dhananjayjadhav3777
    @dhananjayjadhav3777 Před 4 lety

    Super awesome tutorial

  • @phxm7853
    @phxm7853 Před 5 měsíci

    Wow wow wow wow 👍...
    Thanks you so much.

  • @SamiKhammar
    @SamiKhammar Před 3 lety

    Awesome video, You won a sub 😁

  • @selftaughtcodelab
    @selftaughtcodelab Před 5 lety +4

    mah doubts are clear now. Thanks for the awesome explanation.

  • @pieceofcode_
    @pieceofcode_ Před 2 lety +1

    Very nicely explained. Is it possible for you to give solution using .NET?

  • @rezarowghani770
    @rezarowghani770 Před rokem

    Could you please explain how to log the query you send to the datase to the console?

  • @amitgujar6231
    @amitgujar6231 Před 2 lety

    Plz do some more stuff like this

  • @davidmartincohen
    @davidmartincohen Před 5 lety +1

    thanks for the great tutorial! quick question: do I need to have a separate data loader for each resolver? or a data loader for each separate collection?

    • @guleye
      @guleye Před 4 lety

      yes you can create loader for each resolver.

  • @AliYasir5247
    @AliYasir5247 Před 4 lety

    This is the best.

  • @guleye
    @guleye Před 4 lety

    Super!

  • @sevi43
    @sevi43 Před 5 lety

    Great!!!

  • @shivangitomar5557
    @shivangitomar5557 Před 2 lety

    Amazingg!

  • @tjalferes
    @tjalferes Před 4 lety

    thanks

  • @vishalsundararajan1228

    I fell in graphql trap without knowing its not better than REST except for standard 200 error code even for exception messages

  • @dupersuper1000
    @dupersuper1000 Před 3 lety

    Love the video, very informative! Also, your verbal mannerisms remind me of Barack Obama (which is a good thing).

  • @ibrahim47
    @ibrahim47 Před 4 lety

    Excellent Content, Great Job

  • @sevi43
    @sevi43 Před 5 lety

    An alternative to two functions from the grouping of summary data: codepen.io/starwrapper/pen/orqjQB

  • @ehsankhorasani_
    @ehsankhorasani_ Před 4 lety

    it's like SIMD cpu

  • @dnmurphy48
    @dnmurphy48 Před 4 lety

    When I started developing SQL for relational databases 20+ years ago they all supported joins and the problem defined would be resolved by use of a join. The use of manually coding loops through one table to find entries in another is non-sensical and either reflects a very poor product (GraphQL) or lack of understanding. I assume this guy knows what he is talking about thus GraphQL seems needlessly complex and under-featured. or am I missing something somewhere?

  • @marcusbrown8158
    @marcusbrown8158 Před 3 lety

    - Quarry, Corey, Quarries
    Nice video though.

  • @alirezaee1530
    @alirezaee1530 Před 4 lety

    What i don't understand here is, why are we using different resolver for the reviews? Why not just fetch the reviews in the same books resolver? That way we wouldn't have this problem in the first place.

    • @donjo9
      @donjo9 Před 3 lety +1

      Because if we don't need the reviews, you are fetching them from the database every time you request a book anyways, making the database do unnecessary work

  • @roostercrab
    @roostercrab Před 4 lety

    Or just use Phoenix/Ecto...

  • @cjthompson1710
    @cjthompson1710 Před 5 lety +3

    "Quarry?"

  • @Dylan_thebrand_slayer_Mulveiny

    Quarry: A quarry is a place, typically a large, deep pit, from which stone or other materials are or have been extracted.
    Query: A query is a request for data or information from a database table or combination of tables. This data may be generated as results returned by Structured Query Language (SQL) or as pictorials, graphs or complex results, e.g., trend analyses from data-mining tools.
    You're saying it wrong.