Introducing Cloud Firestore: Our New Document Database for Apps

image

Get started by visiting the database tab in your Firebase
console
. For more details, see the documentation, pricing, code
samples
, performance
limitations during beta
, and view our open source iOS and JavaScript SDKs on
GitHub.

We can’t wait to see what you build and hear what you think of Cloud Firestore!


Originally posted by Alex Dufetel on the Firebase Blog

Today we’re excited to launch Cloud Firestore, a fully-managed NoSQL document
database for mobile and web app development. It’s designed to easily store and
sync app data at global scale, and it’s now available in beta.

Key features of Cloud Firestore include:

  • Documents and collections with powerful querying
  • iOS, Android, and Web SDKs with offline data access
  • Real-time data synchronization
  • Automatic, multi-region data replication with strong consistency
  • Node, Python, Go, and Java server SDKs

And of course, we’ve aimed for the simplicity and ease-of-use that is always top
priority for Firebase, while still making sure that Cloud Firestore can scale to
power even the largest apps.

[embedded content]

Optimized for app development

Managing app data is still hard; you have to scale servers, handle intermittent
connectivity, and deliver data with low latency.

We’ve optimized Cloud Firestore for app development, so you can focus on
delivering value to your users and shipping better apps, faster. Cloud
Firestore:

  • Synchronizes data between devices in real-time. Our
    Android, iOS, and Javascript SDKs sync your app data almost instantly. This
    makes it incredibly easy to build reactive apps, automatically sync data across
    devices, and build powerful collaborative features — and if you don’t need
    real-time sync, one-time reads are a first-class feature.
  • Uses collections and documents to structure and query data.
    This data model is familiar and intuitive for many developers. It also allows
    for expressive queries. Queries scale with the size of your result set, not the
    size of your data set, so you’ll get the same performance fetching 1 result from
    a set of 100, or 100,000,000.
  • Enables offline data access via a powerful, on-device
    database.
    This local database means your app will function smoothly,
    even when your users lose connectivity. This offline mode is available on Web,
    iOS and Android.
  • Enables serverless development. Cloud Firestore’s
    client-side SDKs take care of the complex authentication and networking code
    you’d normally need to write yourself. Then, on the backend, we provide a
    powerful set of security rules so you can control access to your data. Security
    rules let you control which users can access which documents, and let you apply
    complex validation logic to your data as well. Combined, these features allow
    your mobile app to connect directly to your database.
  • Integrates with the rest of the Firebase platform. You can
    easily configure Cloud Functions to run custom code whenever data is written,
    and our SDKs automatically integrate with Firebase Authentication, to help you
    get started quickly.

Putting the ‘Cloud’ in Cloud Firestore

As you may have guessed from the name, Cloud Firestore was built in close
collaboration with the Google Cloud Platform team.

This means it’s a fully managed product, built from the ground up to
automatically scale. Cloud Firestore is a multi-region replicated database that
ensures once data is committed, it’s durable even in the face of unexpected
disasters. Not only that, but despite being a distributed database, it’s also
strongly consistent, removing tricky edge cases to make building apps easier
regardless of scale.

It also means that delivering a great server-side experience for backend
developers is a top priority. We’re launching SDKs for Java, Go, Python, and
Node.js today, with more languages coming in the future.

Another database?

Over the last 3 years Firebase has grown to become Google’s app development
platform; it now has 16 products to build and grow your app. If you’ve used
Firebase before, you know we already offer a database, the Firebase Realtime
Database, which helps with some of the challenges listed above.

The Firebase Realtime Database, with its client SDKs and real-time capabilities,
is all about making app development faster and easier. Since its launch, it has
been adopted by hundred of thousands of developers, and as its adoption grew, so
did usage patterns. Developers began using the Realtime Database for more
complex data and to build bigger apps, pushing the limits of the JSON data model
and the performance of the database at scale.

Cloud Firestore is inspired by
what developers love most about the Firebase Realtime Database while also
addressing its key limitations like data structuring, querying, and scaling.

So, if you’re a Firebase Realtime Database user today, we think you’ll love
Cloud Firestore. However, this does not mean that Cloud Firestore is a drop-in
replacement for the Firebase Realtime Database. For some use cases, it may make
sense to use the Realtime Database to optimize for cost and latency, and it’s
also easy to use both databases together. You can read a more in-depth
comparison between the two databases here
.

We’re continuing development on both databases and they’ll both be available in
our console and documentation.

Get started!

Cloud Firestore enters public beta starting today. If you’re comfortable using a
beta product you should give it a spin on your next project! Here are some of
the companies and startups who are already building with Cloud Firestore:

Get started by visiting the database tab in your Firebase
console
. For more details, see the documentation, pricing, code
samples
, performance
limitations during beta
, and view our open source iOS and JavaScript SDKs on
GitHub.

We can’t wait to see what you build and hear what you think of Cloud Firestore!


Also found at : Introducing Cloud Firestore: Our New Document Database for Apps

Post author

Dustin Gurley is an Designer, Developer, Artist, Instructor, Critical Theorist and Systems Engineer. He has an extensive background working professionally with 2D/2.5D/3D Motion Graphics, Compositing, Film, Video, Photography and client-side performance techniques as it pertains to web development. Dustin recently completed work on his Master of Fine Art degree in Motion Media Design (Motion Graphics) from the Savannah College of Art and Design. Prior to beginning his graduate work, Dustin obtained a Bachelor of Art degree in Communication Studies with a concentration in Broadcast and Emerging Media from the University of North Carolina at Wilmington. In addition to design and modeling, Dustin enjoys toying with his view camera, working with scratch film, authoring media related material and contributing to various industry conferences. When not in front of a computer, Dustin can be found with his wife, Regina Everett Gurley. The couple enjoys dividing their time between their home just outside of Raleigh, North Carolina and the beautiful North Carolina coast. Currently, Dustin serves as the Lead Instructor of Internet Technologies for Wake Technical Community College in Raleigh, North Carolina.