Home Android & Kotlin Books Saving Data on Android

15
Usage & Performance Written by Dean Djermanović

Heads up... You're reading this book for free, with parts of this chapter shown beyond this point as scrambled text.

You can unlock the rest of this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

In the previous chapters, you learned how to work with the Firebase Realtime Database. Realtime Database is built to handle high-traffic apps. To work effectively with Realtime Database, you have to be aware of its usage and performance limits. This chapter covers just that. In this chapter, you’ll cover Realtime Database pricing model, general Realtime Database limits, reading and writing limitations, and performance. You’ll learn how to measure and optimize performance and how to profile your database.

Pricing model

The Realtime Database is free — but that’s only true up to a certain point. If you visit the Firebase pricing page, which you can access at https://firebase.google.com/pricing, you’ll see, “Start for free, then pay as you go.” Firebase is designed to work for free for smaller startups or experimental projects, like the one you will build in this section. You can see that Firebase offers additional pricing plans.

The Spark Plan is also free and exists so that everyone can experiment and get their hands on Firebase, integrate it into their apps and see how it performs. The majority of the money that Firebase makes comes from big apps with lots of users. All of the products that Firebase has are included in all the plans that they offer. This means that you can try out any product you want for free.

When it comes to Realtime Database, the metrics that Firebase uses to decide how much to bill you for their services are the following:

  1. Simultaneous connections: You can to have up to 100 simultaneous connections for free.
  2. Data storage: You can store 1GB of data for free. Data in this context is text data and 1GB of text data is an enormous amount.
  3. Downloaded data: You can download 10GB of data per month for free from the Realtime Database.
  4. Databases per project: You are not allowed to have multiple databases per project for free.

To understand better Firebase billing and how to optimize Realtime Database usage you can check out official Firebase billing guidelines at https://firebase.google.com/docs/database/usage/billing.

Limitations

As mentioned earlier in this chapter, Realtime Database is built to handle high-traffic apps, but it still has some limits. You’ll examine some of those limits next. All of the limits that will be mentioned apply for the Realtime Database in general, not for the free plans.

Performance

Monitoring

Realtime Database offers several ways to monitor database performance and find the source of potential problems in your app. It offers different tools that provide insight into performance data. You’ll look into those tools next.

Profiling

Database profiling is critical for finding bottlenecks or other issues that might be degrading the user experience. The Firebase command-line interface offers a variety of tools. One of these, the Database Profiling tool, analyzes the activity in the database over a specific period of time and generates a detailed report that you can use to troubleshoot the database performance.

Optimizing

The best way to optimize performance is to gather all of the data from the tools mentioned above. After you have gathered the data find out about best practices in the area that you want to improve and make changes accordingly.

Key points

  • Realtime Database is free up to a certain point.
  • Realtime Database is built to handle high-traffic apps but it has some limits.
  • Firebase provides you with tools that allow you to monitor, profile and optimize Realtime Database performance.

Where to go from here?

In this chapter, you covered the usage and performance aspects of the Realtime Database, which are critical to know for large scale apps.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.

Have feedback to share about the online reading experience? If you have feedback about the UI, UX, highlighting, or other features of our online readers, you can send them to the design team with the form below:

© 2021 Razeware LLC

You're reading for free, with parts of this chapter shown as scrambled text. Unlock this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

Unlock Now

To highlight or take notes, you’ll need to own this book in a subscription or purchased by itself.