What is Xata?
mainXata is an open-source, cloud-native platform for self-hosting multiple Postgres instances on Kubernetes. It is designed to provide advanced database management features like fast branching and scale-to-zero functionality.
Key Features
- Fast Branching: Uses Copy-on-Write (CoW) at the storage level to 'copy' large amounts of data (TB) in seconds.
- Scale-to-Zero: Automatically removes compute instances during inactivity and restores them upon new connections.
- Auto-scaling: Automatically scales compute nodes and uses bin-packing for cost efficiency.
- High Availability: Supports read-replicas and automatic failover.
- Serverless Driver: Provides SQL access over HTTP/websockets.
- Control Plane: Managed via REST APIs and a CLI with granular RBAC via API keys.
Core Technologies
Xata is built on top of:
- CloudNativePG: A Postgres operator for Kubernetes handling HA, failover, and backups.
- OpenEBS: A cloud-native storage project providing local and replicated storage engines.
Architecture Components
- SQL Gateway: Routes requests, handles IP filtering, and manages scale-to-zero wake-ups.
- Branch Operator: Manages resources for database branches.
- Control Plane: Comprised of
clustersandprojectsservices. - Auth Service: Based on Keycloak.
- Scale-to-zero CNPG plugin: Hibernates branches during inactivity.