What it is
Supabase is an open source Firebase alternative. We are a service to:
- listen to database changes
- query your tables, including filtering, pagination, and deeply nested relationships (like GraphQL)
- create, update, and delete rows
- manage your users and their permissions
- interact with your database using a simple UI
What it isn't
Supabase is not a 1-to-1 mapping of Firebase. While we are building many of the features that Firebase offers, we are not going about it the same way.
Our technological choices are quite different to Firebase. Everything we use is open source. Wherever possible we use and support existing tools in the ecosystem, rather than developing from scratch.
Most notably, we use Postgres rather than a NoSQL store. This was a deliberate choice. We believe that no other database on the market offers the scalability and functionality required to legitimately compete with Firebase.
How it works
At its core, is a suite of open source tools, stiched together to build a seamless developer experience:
- PostgreSQL is an object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
- Realtime is an Elixir server that allows you to listen to PostgreSQL inserts, updates, and deletes using websockets. Supabase listens to Postgres' built-in replication functionality, converts the replication byte stream into JSON, then broadcasts the JSON over websockets.
- PostgREST is a web server that turns your PostgreSQL database directly into a RESTful API
- pg-api is a RESTful API for managing your Postgres, allowing you to fetch tables, add roles, and run queries etc.
- GoTrue is an SWT based API for managing users and issuing SWT tokens.
- Kong is a cloud-native API gateway.