DataLoader and the Problem it solves in GraphQL

Поділитися
Вставка
  • Опубліковано 23 лип 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...

КОМЕНТАРІ • 81

  • @francoalemandi9191
    @francoalemandi9191 3 роки тому +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 5 років тому +56

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

  • @nemethmik
    @nemethmik 5 років тому +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.

  • @mohsinamjad8947
    @mohsinamjad8947 3 роки тому

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

  • @el_carbonara
    @el_carbonara 5 років тому +7

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

  • @whistlemore
    @whistlemore 4 роки тому

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

  • @ngneerin
    @ngneerin Рік тому

    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.

  • @VinnieBrazelton13
    @VinnieBrazelton13 2 роки тому

    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.

  • @driziiD
    @driziiD 3 роки тому

    love every video James makes, very calming, very informative

  • @LossL3ss
    @LossL3ss 3 роки тому

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

  • @SleepeJobs
    @SleepeJobs 3 роки тому

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

  • @bhagabatiprasad2612
    @bhagabatiprasad2612 3 роки тому

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

  • @gilberttorchon1280
    @gilberttorchon1280 3 роки тому

    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!!

  • @matthew21995
    @matthew21995 2 роки тому

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

  • @sanowo
    @sanowo 4 роки тому

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

  • @tori_bam
    @tori_bam 3 роки тому

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

  • @pedrop.fuenmayor6942
    @pedrop.fuenmayor6942 2 роки тому

    Best dataloader explanation out there. Thank you very much!

  • @sriracha9729
    @sriracha9729 3 роки тому

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

  • @riebeck1986
    @riebeck1986 3 роки тому

    Amazing tutorial. Thank you !!

  • @nushydude
    @nushydude 4 роки тому

    Perfectly explained. Bravo.

  • @tylim88
    @tylim88 3 роки тому

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

  • @chaiwaberian4625
    @chaiwaberian4625 2 роки тому

    Amazing! This is brilliant! Thank you.

  • @mormantu8561
    @mormantu8561 Рік тому

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

  • @usman7424
    @usman7424 3 роки тому

    AWESOME! Clearly explained

  • @shamilmammadov8246
    @shamilmammadov8246 4 роки тому

    Great explanation. Thank you man!

  • @jeongwookim
    @jeongwookim 4 роки тому

    The best explanation about Dataloader.

  • @ABC-wy7jq
    @ABC-wy7jq 2 роки тому

    Perfect explanation!

  • @kpriv
    @kpriv 4 роки тому

    this is a great explanation. thank-you for this

  • @rauldeandrade
    @rauldeandrade 3 роки тому

    Really great video. Thanks

  • @paulyoung-suklee420
    @paulyoung-suklee420 2 роки тому

    This is amazing, thank you for this great video

  • @backbenchercoding1388
    @backbenchercoding1388 10 місяців тому

    wow, your explaination is the best.

  • @Harduex
    @Harduex Рік тому

    Great and clean explanation! Keep up the good work 🙌

  • @khuongnguyen3125
    @khuongnguyen3125 5 років тому

    Thank you very much for the explanation

  • @salehsoleimani
    @salehsoleimani 4 роки тому

    great explanation, thanks!

  • @freestyle8886
    @freestyle8886 4 роки тому

    Such a nice tutorial, awesome

  • @lbrunol
    @lbrunol 3 роки тому

    Thanks for the video, it was a clear explanation.

  • @sakules
    @sakules 4 роки тому

    brilliant teaching

  • @inch_life2133
    @inch_life2133 4 роки тому

    Awesome tutorial!

  • @anonymousghostghost8836
    @anonymousghostghost8836 4 роки тому

    Awesome...thanks for everything

  • @alibahu
    @alibahu 3 роки тому

    Thank you bro. From Viet Nam with love

  • @user-bg6sr4bj9j
    @user-bg6sr4bj9j 4 роки тому

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

  • @wepranaga
    @wepranaga 3 роки тому

    still very solid video in 2020 🎉

  • @erlinvazquezcastellanos4052
    @erlinvazquezcastellanos4052 4 роки тому

    Amazing, thanks a lot

  • @murhafal-msri5479
    @murhafal-msri5479 Рік тому

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

  • @wassim5622
    @wassim5622 4 роки тому +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 ?

  • @phxm7853
    @phxm7853 5 місяців тому

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

  • @dhananjayjadhav3777
    @dhananjayjadhav3777 4 роки тому

    Super awesome tutorial

  • @Eghizio
    @Eghizio 4 роки тому

    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 4 роки тому

    @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!

  • @SamiKhammar
    @SamiKhammar 3 роки тому

    Awesome video, You won a sub 😁

  • @AliYasir5247
    @AliYasir5247 4 роки тому

    This is the best.

  • @selftaughtcodelab
    @selftaughtcodelab 5 років тому +4

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

  • @davidmartincohen
    @davidmartincohen 5 років тому +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 4 роки тому

      yes you can create loader for each resolver.

  • @guleye
    @guleye 4 роки тому

    Super!

  • @amitgujar6231
    @amitgujar6231 2 роки тому

    Plz do some more stuff like this

  • @shivangitomar5557
    @shivangitomar5557 2 роки тому

    Amazingg!

  • @tjalferes
    @tjalferes 4 роки тому

    thanks

  • @sevi43
    @sevi43 5 років тому

    Great!!!

  • @rezarowghani770
    @rezarowghani770 Рік тому

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

  • @pieceofcode_
    @pieceofcode_ 2 роки тому +1

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

  • @ibrahim47
    @ibrahim47 4 роки тому

    Excellent Content, Great Job

  • @dupersuper1000
    @dupersuper1000 3 роки тому

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

  • @vishalsundararajan1228
    @vishalsundararajan1228 3 роки тому

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

  • @sevi43
    @sevi43 5 років тому

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

  • @iwayanaryawardana6318
    @iwayanaryawardana6318 2 роки тому

    8:00

  • @marcusbrown8158
    @marcusbrown8158 3 роки тому

    - Quarry, Corey, Quarries
    Nice video though.

  • @ehsankhorasani_
    @ehsankhorasani_ 4 роки тому

    it's like SIMD cpu

  • @dnmurphy48
    @dnmurphy48 4 роки тому

    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?

  • @alirezaee1530
    @alirezaee1530 4 роки тому

    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 3 роки тому +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

  • @cjthompson1710
    @cjthompson1710 5 років тому +3

    "Quarry?"

  • @roostercrab
    @roostercrab 4 роки тому

    Or just use Phoenix/Ecto...

  • @Dylan_thebrand_slayer_Mulveiny
    @Dylan_thebrand_slayer_Mulveiny 5 років тому +1

    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.