Firestore CDC
Listen to Firestore document changes in real time via Cloud Firestore triggers. Every create, update, and delete flows to SQL with low latency.
Real-time syncNested Collection Flattening
Firestore sub-collections are automatically detected and either flattened into their own tables or embedded as JSONB columns.
Sub-collection awareSchema Discovery
Firestore documents within a collection can have different fields. NoSQLSync samples across all documents to build a complete schema covering every field.
Union schemaType Mapping Engine
Firestore types map cleanly to SQL: string → TEXT, number → NUMERIC, boolean → BOOLEAN, timestamp → TIMESTAMPTZ, geopoint → POINT, array → JSONB.
Full type coverageSecurity Rules Audit
Analyze Firestore security rules to understand data access patterns before migration. Import only documents your app logic actually reads.
Rules-awareZero Downtime Cutover
CDC keeps SQL current while Firestore stays authoritative. Check the record counts, then cut over on your own schedule.
Safe cutoverThree steps to PlanetScale
Type mapping: Firestore → PlanetScale
PlanetScale speaks the MySQL wire protocol. Connect it as a MySQL target using your PlanetScale connection string — every MySQL type mapping below applies unchanged.
Frequently asked questions
Each sub-collection can become its own SQL table with a foreign key to the parent document, or be flattened into a JSONB column in the parent table.
CDC sync uses Firestore's built-in change streams. The listener captures all writes to any document in the collection and replays them to the SQL target.
Document references are resolved to the target document's ID and stored as foreign keys. Circular references are detected and handled safely.
A typical 100 GB dataset migrates in under 2 hours with bulk mode. With CDC enabled, ongoing writes sync in real time. Total time depends on data volume and network throughput.
Yes. All data is encrypted in transit (TLS 1.3) and at rest (AES-256). Database credentials use short-lived tokens. Migration workers run in an isolated environment and never store data after the job completes.
Yes. NoSQLSync only reads from your source — it is never modified, and CDC keeps running until you stop it. If you hit a problem after cutover, point your application's connection string back at the source.
Ready to migrate to PlanetScale?
Connect your Firestore and PlanetScale instances. No credit card required.