Firestore is google's new database. It's NoSQL database and it's amazing. It's fast and it's more intuitive and best part is you can now make queries with the database.
Now in case you have been aware with the firebase It's is amazing real time database but there were some limitations with that database.
It was amazing real time database but you can either sort or you can filter in that database but all these kind of a drawbacks which were in the firebase real time database now has been overcome into the firestore.
In the firestore you can chain up your queries and sorting and all kinds of queries that you can do in the NoSQL database.
Firestore is much more faster it can perform all the queries and as well it is more scalable as compared to the real time database.
There are lots of advance features in the firestore and it is one of my favourite because of just one reason that is ability to make queries to fetch lot of data as to online or from the offline state this is amazing thing.
One of the very advance thing now honestly if you have ever worked on the firebase it is awesome first of all but the way how it stores all of your data and the way how you fetches all of the data is actually a little bit tricky because it just stores everything as a big JSON object and that's it.You have to dig around that.You have to use it some what like API.It is not much you can do.
The problem comes up when the database actually populates quite a lot.
There is a lot of data and some of that situation you obviously want somebody who can actually query to your data and fetch up only those results which you are interested in but there was no such thing as making up these good queries in the real time database.
So all that drawbacks is now gone and in the firestore you will be able to make queries but this is not all about it.
If you will compare the firebase real time database as well as firestore database as point of view data model both are really simple both are store the things as big JSON file but things really get complex or hierarchical in that situation the firestore is having on advantage because you have ability to query the things and it's become simpler in there for a small scale project.
One major thing that is going to impress you lot, let's compare it again real time database there was there some what kind of an offline support forAndroid as well as iOS but in the firestore you get complete support of offline access and offline management data compatibility for Android,iOS as well as for web.
You can design your progressive web apps quite easily using the firestore.
One more thing that in the firebase real time database you have to perform all of your write operation in just single query just kind of single thread is kind of situation but in firestore you can actually make them as a batch process so that you can collect all of your data which you need to write in the database and can just process them as batch operation this it self is long life saver.
In the firebase real time database whenever you are doing any transaction you need to write call back function if you remember that but in firestore you don't need to write a callback it will automatically repeated until the transaction is complete.