1. Structure for feeds in social media app 2. Advanced querying with multiple fields 3. Possible issues if your app gets 1 Million downloads in a day :P (Best practices to make sure things don't break on scaling up) 4. How to maintain consistency of duplicated data 5. How to deal with aggregation queries when device is offline. For example user clicked like button. Like count needs to be incremented but transactions won't succeed or cloud functions won't execute as device is offline. 6. Complete real world examples for social media, shopping, messaging etc.
#AskFirebase How do we backup and restore databases so we can have PROD and DEV environment? In SQL, we can simply perform backup and then restore it using a different name. My startup is based in Indonesia, currently building a new Android app using Firestore as the backend. We need to have PROD and DEV environment. DEV is for Internal Test, Alpha, and Beta.
After watching this, I immideately feel like I understand what the core idea of firestore is and the difference compared to a SQL database. Totally awesome
"In the Realtime Database world, when you retrieve some element in the tree, you automatically retrieve everything below it. And that would mean downloading potential hundreds of [elements] anytime I want to grab a couple dozen [elements]... But in Cloud Firestore world, queries are shallow by default." (This is a big point that a lot of beginner Firebase programmers should keep in mind).
But if you actually need a lot of data and everything below it, you need to create a lot of queries because Firestore is shallow by default and that's a big deal. It all depends on the way you're modeling. You can use indexes to help in this process of querying and some techniques in Realtime Database too, as well you can do that in Firestore. NoSQL is a fun world to explore! (:
This is an awesome introduction. Excellently clear and to the point explanations of the basic concepts with all the important context. This guy has got great talent as a teacher.
You actually addressed everything I was thinking as someone coming from a relational DB background. Impressive! Like you were reading my mind. Still not entirely convinced but trying it out.
Completely lost when I first encountered the reference of “Collection” and “documents”, making the specific relationship was hard, but now I can see all of the benefits in doing it this way, thanks for the video, it is a recommendation sorely lacking from guides.
I remember the time when I am new to no sql database. So confusing. But now, I am enjoying and have understand this no sql database. Now, I am using cloud firestore db in every app I am working for school. It made my work easier and faster. Thank you, firebase team! Especially to Todd, big thumbs up for you! 👍
Great explanation! Possibly the first video I've ever seen where the presenter's "You're probably thinking _____, right?" interjections were in fact precisely what I was thinking.
Thanks for the love! We're so happy you found this helpful! Be sure to subscribe to keep up with the latest from Firebase: goo.gle/3dyeCpY Happy learning 😎
10:56 Firestore rules Firestore rules: 10:59 first rule: collections can only contains documents nothing else 11:04 second rule: documents can only be 1 MB less inside 11:09 third rule: document can not contain another document 11:15 a document can contain collections of documents, and each documents a collection of documents, and so on 11:23 fourth rule: root can only contains collections 11:47 query
Really well explained! I kept thinking to myself questions as you went, like "How can I fetch related items without joins?" and "Won't that result in duplicate data that can be out of sync?" and each time within less than a minute you brought up the same question and gave great answers :)
I have been using Firestore for my app. I would recommend fixing the following deficiencies prior to coming out of BETA: 1) Ability to use the not equal operator "!=" 2) Support for OR logic in where clause 3) Offline support for Web. 4) Support for Android in React Native (Android does not currently work with React Native without unsupported workarounds). As of the current state, I would only recommend Firestore for very simple MVP's and concept testing purposes. I would not recommend it for a production application (hence why it is in BETA ^^)
Offline support for web is there by calling enablePersistence? Am I missing something here? firebase.google.com/docs/firestore/manage-data/enable-offline
The drawings and the clear and step by step explanations with examples are making it a great video along with that great sense of humor. Thank you so much :)
whoa did any one notice on PC at 15:11 when author says subscribe to our UA-cam channel the subscribe button have a animation effects outside the video this is super cool!!!
I've watched dozens of videos about NoSQL and SQL databases but none of them really painted the real picture. This video is literally the best out there! Now I am excited to follow up on the remainder of the series. Thanks so much !
Wow I was expecting you to cover briefly on NoSQL before moving on to Firestore But you also cover the essence of SQL I find it very insightful and would highly recommend all starting out as backend to view it.
I've been playing around with noSQL db a bit lately but this was actually a very helpful explanation of how to model the data and how it differs to relational.
Wow! I would like to say that anyone or any company who make some kind of tutorials video should take a good look at this video for how it should be done! Amazing clarity. Thank you.
Brilliant stuff. Got the sample IOS apps working with read and writes to my console and figured out the data model required for the build. Time to build the rest of the structure.
Hi, it's really a very good video ... the contents and the animations you used ... If you allow, I would likw to ask you what tool di you use to make such animations, tables, arows ... Thanks
Great video. I recently had to do some data duplication in order to accommodate certain user needs. This felt really dirty, but it's relieving hearing you talk about this like it's okay to do here and there.
Happened to to my as well this couple days, have you tried to keep reference to your Id's in an opcional value of your model? It works for me when I retrieve the documents so you don need to duplicate data
Will you implement or in queries and also be able to query multiple fields? It's almost impossible to make so that a user is following people and displays all their posts in a feed.
#askfirebase Thank you for this great series, I have a model like the following: Collection: Place String name String description Int numberOfVisits and so on Q1: for the first two parameters ‘ *name and description* ’ I need to make it *multilingual* what is the best structure to make it so while keeping minimal data downloaded and the minimal number of queries? Q2: you're talking about having a sub-collection for reviews, but what about having a third collection for the relation between users-resturants-reviews ? Best, Yusuf
Let us know what you'd like to see covered in this series in the comments!
Please help us with SQL Databases to migrate to NoSQL! :)
Greeting from Brasil
(Ormando - Colatina/ES)
Best structure database for real world project like shopping products or post.
1. Structure for feeds in social media app
2. Advanced querying with multiple fields
3. Possible issues if your app gets 1 Million downloads in a day :P (Best practices to make sure things don't break on scaling up)
4. How to maintain consistency of duplicated data
5. How to deal with aggregation queries when device is offline. For example user clicked like button. Like count needs to be incremented but transactions won't succeed or cloud functions won't execute as device is offline.
6. Complete real world examples for social media, shopping, messaging etc.
#AskFirebase How do we backup and restore databases so we can have PROD and DEV environment? In SQL, we can simply perform backup and then restore it using a different name.
My startup is based in Indonesia, currently building a new Android app using Firestore as the backend.
We need to have PROD and DEV environment. DEV is for Internal Test, Alpha, and Beta.
Topics like data optimization and writing queries.
Todd is definitely one of the best presenters. Would love to see more from him.
True
After watching this, I immideately feel like I understand what the core idea of firestore is and the difference compared to a SQL database. Totally awesome
Instant fan here. This is so understandable and engaging. Much better than any other tutorials I've seen in a long while.
Your explainer videos are amazing
Your's too.
Yes
so is your channel
Thank you guys 💚
Your's too bro
I should have watched this video before developing my app with Firestore. Everything makes so much sense now.
"In the Realtime Database world, when you retrieve some element in the tree, you automatically retrieve everything below it. And that would mean downloading potential hundreds of [elements] anytime I want to grab a couple dozen [elements]... But in Cloud Firestore world, queries are shallow by default." (This is a big point that a lot of beginner Firebase programmers should keep in mind).
But if you actually need a lot of data and everything below it, you need to create a lot of queries because Firestore is shallow by default and that's a big deal. It all depends on the way you're modeling. You can use indexes to help in this process of querying and some techniques in Realtime Database too, as well you can do that in Firestore. NoSQL is a fun world to explore! (:
@@brianoliveira5471 Oh my, I'm getting a heart attack just thinking about it. 😬 Why would anyone want to use it?! Can someone explain, please?
@@klaudiaadamus3353 are you asking why anyone would want to use shallow queries?
the guy is briliant
himself!
kept me hiper concentrated for the whole video. awesome
Why is this video the absolute perfection?
This is an awesome introduction. Excellently clear and to the point explanations of the basic concepts with all the important context.
This guy has got great talent as a teacher.
You actually addressed everything I was thinking as someone coming from a relational DB background. Impressive! Like you were reading my mind. Still not entirely convinced but trying it out.
Was it worth the trial ?
As a developer with a long history of using SQL databases, this is the exact information I was looking for!
Completely lost when I first encountered the reference of “Collection” and “documents”, making the specific relationship was hard, but now I can see all of the benefits in doing it this way, thanks for the video, it is a recommendation sorely lacking from guides.
We appreciate your support, Juan! Thank you so much for leaving this feedback for us 😄
This is one of the best videos you guys posted about Firestore. Really good one! I like this guy explaining.
I remember the time when I am new to no sql database. So confusing. But now, I am enjoying and have understand this no sql database.
Now, I am using cloud firestore db in every app I am working for school. It made my work easier and faster. Thank you, firebase team! Especially to Todd, big thumbs up for you! 👍
A BIG thumb up 😅 for this video.
@@ToddKerpelmanCorp you remind me an actor Robin Williams. Thank you! 👍
I was looking for a comment about his thumb, thanks !
Came down here to leave the same comment ;-)
Oh man! If all videos in the internet would be explained like this humanity would get the next level his evolution! Thank you so much!
Great explanation!
Possibly the first video I've ever seen where the presenter's "You're probably thinking _____, right?" interjections were in fact precisely what I was thinking.
Thanks for the love! We're so happy you found this helpful!
Be sure to subscribe to keep up with the latest from Firebase:
goo.gle/3dyeCpY
Happy learning 😎
10:56 Firestore rules
Firestore rules:
10:59 first rule: collections can only contains documents nothing else
11:04 second rule: documents can only be 1 MB less inside
11:09 third rule: document can not contain another document
11:15 a document can contain collections of documents, and each documents a collection of documents, and so on
11:23 fourth rule: root can only contains collections
11:47 query
Really well explained! I kept thinking to myself questions as you went, like "How can I fetch related items without joins?" and "Won't that result in duplicate data that can be out of sync?" and each time within less than a minute you brought up the same question and gave great answers :)
It's a luxury to have this video series. Thanks for your work .
"Worst thing to happen in programming, since GOTO statement" I am going to borrow this line.
Awesome Tutorial !!
That's the best intro description I've heard to describe a NoSQL database. Thanks!!
Glad you like it!
Todd, I love the way you talk, your jokes.
I wish you made every tutorial
My education is in relational databases but the fact the Google hosts and scales the database for you has me hooked
You are really a genius, this is one of the best videos I discovered about Cloud Firestore.
What a talent for presenting information. I could listen to this gentleman all day. Great job. Looking forward to running video #2.
I have been using Firestore for my app. I would recommend fixing the following deficiencies prior to coming out of BETA:
1) Ability to use the not equal operator "!="
2) Support for OR logic in where clause
3) Offline support for Web.
4) Support for Android in React Native (Android does not currently work with React Native without unsupported workarounds).
As of the current state, I would only recommend Firestore for very simple MVP's and concept testing purposes. I would not recommend it for a production application (hence why it is in BETA ^^)
I understood that with RNFirebase you could use firestore on android, it's not possible?
Dude this is a complete video explaining why there is no such a thing a SQL query and still, you ask for "Ability to join...", seriously?
Offline support for web is there by calling enablePersistence? Am I missing something here? firebase.google.com/docs/firestore/manage-data/enable-offline
Aquilino Méndez you are fine if you use that library. I should have specified that I am using expo, which does not support that library.
cutiko thanks fam
I'm new to NoSQL and was confused as first, thanks for your detailed and easy to follow explanation!
Anyone in 2024...🤚
Yes
Looking for me
That was the missing link for me. Didactically outstanding Explanation, and Presentation. Thank you, Todd
Describing complex things in a simple way. Thanks!
i was confused in firestore but your video helped in understanding it .enjoyed a lot.
We're glad to hear the tutorial was helpful! Be sure to check out the links in the description for more tips and tutorials 😎
This video is so easy to understand and giving examples at the right time when I started to get confused! thumbs up for you
This guy is crazy good at explaining, Well done.
This is my introduction to NoSQL and the collections make sense now to me
The drawings and the clear and step by step explanations with examples are making it a great video along with that great sense of humor. Thank you so much :)
This guy makes the best videos for real. He should make all the videos for flutter/firebase.
Thanks for the love, Chris! Glad you enjoyed the video 😎
Be sure to check out the links in the description for even more great content!
Dude, what a great video. Very easy to follow. Great explanations. Just the right amount of humor. Thank you! :)
whoa did any one notice on PC at 15:11 when author says subscribe to our UA-cam channel the subscribe button have a animation effects outside the video this is super cool!!!
Hope the thumb is better (and that it did not take 4 years to heal).
GREAT video. Thanks!
Good job making a dry topic actually fun to watch!
There's no sequel for that thumbnail.
You described the topic very well, thank you.
Thanks for that!
Perfect explanation. Humankind requires more of such.
awesome explanation!! "Why optimize for the thing that happens 1 time instead of the thing that happens 7000 times" -> That's makes a lot of sense :D
I've watched dozens of videos about NoSQL and SQL databases but none of them really painted the real picture. This video is literally the best out there! Now I am excited to follow up on the remainder of the series. Thanks so much !
Wow I was expecting you to cover briefly on NoSQL before moving on to Firestore
But you also cover the essence of SQL
I find it very insightful and would highly recommend all starting out as backend to view it.
Best noSQL education short I've ever seen.
Incredible explanation, that's some proper communication skills right here! Thanks a lot!
That's solid! You managed to explain to a database newbie what a NoSQL database is. Thanks!
thith guy gets it. thith was dope. appreciate it thankyuhthomuch all yallth
This is an awesome introduction, no doubt about it. But I expected few examples running on firebase/firestore to understand how it's really done.
"Since Go-To Statement" LOL IM DED😂😂😂😪😪
this is the best series since bread came sliced
Glad you enjoyed!
This is a fantastic video. Very well explained and the pace is spot on. Are there any other episodes in this series. If so, how do I find them?
Does this mean you would have a "Reviews" collection for every "Restaurants" document? So excited about upcoming videos.
Fantastic
I've been playing around with noSQL db a bit lately but this was actually a very helpful explanation of how to model the data and how it differs to relational.
Wow! I would like to say that anyone or any company who make some kind of tutorials video should take a good look at this video for how it should be done! Amazing clarity. Thank you.
I'm just learning about Firestone for the first time. You did a phenomenal job of explaining things here! :D
Brilliant stuff. Got the sample IOS apps working with read and writes to my console and figured out the data model required for the build. Time to build the rest of the structure.
Looking forward to this amazing series.
Hi, it's really a very good video ... the contents and the animations you used ... If you allow, I would likw to ask you what tool di you use to make such animations, tables, arows ... Thanks
This is the best explanation of why to migrate to Firebase: is a great serverless! No pain for developers, fast queries and scaling is not an issue
i studied sql databases for and year and this is more clear. Thanks.
Thank you guys! This was really nice.
Glad you enjoyed it!
wow!!! just wow!! excellent pace and extremely well presented!!
Great video. I recently had to do some data duplication in order to accommodate certain user needs. This felt really dirty, but it's relieving hearing you talk about this like it's okay to do here and there.
Happened to to my as well this couple days, have you tried to keep reference to your Id's in an opcional value of your model? It works for me when I retrieve the documents so you don need to duplicate data
One of the best tutorials I have ever seen!!!
This is great video!
I cannot wait for "Future episodes"!!
Finally a great explanation from Google!👍
Excellent illustration on what noSQL is. Thanks so much :)
Thanks so much. I'm switching over from SQL to Firestore. Wish I would've learned this first 😭
Todd is a fantastic presenter / speaker
How exciting! Looking forward to this!
wow, now THAT's a high quality explanatory video!
I'm looking forward to the next episode. I hope it comes soon.
Will you implement or in queries and also be able to query multiple fields? It's almost impossible to make so that a user is following people and displays all their posts in a feed.
Thanks for the clear explanations and drawings. Very helpful.
Amazing explanation with precise visuals.
Awesome video! Watching the whole playlist now
This is the best guy described it so well and fun, thanks a million :)
The world needs a new type of database.
Thank you for this video series!!
You are so welcome!
oookay .. thats some top notch explaining right there , keep it
Thanks for this videos,, just what i was needing in this moment of my life.
You're so welcome!
best teacher on youtube
Thanks. What is best practice for keeping aggregation data? e.g. Where to put the field for "NO of total reviews" for each restaurant?
Thanks for the good instruction video its easier to understand than documentation reading alone.
Awesome explanation. Would give a big thumbs up...but I see, you already have one.
You got my reaction 😂, i really freaked out and you said every worries i have! thanks for creating this video, I learned a lot
Great intro. I'll now watch your other videos. Thanks heaps !
Informative video. VERY NICE!
Glad you liked it!
Great presentation with illustrations! Loved how you introduced concepts along the way and kept one example going..
Your Explanation is great man.
Awesome video Jeff. My first time actually learning about NoSQL after just hearing about it for so long. You've made it look very easy :)
This is one hell of a brilliant explanation!!!
Thanks for the video. Has confusion until now regarding Firestore, but it cleared now.
the best explaination about nosql
dude this tutorial is amazing !! thank you ! finally got idea about NoSQL databases
#askfirebase Thank you for this great series, I have a model like the following:
Collection: Place
String name
String description
Int numberOfVisits
and so on
Q1: for the first two parameters ‘ *name and description* ’ I need to make it *multilingual* what is the best structure to make it so while keeping minimal data downloaded and the minimal number of queries?
Q2: you're talking about having a sub-collection for reviews, but what about having a third collection for the relation between users-resturants-reviews ?
Best,
Yusuf