I have been looking at the demos of Firebase and i am amazed at the functionality and flexibility to store data online. Also looked at the AngularJS Projects tutorial on its homepage, with Firebase as the backend.
However, before starting to use it in my web application, i have few questions like:
Can someone help me to clarify these questions?
Most of these questions are answered in detail on the Firebase web site.
Where exactly is all my data stored?
On secure bare-metal servers controlled by Firebase. This is the underlying point of "Platform as a Service"--you pay for Firebase's experties to build, maintain, upgrade, scale, and secure your data so you don't need a team of IT professionals to handle this.
What if my data gets lost in the future due to hardware failure or any other issue?
Any legitimate service is going to keep off-site backups, as does Firebase. You can also keep your own by fetching the data (a simple JSON object) or portions of data at any time.
Will it be safe to rely on Firebase, for the security of my app data from hackers?
Firebase implements authentication and declarative security rules for security.
If Firebase asks payment in the future for storing or retrieving my app data?
Firebase payment plans are outlined on the pricing page. Check it out.
Is Firebase suitable for storing large data sets, something like 100 MB per user (not just chat data) ?
Data structure is important when storing large data sets. Since reading 100 MB takes a long time, you'll want to denormalize and store it appropriately, retrieving only relevant portions as needed.