Skip to main content

Firestore Writer

Google Cloud Firestore is a flexible, scalable, serverless NoSQL database for mobile, web, and server development from Firebase and Google Cloud. Firestore requires no pre-provisioning of resources and automatically scales to match your application's load. Firestore is offered in two editions, Standard and Enterprise. The Enterprise edition supports MongoDB compatibility, which lets developers use existing MongoDB application code, drivers, and tools with Firestore.

You can use Striim's Firestore Writer to write data from transactional databases such as Oracle and SQL Server, NoSQL databases such as MongoDB and Cosmos DB, and other supported sources into Firestore. Firestore Writer writes to Firestore Enterprise edition databases with MongoDB compatibility.

Firestore Writer summary

Supported targets

Firestore Writer writes to Firestore Enterprise edition databases with MongoDB compatibility. The Firestore Standard edition and the Firestore native API are not supported.

Connectivity

Firestore Writer connects using the MongoDB Java Sync driver over TLS, using a Striim connection profile that holds the connection and authentication properties.

Authentication

Firestore Writer supports three authentication types:

  • SCRAM: authenticates a Firestore database user with a username and password.

  • Service account key: authenticates a Google Cloud service account using a JSON key file.

  • Application default: authenticates using the application default credentials of a service account attached to a Google Compute Engine VM. Available only when Striim runs on a Google Compute Engine VM.

Operation and event type handling

Firestore Writer handles database operations and event types the same way as MongoDB Writer.

Resilience and recovery

  • Supports connection retry to avoid application halting due to transient connection issues.

  • Supports recovery with at-least-once processing (A1P) by default, or exactly-once processing (E1P) when the Checkpoint Collection property is specified.

Performance

Supports parallel threads to increase throughput to the target during initial load.

Programmability

  • Flow Designer

  • TQL

Notes on Firestore terminology

Because Firestore Writer uses MongoDB compatibility, MongoDB's terms apply, and some have different meanings than they do in the context of popular SQL databases.

  • Database: contains one or more collections. A Google Cloud project can contain multiple Firestore databases, but each connection accesses a single database. To write to more than one database, configure a separate connection for each.

  • Collection: contains one or more documents, comparable to a table in SQL.

  • Document: a set of key-value pairs, comparable to a row in SQL, but without a fixed schema.