What is Firebase? | VentureBeat

0


[ad_1]

All Transform 2021 sessions are available on demand now. Look now.


Firebase is a multi-node key-value database optimized for data synchronization, often between users’ computers or smartphones and centralized cloud storage. It is designed to make life easier for developers by handling much of the data transfer and extraction. This relieves application developers of the programming burdens associated with version or location management. They can write the new bits to Firebase and the data will be consistent throughout the system.

Firebase is popular in large part because it can constantly propagate and synchronize changes between local copies of information stored on user machines with versions kept in the cloud. Firebase eliminates many of the challenges of combining authentication, synchronization, and segregation by juggling multiple versions and making sure the right bits are the same throughout the system.

Today, Firebase is a central part of Google’s cloud developer toolkit. The product, the culmination of years of evolution, was positioned at the center of a mobile backend-as-a-service offering from the company Firebase, which Google acquired in 2014. Firebase is available through Google and via a open source version.

Firebase quickly took the form of a database that is not limited to a single physical computer. Its modern form allows it to distribute workloads across multiple machines by dividing data sets, making copies of their bits, or both. Firebase extends the algorithms used for data center consistency to the entire network by treating data stored on users’ phones or desktops as local versions of the large database. In essence, your phone or laptop is now part of the cloud.

While Firebase started out as a separate company, Google has tightly integrated the software with its other cloud software products. Firebase ML, for example, is a collection of libraries that harness the power of other Google tools, like AutoML or TensorFlow. Adding features like those used to search for text in an image or find suitable labels is relatively easy.

Developers don’t have to worry about the dangers of inconsistencies between data on, say, a user’s phone and the central database. After the data is stored locally, Firebase sends copies to cloud servers so that the two versions are consistent. Forwarding also works the other way around because changes made in the cloud are replicated locally. Server-side developers can communicate with running client software by simply writing data to the Firebase cloud.

Google’s cloud functions, a serverless option, can also be integrated with Firebase so that new data can trigger functions. When a user logs in for the first time, or whenever the database changes, a function will be invoked which can then trigger other events or functions in the Google cloud or elsewhere. These functions can be used to post-process images, clean up text, or ensure data consistency.

Firebase Cloud Messaging adds an additional organizational layer to the message sending process by grouping users by name or subject. Once initialized, Firebase can send event notifications as messages to predefined groups or to users who have subscribed to certain topics.

Google has also developed a number of standard use case of Firebase, like resizing images or triggering emails, which simplify some common tasks.

Flutter is another top-level tool, also built by Google, that integrates sophisticated UI widgets with the database below. It works with a number of databases ranging from the simplest, like SQLite, to the most comprehensive, like PostgreSQL. It can also rely on Firebase itself.

How are established database companies approaching the problem?

When it comes to web development, most older databases imposed too many programmatic tasks on developers. These databases started out by storing data on a single machine. While major databases have long grown to replicate and share data across multiple databases and machines, they have generally avoided integration with small local copies of data cached on user machines. Cloud providers extend their own databases, often with additional layers.

AWS created Amplify by linking together several of its lower-level tools to manage authentication and data storage. The DataStore layer stores information locally and pushes it to the AWS Cloud when a connection is available. The tool also bundles a number of other services, including hosting and a set of server applications for editing data structures and content.

And the upstarts?

The problems that Firebase addresses face are common in modern development. It should come as no surprise, then, that novice gamers are striving to develop, if not outright replace, Firebase.

Supabase and NHost create backend alternatives to Firebase by adding layers for authentication and replication to PostgreSQL. They married more modern standards like GraphQL with a server-side core built on a trusted SQL engine.

Much of the competition comes from the full development platforms which also add layers to simplify the interaction with the database. Parse, for example, is a comprehensive platform for building client-server applications that integrate with a central database. It adds features like a GraphQL interface, file system, and notifications framework to a kernel that is based on PostgreSQL or MongoDB. Back4App is another layer built on Parse that makes coding even easier.

Another competition comes from non-database companies that offer a lot of functionality as part of mobile application development frameworks. Products like Xamarin are now more tightly integrated with clouds like Azure. GameSparks is designed to make it easy to create backends for network games, a job that requires much of the same synchronization as Firebase.

Other tools, like Pubnub, have addressed the issue of streaming messages for tracking groups and virtual spaces, another challenge that requires much of the same support as Firebase. In some cases, these targeted products can deliver exactly what is needed without relying on Firebase.

Is there something that Firebase cannot do?

Firebase is a great tool to help developers get started quickly, as it handles a lot of the data replication work and broadcast event notifications. It eliminates the challenges of simultaneously storing data in a user’s phone and in a central database.

The main data model is limited to NoSQL, although some developers have created FireSQL, a tool that adds SQL-like syntax. Firebase pricing is set according to each read or write, a feature that appeals to earlier developers but can sometimes surprise developers if the price increases rapidly with the increasing popularity of a product.

VentureBeat

VentureBeat’s mission is to be a digital public place for technical decision-makers to learn about transformative technology and conduct transactions. Our site provides essential information on data technologies and strategies to guide you in managing your organizations. We invite you to become a member of our community, to access:

  • up-to-date information on the topics that interest you
  • our newsletters
  • Closed thought leader content and discounted access to our popular events, such as Transform 2021: Learn more
  • networking features, and more

Become a member

[ad_2]

Leave A Reply

Your email address will not be published.