Power real-time experiences with a database that reacts to change instantly - keeping your applications fast, synchronised, and always up to date.
The problem with traditional databases
Traditional databases weren't built for real-time experiences. Delivering responsive applications often means combining multiple systems, moving data between them, and managing growing architectural complexity.
Fragmented architecture
Relational, cache, search, and streaming databases each solve part of the problem, forcing teams to split data across multiple systems to achieve real-time behaviour.
Complex data sync
Keeping data consistent across databases requires custom pipelines, background jobs, and event streams - increasing latency and the risk of data drift.
Operational overhead
Every additional database introduces new infrastructure, scaling strategies, security models, and failure modes that teams must maintain.
Slower time to market
Stitching together multiple data systems slows development, makes changes risky, and diverts engineering effort away from building user-facing features.
One database for real-time applications
Real-time by design
Designed for real-time applications from the ground up, with live queries and subscriptions that push data changes instantly.
Native multi-model
Work with relational, document, graph, and key-value data in a single database — eliminating the need to stitch together multiple specialized systems.
Expressive by design
SurrealQL unifies querying, relationships, permissions, and logic into a single expressive language, reducing complexity and enabling richer applications.
Less systems, more speed
Reduce operational complexity and accelerate development by replacing caches, message brokers, and sync layers with a single real-time platform,
Keep track of changes in real time with Live Queries
Live Queries lets you listen for creations, updates and deletions to specific records you are interested in or entire tables.
1-- Get real-time updates for changes in a table (e.g., for a dashboard or live feed): 2LIVESELECT * FROMmessage; 3 4-- With filtering 5LIVESELECT * FROMmessageWHEREstatus='error'; 6 7-- In your client, you'll receive notifications whenever records are created, updated, or deleted in the message table matching the query.
Event triggers for real-time processing
Automatically trigger logic when new data is inserted (e.g., generate an embedding or send a notification):
1-- Notify an external service 2DEFINEFUNCTIONfn::notify_admin($record) { 3RETURNhttp::post("https://example.com/api/notify", $record); 4}; 5 6-- Subscribe to events and forward notifications 7DEFINEEVENTnotify_new_personONTABLEperson 8WHEN$event="CREATE" 9THEN{ 10LET$record = $after; 11SELECTfn::notify_admin($record); 12};
Time series modelling and aggregation
Store sensor readings with timestamps and aggregate them in near real-time:
1-- Insert a time-stamped reading 2CREATEsensor_readings:[location:MainHall, sensor:Temp01, time::now()]CONTENT{ 3temperature_celsius: 22.5 4}; 5 6-- Pre-computed view for daily averages 7DEFINETABLEdaily_readingsAS 8SELECTid[0]ASlocation, 9time::day(id[2]) ASday, 10math::mean(temperature_celsius) ASavg_temp 11FROMsensor_readings 12GROUPBYid[0]; 13 14-- Live query the daily view for real-time dashboarding 15LIVESELECT * FROMdaily_readings;
Custom event-based anomaly detection
Trigger an HTTP notification when a sensor value exceeds a threshold:
1# Detect specific events and broadcast an alert 2DEFINEEVENThigh_temp_alertONTABLEsensor_readings 3WHEN$event="CREATE"AND$after.temperature_celsius>30 4THEN{ 5RETURNhttp::post("https://example.com/api/alert", { 6sensor: $after.id[1], 7value: $after.temperature_celsius 8}); 9};
Enterprise-ready by design
Security, scalability, and reliability built directly into the core of SurrealDB.
Built-in security
Fine-grained access control, authentication, and permissions are enforced directly at the database level to protect data across teams and applications.
Scale with confidence
Designed to scale horizontally and handle high-throughput, real-time workloads without sacrificing performance or reliability.
Flexible deployment
Run SurrealDB on-premises, in the cloud, or at the edge - giving enterprises full control over data residency and infrastructure.
Operational reliability
Strong consistency, fault tolerance, and predictable behaviour ensure SurrealDB can support mission-critical production systems.
Real-world scenarios
From gaming to fintech and ecommerce, SurrealDB's powers reactive real-time applications
Gaming
Instant state updates, real-time matchmaking, and live player interactions - all natively powered by SurrealDB's real-time queries and live data synchronization.
Fintech
Live market data, real-time risk calculations, fraud detection, and instant portfolio updates require low-latency, reactive data flows.
Media and live streaming
Real-time chat, reactions, analytics, and content personalisation depend on fast, event-driven data updates.
Retail and ecommerce
Inventory levels, pricing updates, order status, and live bidding experiences require immediate consistency across systems.
Real-time that moves the business
Faster time to market
Simplify your architecture and reduce dependencies, allowing teams to ship real-time features faster and iterate with confidence.
Lower TCO
Replace multiple databases, caches, and streaming systems with a single platform - reducing infrastructure, maintenance, and operational costs.
Better user experience
Instant updates and live data synchronization create responsive, engaging applications that increase user satisfaction and retention.
Future-proof architecture
A flexible, multi-model database with built-in real-time capabilities adapts easily as product requirements and business needs evolve.
Powering innovation across industries
Unlocking insights with knowledge graphs
Samsung uses SurrealDB to power a knowledge graph for real-time audience insights and ad targeting in its ad division.