+ I am a Firebase GDE and I still consider Firestore to be an amazing product and very well established being more than 5 years old now. Firebase provides built-in support for Authentication, Remote Config, Cloud Functions, Cloud Messaging, Cloud Storage and Hosting. Every Firebase project is a Google Cloud Platform project and can extend its reach in incredible ways. +
++ I am also an AWS Community Builder focusing on Front-End Web & Mobile. The AWS Amplify product includes DynamoDB which is a fast, flexible NoSQL database service for single-digit millisecond performance at any scale. Utilizing all of the services within Amazon Web Services (AWS) portfolio is amazing powerful. AWS Amplify includes Authentication, PubSub, Functions, Push notifications, and Storage. All of this while using Cloud Formation for IaC to make changes easily (although at times slow) and consistent across environments. +
++ Appwrite is an open source alternative to the above mentioned products, it can be loaded with a simple docker compose command anywhere docker runs. Full disclosure I was a Developer Advocate for them as well. Everything in Appwrite is written in PHP but like the others provides a host of different SDK's for both web and mobile. As of writing this the database powering the default solution is MariaDB. One of the unique abstractions that Appwrite provides is that it allows really for any database type and I am sure the team will add Postgres in the near future. Appwrite also includes Authentication, Storage, and Functions. Appwrite's realtime is not built into the connection like Firestore, but it makes it easy to get any events across the entire system not just the database which is really awesome! +
++ Of course if I am writing about Appwrite I need to also talk about Supabase. Supabase hasn't been around as long as Firebase and AWS Amplify, but it has won the hearts of developers. It includes a Postgres Database along with Authentication, Storage, Realtime and Edge Functions. +
++ Unlike the solutions above MongoDB actually positions its Atlas product as a "data platform". As you can read in their blog Why Serverless is the Architecture Developers Have Been Waiting For MongoDB is positioning itself really well with the MongoDB Atlas Serverless product! +
++ If you love MySQL I am sure you have heard of PlanetScale! It replaces a lot of tech, and includes Vitess. The Query Monitoring alone make this one of my favorite picks! +
++ AlloyDB is pushing performance forward with 4x faster than standard PostgreSQL for transactional workloads and 100x faster analytical queries. Although still in preview AlloyDB Omni is a downloadable edition of AlloyDB designed to run anywhere. Which means that you can use it to run at the edge with serverless solutions! +
++ AWS Aurora was one of the first serverless Postgres offered and continues to be a very cost effective, highly scalable solution. +
++ CockroachDB Serverless is a fully managed service that automatically scales up and down based on demand, and it provides a high level of availability and durability. The service is also compatible with PostgreSQL, so developers can use their existing skills and tools to build applications on CockroachDB Serverless. +
++ EdgeDB has one of the dopest database animations using three.js, make sure you checkout their homepage! EdgeDB came up with something called a graph-relational database, it still uses Postgres query engine under the hood but it makes you think in an object-oriented data model which I absolutely love! +
+ +```ts +module default { + type Account { + required property username -> str { + constraint exclusive; + }; + multi link watchlist -> Content; + } + + type Person { + required property name -> str; + link filmography := .+ Neon is on fire ever since Introducing storage on Vercel. Neon is Postgres built with the first serverless SQL database for the frontend cloud. You can see from their diagrams about branch preview deployments that they truly have DX figured out! +
++ Supabase has everything you would need for a full BaaS solution including database, auth, storage and more. On top of that with their latest series B they are now moving to the third phase (sounds a lot like a MCU movie) where they will be working on Ephemeral compute and scaling down to zero when it's unused. +
++ If you are looking to store time series data, Timescale is the perfect. It takes Postgres to the next level for both transactional and analytical workloads. It has features like policies for automated data aggregation, downsampling and retention. +
++ Upstash makes serverless Redis so darn easy is freaky! See the below code snippet. They also offer Kafka and QStash as well, which makes a solid argument for using them for all your serverless data requirements. +
+ +```ts +import { Redis } from '@upstash/redis'; + +const redis = new Redis({ + url: 'https://obi-wan-kenobi-31346.upstash.io', + token: 'TOKEN' +}); + +const data = await redis.set('foo', 'bar'); +``` + ++ If you 💜 GraphQL then you will for sure like Grafbase. It combines your data sources into a centralized GraphQL endpoint. This is also a great solution for branch preview deployments! If you run in `dev` it will spin up sqlite database, but in reality you can wrap these with any auth and database solutions. +
++ Turso is really cool, you can write a TypeScript Class and it will generate an API. Turso is an edge-hosted distributed database based on libSQL, which is the open-source and open-contribution fork of SQLite. You can find a lot more detail in this great tutorial by James Sinkala Early impressions of Turso, the edge database from ChiselStrike. +
++ Fauna is the only distributed serverless cloud database that combines the flexibility of NoSQL systems with the relational querying and ACID consistency of SQL databases. It is super similar to Firestore with some important differences. We had a great chat with Rob Sutter all about it in our Podcast Scaling Transactional Data Globally with Fauna, make sure to check it out! +
++ Ably is a slightly different than the other solutions in post, as it provides highly scalable realtime solutions. These include Live Chat, Multiplayer Collaboration, Data Broadcast, Data Syncronization, and Notifications. What is really cool about this is that you can have you data storage and processing in your backend and Ably can provide all of hte pub/sub and state persistence needed across a global edge network. +
++ Convex is a web developers dream when it comes to Type Safety! Now that I said the best part it also includes functions, file storage, scheduling, search and realtime updates. +
++ Hasura offers an "Instant GraphQL" on all your data. The power with Hasura is in how many databases are already supported! Including CockroachDB, Neon and Supabase! +
++ If you are looking to add presence or collaboration into a document liveblocks makes it amazingly simple! Checkout the below code, you get this amazing cursor presence across your application! They also have document browsing, permissions management and database synchronization. +
+ +```ts +import { createClient } from '@liveblocks/client'; + +const client = createClient({ + /* ... */ +}); + +const room = client.enter('my-room', { + initialPresence: { cursor: null } +}); + +document.addEventListener('pointermove', (e) => { + room.updatePresence({ + cursor: { x: e.clientX, y: e.clientY } + }); +}); + +document.addEventListener('pointerleave', (e) => { + room.updatePresence({ cursor: null }); +}); + +room.subscribe('others', (others) => { + // On client A: [{"cursor":null}] + // On client B: [{"cursor":null}] + /* re-render cursors based on others presence */ +}); +``` + ++ NHost is much like Firebase and Appwrite, but everything is in GraphQL. It is built on top of Hasura, Postgres and S3. Being a Firebase GDE and working for Appwrite in the past I might be a little biased here, so I will leave this at that. +
++ Because Rowy is a low-code backend at first it might seem like it is just another easy way to view Firestore. When in reality it is so much more than that! As you can see below you can write your own backend logic as well. They also have support coming for MongoDB and Postgres. I am excited to see what else they can add to this solution. +
+ +  + ++ This one is for you Rust fans! SurrealDB is a SQL-style query language, with real-time queries. Because it offers a full graph database you can perform advanced queries and analysis. The really cool part is that it handles all the DIFFing and PATCHing for highly-performant web-based data syncing in realtime. +
++ I couldn't talk about Xata without mentioning Monica Sarbu is the CEO. She is the former Director of Engineering and helped drive Elastic to IPO. Not only does Xata offer a Relational Database but it also has search Integrated. Now you see why it is important to understand the Elastic background. With database branching, type safety, built-in AI and more, Xata is just getting rolling and is checking off a lot of boxes! I also want to call out that they have one of the few public roadmaps so you can see what they are working on and the current changelog. +
+A domesticated, black crazy cat.
+ +