Cloud Firestore Data Modeling (Google I/O'19)

Поделиться
HTML-код
  • Опубликовано: 3 июл 2024
  • So, you're building your first app using Cloud Firestore, and these NoSQL databases are still new to you. How can you set up your data in Cloud Firestore so that you can a) Perform all the queries you want, while b) Keep everything running quickly, and c) Not spend too much money? Let's find out together by looking at some common use-cases and app types, and see how to implement these on Cloud Firestore.
    Watch more #io19 here:
    Firebase at Google I/O 2019 Playlist → goo.gle/2GSFVqN
    Google I/O 2019 All Sessions Playlist → goo.gle/io19allsessions
    Learn more on the I/O Website → google.com/io
    Subscribe to the Firebase Channel → goo.gle/Firebase
    Get started at → firebase.google.com/
    Speaker(s): Todd Kerpelman
    T1165A event: Google I/O 2019; re_ty: Publish; product: Cloud - Databases - Firestore; fullname: Todd Kerpelman;
  • НаукаНаука

Комментарии • 189

  • @f4xxf4xx
    @f4xxf4xx 5 лет назад +334

    This guy is the best teacher. Solid presentation

  • @the1yearexperiment
    @the1yearexperiment Год назад +17

    This talk is so good. He begins with the exact "emotional" state where probably many are in, not wanting to mess things up for the future but not yet having the most extensive experience in the scale-up side of things. Discussing approaches and questions like denormalization or storing data in larger documents vs. sub-collections from this point of view is super helpful and something mostly not found in documentation

    • @Firebase
      @Firebase  Год назад +3

      Thank you so much for your kind message of support 🙂

  • @guillempuche
    @guillempuche 5 лет назад +80

    Data modeling rules (according to the presentation):
    1. Documents have limits (size, field indexes, operations at the same time…)
    2. You can only fetch documents (not specific fields for each document)
    3. Billing is mostly based on the number of documents you touch
    4. Queries search for indexed fields across a collection

    • @valdineiferreira4814
      @valdineiferreira4814 3 года назад +8

      Data modeling rules (according to the presentation):
      1. 16:05 Documents have limits (size, field indexes, operations at the same time…)
      2. 18:29 You can only fetch documents (not specific fields for each document)
      3. 20:44 Billing is mostly based on the number of documents you touch
      4. 24:11 Queries search for indexed fields across a collection

  • @GarethHall
    @GarethHall 5 лет назад +58

    This was the best IO talk I saw - you're an excellent presenter Todd!

  • @KristianDamian
    @KristianDamian 3 года назад +3

    The API analogy it's so clever, blow my mind and make me understand the NoSql idea immediately

  • @bunnihilator
    @bunnihilator 3 года назад +2

    Thanks, this is the 1st video everyone coming in to firebase should watch. Really a big thank you

  • @broken_arrow1813
    @broken_arrow1813 3 года назад +4

    Todd is great! I can listen to him present for a whole day. The audience doesn't look enthused though, even with GoT references!

  • @postfixnotation9829
    @postfixnotation9829 4 года назад +2

    Todd is an extremely good speaker! All of his Firebase Firestore videos are amazing. Thx!

  • @donathmm3881
    @donathmm3881 5 лет назад +14

    This guy knows what he's doing ! Keep going 🤘🤘

  • @mohamedhussainsh7913
    @mohamedhussainsh7913 3 года назад

    very crisp talk and he touched most important use cases we may face when we implements firestore.

  • @soumitripattnaik
    @soumitripattnaik 3 года назад

    Videos like this tells me that, the best things in the world are free of cost.

  • @404-HANDLE_NOT_FOUND
    @404-HANDLE_NOT_FOUND 5 лет назад +3

    A very helpful introduction for us long in the tooth SQL based types! Thank you.

  • @dugtrioramen
    @dugtrioramen Год назад +1

    I've been looking at so many tutorials and videos, and this is easily the best one. He directly answers several questions I might have as soon as news things are brought up, and I finally feel like I have a solid understanding of how I should go about this

  • @kevinjacyna7323
    @kevinjacyna7323 5 лет назад +3

    Thank you for the crystal clear presentation!

  • @grzegorzgumieniak6460
    @grzegorzgumieniak6460 3 года назад +1

    I'm really surprised how comfy is listening Todd and learning new stuff. This is exactly how good teacher should look! 😃

  • @marcelvarela9058
    @marcelvarela9058 3 года назад

    This is a presentation that must be seen by every developer who want to use Firebase Cloud Firestore. It should be recommended by all tutorials and courses out there!

  • @davidn7026
    @davidn7026 5 лет назад +8

    I like that you explained the tradeoffs very clearly. It's a realtime db after all, and some basic features we expect don't work the way we think it they should. However, there should be guides that show us how to work around these basic features we can't have (reference, ORs, etc.)

  • @beside5915
    @beside5915 4 года назад

    This is my best lecture of the firestore

  • @louisconstant8214
    @louisconstant8214 Год назад

    As a developer with a SQL background now developing my first app with Firestore and NoSQL this was the exact talk I needed to watch. It's all clicking now.

  • @locusm
    @locusm 4 года назад

    For explaining complex concepts Todd is the G.O.A.T.

  • @raymondmichael4987
    @raymondmichael4987 4 года назад +17

    "If didn't like this, my name is (not Todd) and I was talking about android.." 🤣🤣🤣🤣
    That made me laugh loudly.
    Great presentation and I picked a lot, it's like developing an app from scratch to end in 40.5 minutes.
    Greetings from Tanzania 🇹🇿

  • @SamGerrans
    @SamGerrans Год назад

    It's great to watch someone who is this good at his job!

  • @DodaGarcia
    @DodaGarcia Год назад

    Todd is so fun to watch! He joked about it in the talk but he really *does* make a talk about database structures sound exciting.

  • @vaishankur
    @vaishankur 4 года назад +1

    Considering using firebase despite everyone advising against it, because of this guy Todd :)

  • @82invisinle82
    @82invisinle82 5 лет назад +1

    Great talk, tells a lot about the possible scenarios and how we may handle with them.

  • @verryondrums
    @verryondrums 3 года назад

    Awesome talk! One of my all time favorite presenters!

  • @kaibe5241
    @kaibe5241 Год назад

    Todd was excellent. Helped me nerd out on Firestore :D

  • @AkshaySood1
    @AkshaySood1 3 года назад

    Nice job Ted! Thank you for being such an awesome presenter/teacher 👍

  • @tommytower47
    @tommytower47 3 года назад

    This was really good. The topic that was talked about last, was exactly the problem I was facing. Thank you for the solution!

  • @ValAllenSamonte
    @ValAllenSamonte 5 лет назад +1

    this is very helpful, thanks Todd!

  • @DeependraSolanky
    @DeependraSolanky 4 года назад

    Very good insights in such short time. Lot of things to unlearn for somebody coming from long experience in RDBMS world.

  • @andrewerdle
    @andrewerdle 4 года назад +1

    This really helped. Thank Todd.

  • @2yaya123
    @2yaya123 3 года назад +3

    Amazing presentation! I feel like I really understand how Firebase data modeling works and the pros and cons of NoSQL databases after watching this video.

    • @Firebase
      @Firebase  3 года назад +1

      Great to hear!

  • @adarsh_hatwar
    @adarsh_hatwar 5 лет назад +4

    Building a product is one thing but providing support and taking it to the next level is a whole new story. Firestore lacks basic features like support for IN/OR queries, automated backups etc. But people like Todd make things very simple and that is such a life saver as information is organized and comes from a trusted source. Thanks Todd for making this possible :)

  • @anandakumarsanthinathan4740
    @anandakumarsanthinathan4740 2 года назад +2

    Fantastic. Brilliant presentation. Covered everything one may want to know.

    • @Firebase
      @Firebase  2 года назад +1

      Glad you enjoyed it!

  • @user-jd1vc5ul8p
    @user-jd1vc5ul8p 6 месяцев назад

    Thank you! This is awesome explanation!

  • @JSANL
    @JSANL 5 лет назад +28

    Collection Group Queries! Finally🙏

  • @troybailey175
    @troybailey175 4 года назад

    Extremely helpful, thank you!

  • @Squad2ND
    @Squad2ND 2 года назад

    Zombies in the Resident Evil games are more alive than this crowd, however I can tell you guys that I laughed, learned and I'm psyched up while watching this. Awesome job!

  • @antopolskiy
    @antopolskiy Год назад

    Great talk and very helpful. Thank you

  • @sunjin222
    @sunjin222 Год назад

    Loved it just what i needed to get started

  • @paracha3
    @paracha3 5 лет назад

    Very nice session. Very comprehensive

  • @balajipadmanabhan4590
    @balajipadmanabhan4590 4 года назад

    Wonderful presentation . Hats Off .

  • @fabrizziocht
    @fabrizziocht 4 года назад

    Fantastic explanation, thank you very much for share your knowledge

  • @estebanmtz4315
    @estebanmtz4315 Год назад

    Such a great presentation

  • @ImpactAICANADA
    @ImpactAICANADA 4 года назад +8

    Amazing presentation. I love how consumable this information is. This crowd isn't very lively!

  • @VitorLucasOFICIAL
    @VitorLucasOFICIAL 3 года назад +1

    Very good!! Thanks for the lesson Todd =D

  • @AtomicCodeX
    @AtomicCodeX Год назад

    This guy made a really funny Game of Thrones joke, and everyone in the audience had a bloody straight face

  • @moomoomamoo
    @moomoomamoo 5 лет назад +4

    Collection group querying! Wooooo~~

  • @darshans1190
    @darshans1190 3 года назад

    such a nice presentation. got to learn a lot of things !!

  • @Meknassih
    @Meknassih 2 года назад +1

    Exceptional content Todd, thanks a lot !

    • @Firebase
      @Firebase  2 года назад

      Glad you enjoyed it!

  • @arthurcebrian
    @arthurcebrian 3 года назад

    Best teacher ever!

  • @manupandher39
    @manupandher39 5 лет назад

    its good to know that i am using firebase in correct manner 😎

  • @preetgandhi1233
    @preetgandhi1233 4 года назад

    Very Great Explanation

  • @colekillian00
    @colekillian00 4 года назад

    Awesome explanation!

  • @dylangrijalva2155
    @dylangrijalva2155 4 года назад

    Amazing explanation!

  • @CodingYourLife
    @CodingYourLife 2 года назад

    Amazing.. thanks
    From 2021 :D

  • @thejohnfranco
    @thejohnfranco 4 года назад

    All my questions has fixed

  • @glynvilesatago3441
    @glynvilesatago3441 5 лет назад +13

    This guy really explains very well, cracks joke from time to time and the crowd just doesn't get it. :D :D :D

    • @iamsurajgiri
      @iamsurajgiri 4 года назад +1

      No, actually they get it. Its just the mic is centred to him

  • @MaximilianBeck
    @MaximilianBeck 5 лет назад

    Great presentation and nice feature reveal 😀

  • @ivammagalhaes7155
    @ivammagalhaes7155 4 года назад

    Great! Thanks for sharing, Todd. :clap :clap

  • @bakerkawesa
    @bakerkawesa 4 года назад

    Awesome lecture!

  • @goat5249
    @goat5249 3 года назад +1

    Great presentation, Reto Meier! ⭐⭐⭐⭐⭐ for Android Studio

    • @Firebase
      @Firebase  3 года назад

      Glad you like it!

  • @diegocuevac
    @diegocuevac 4 года назад

    Great explanation!

  • @gofudgeyourselves9024
    @gofudgeyourselves9024 5 лет назад

    Great job Todd

  • @LucasMDias
    @LucasMDias 5 лет назад +183

    I do care about my fish's birthday.

  • @himbary
    @himbary 3 года назад

    Excellent talk

  • @lukecole5056
    @lukecole5056 2 года назад

    Who would've thought Robin Williams would be the best tech presenter and teacher ever?

  • @TheChaitanyaDubey
    @TheChaitanyaDubey 3 года назад +1

    Great presentation

  • @makemypetgamedevprocess6475
    @makemypetgamedevprocess6475 2 года назад

    Love this guy

  • @asafmazon7
    @asafmazon7 4 года назад

    Love it! great talk

  • @tareqalbeesh9149
    @tareqalbeesh9149 2 года назад

    great video!

  • @lvenir4702
    @lvenir4702 3 года назад

    This s**t is 10 out of 10. Great work.

  • @ThePrimebrook
    @ThePrimebrook Год назад

    That George RR Martin joke didn't get the love it deserved

  • @UjjwalKumar-wg4wu
    @UjjwalKumar-wg4wu 5 лет назад

    awesome stuff

  • @user-ql5to3rh1o
    @user-ql5to3rh1o 5 лет назад +10

    finally collection group queries 🔥🔥🔥

    • @saminsharar3933
      @saminsharar3933 5 лет назад +3

      We know we are nerds when we use 🔥🔥🔥 with collection group queries

  • @VINNUSAURUS
    @VINNUSAURUS 5 лет назад +11

    You guys should really make a video on how to structure data for a social media app :P

    • @nfokl
      @nfokl 5 лет назад

      Totally agree! Working on one now.

    • @jeet5401
      @jeet5401 5 лет назад +1

      Firestore is not suitable for social media app, I guess.

    • @raymondmichael4987
      @raymondmichael4987 4 года назад

      Nikolai Fedorov, waiting to see it
      Greetings from Tanzania 🇹🇿

    • @lazymacs2823
      @lazymacs2823 3 года назад

      yeah

  • @dobleuxyz
    @dobleuxyz Год назад +1

    Amazing!

    • @Firebase
      @Firebase  Год назад +1

      Thank you for the support, Gerardo!

  • @kirill4531
    @kirill4531 4 года назад

    Let's start :)

  • @eduardorabanal2803
    @eduardorabanal2803 5 лет назад

    great video

  • @icoffeenz
    @icoffeenz 4 года назад

    amazing video

  • @CimesTwo
    @CimesTwo 5 лет назад +1

    🔥

  • @seunghwanjeong5348
    @seunghwanjeong5348 5 лет назад

    Awesome !!!!!!!!

  • @manujabandara8487
    @manujabandara8487 3 года назад

    Great!.

  • @ooscarr
    @ooscarr 5 лет назад

    I understood the references

  • @zakariachahboun
    @zakariachahboun 4 года назад

    Thanks

  • @praveenaanand6389
    @praveenaanand6389 5 лет назад

    Hey firebase It's firestore not firestone . See the thumbnail.
    Anyway i love you firebase 💗

  • @marinesuper6441
    @marinesuper6441 2 года назад

    Best video to introduce firestore to us. Anyone has summary documents which recaps this content?

    • @Firebase
      @Firebase  2 года назад

      We're excited to hear you've enjoyed the video! You can head over to firebase.blog/posts/2022/05/whats-new-at-google-io for a summary of what's new at I/O! You can also continue to grow your skills by visiting our learning lab over at
      ✨ io.google/2022/learning/ ✨😄

  • @amitlimbu5025
    @amitlimbu5025 5 лет назад

    undestood for the first time

  • @eric-ampire
    @eric-ampire 4 года назад

    Thanks for that, create video

  • @lasoupedjour
    @lasoupedjour 3 года назад

    nice!

  • @LarsRyeJeppesen
    @LarsRyeJeppesen 4 года назад

    A backend would help filtering privat fields so the client only gets the fields that are *public" for a given document. Also, a backend could leverage Redis caching to minimize cost. So backend + Firestore is the best of both worlds imho

  • @GeireenG
    @GeireenG 2 года назад

    If you didn't like it I talked about Android Studio :D
    I didn't expect this to be that great!

  • @mohammedmaaz1765
    @mohammedmaaz1765 4 года назад +3

    For the case of finding restaurants with a certain dish like "Chicken Tikka Masala", he proposed that due to this new feature of "collection-group query" we can now solve this problem if the menu-items are placed in the restaurant docs as sub-collections instead of a map.
    However it does not make sense to me, because the collection-group query for example: collection_group("menu_items").where("name", "==", "Chicken Tikka Masala") will only return the documents of "menu_items" but not the actual "restaurants" which have that menu item. However in case where I have a map of menu items inside of restaurant doc, I can actually query on the restaurant sub-collection to get actual restaurant docs containing that menu item.
    Can anyone clear me point, If I am missing something?

    • @n0krashy
      @n0krashy 4 года назад

      @@ToddKerpelmanCorp
      So if I want to query the restaurants documents which contain a certain dish in their menu-items subcolllection, not the dishes documents at all, I have to copy restuarant data (which are more than just the name in my case) all over my items in the subcolllection? Isn't that an overload ?
      Shouldn't that be improved so I can somehow get the parent documents only ?
      Also presenting the problem of, when any field in the parent is updated, I have to also repeat that update in all of it's subcolllection items (which is the most annoying problem I'm trying to avoid in NoSQL database scheme for many-to-many relationship)

    • @n0krashy
      @n0krashy 4 года назад

      @@ToddKerpelmanCorp also, why can't I perform collection group query by document ID instead of fields ? That's something that should exist

  • @vijayhi3ic
    @vijayhi3ic 3 года назад

    ONE CHICKEN TIKKA MASAAAAAAALA FOR THIS GUY RIGHT NOW!

  • @arvidurs
    @arvidurs 5 лет назад +1

    Is there a timeframe for native location queries a la GeoFire?

  • @xXrostanXx
    @xXrostanXx 5 лет назад

    I lov it!

  • @VuizTV
    @VuizTV 5 лет назад

    ❤🔥

  • @GintsPolis
    @GintsPolis 4 года назад +1

    Also it is worth to mention, that if Author changes name, all printed books remain his old name :)

  • @piyushmajgawali1611
    @piyushmajgawali1611 3 года назад

    great