<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: itsezc</title>
    <description>The latest articles on DEV Community by itsezc (@itsezc).</description>
    <link>https://dev.to/itsezc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264192%2Fee685764-ea77-4e4b-a81c-9db36458b1ff.jpeg</url>
      <title>DEV Community: itsezc</title>
      <link>https://dev.to/itsezc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/itsezc"/>
    <language>en</language>
    <item>
      <title>Are we Surreal yet?</title>
      <dc:creator>itsezc</dc:creator>
      <pubDate>Mon, 23 Feb 2026 23:36:04 +0000</pubDate>
      <link>https://dev.to/itsezc/are-we-surreal-yet-1el9</link>
      <guid>https://dev.to/itsezc/are-we-surreal-yet-1el9</guid>
      <description>&lt;p&gt;Updated: 24th February 2026&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is SurrealDB, Really?
&lt;/h2&gt;

&lt;p&gt;SurrealDB is not merely a document store or a graph database. It is a multi-model database engine with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Native authentication and authorization&lt;/li&gt;
&lt;li&gt;Fine-grained access control&lt;/li&gt;
&lt;li&gt;Built-in functions and event triggers&lt;/li&gt;
&lt;li&gt;Graph relationships&lt;/li&gt;
&lt;li&gt;Full-text search&lt;/li&gt;
&lt;li&gt;Vector support for AI workloads&lt;/li&gt;
&lt;li&gt;HTTP + WebSocket APIs&lt;/li&gt;
&lt;li&gt;Embedded and distributed modes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice, this means SurrealDB can operate as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your database&lt;/li&gt;
&lt;li&gt;Your auth server&lt;/li&gt;
&lt;li&gt;Your API layer&lt;/li&gt;
&lt;li&gt;Your realtime engine&lt;/li&gt;
&lt;li&gt;Your business logic runtime&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words: a backend-as-a-service without the typical SaaS constraints.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Can you replace your existing backend with SurrealDB?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In many cases: yes.&lt;/p&gt;

&lt;p&gt;Especially for greenfield projects, SurrealDB can meaningfully reduce or eliminate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom API servers&lt;/li&gt;
&lt;li&gt;ORMs and migration tooling&lt;/li&gt;
&lt;li&gt;Separate auth services&lt;/li&gt;
&lt;li&gt;GraphQL layers&lt;/li&gt;
&lt;li&gt;Realtime brokers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Permissions are defined at the schema level.&lt;/li&gt;
&lt;li&gt;Business logic can live inside database functions.&lt;/li&gt;
&lt;li&gt;Relationships are first-class.&lt;/li&gt;
&lt;li&gt;Queries are expressive enough to replace many REST handlers.&lt;/li&gt;
&lt;li&gt;WebSocket subscriptions provide live updates natively.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The developer experience is unusually cohesive. You model your data, define permissions, write logic, and expose it all in one place.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bigger Vision
&lt;/h2&gt;

&lt;p&gt;Traditional backend architecture looks like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Frontend → API Server → Auth Server → Cache → Database → Queue → Worker → Storage&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The Surreal-first architecture trends toward:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Frontend → SurrealDB&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;With schema, permissions, logic, relationships, and realtime transport unified. The question is not whether SurrealDB can replace parts of your backend. It already can.&lt;/p&gt;

&lt;p&gt;The real question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How far can we push it before we need anything else?&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Extensions (Surrealism)&lt;/td&gt;
&lt;td&gt;User defined extensions&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth&lt;/td&gt;
&lt;td&gt;Authentication &amp;amp; Authorization with Permissions&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Functions&lt;/td&gt;
&lt;td&gt;User defined functions&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Endpoints&lt;/td&gt;
&lt;td&gt;User defined API endpoints&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Events&lt;/td&gt;
&lt;td&gt;Triggered by Table CRUD events&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File Storage (Buckets)&lt;/td&gt;
&lt;td&gt;Store Files in Buckets&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;S3 Remote is Enterprise Only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Live Queries &amp;amp; Changefeeds&lt;/td&gt;
&lt;td&gt;Real-time data updates&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graphs (Edges)&lt;/td&gt;
&lt;td&gt;Graph tables&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Record Versions&lt;/td&gt;
&lt;td&gt;Time-series&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;SurrealKV only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full-text Search&lt;/td&gt;
&lt;td&gt;Multi-language and algorithm ready&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Geometry Fields&lt;/td&gt;
&lt;td&gt;GeoJSON&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vector Embeddings&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RAG &amp;amp; Graph RAG&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Embedded Mode&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;via WASM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GraphQL API&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;In-progress&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Surreal AI&lt;/td&gt;
&lt;td&gt;LLM Model calls&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;In-progress&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opentelemetry&lt;/td&gt;
&lt;td&gt;Producer &amp;amp; Datastore&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;Producer only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rate Limiting&lt;/td&gt;
&lt;td&gt;for Tables, Fields and Functions&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Remote HTTP APIs abusable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebAuthn&lt;/td&gt;
&lt;td&gt;Password-less Auth flows&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OAuth &amp;amp; OpenID Server&lt;/td&gt;
&lt;td&gt;Create multi-tenant OAuth services&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cron Jobs&lt;/td&gt;
&lt;td&gt;Scheduled tasks&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sync&lt;/td&gt;
&lt;td&gt;Offline-first CRDT sync mechanism&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Message Queue&lt;/td&gt;
&lt;td&gt;Pub / Sub system&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Child Databases&lt;/td&gt;
&lt;td&gt;Schema-copied databases for SaaS apps&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database Branching&lt;/td&gt;
&lt;td&gt;Copy-on-Write clone of your database&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Incremental Backups&lt;/td&gt;
&lt;td&gt;Faster and cheaper backups overtime&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Planned&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  SurrealKV
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Encryption at REST&lt;/td&gt;
&lt;td&gt;AES-GCM/XChachaPoly1305&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;via KMS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Distributed&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;Enterprise Only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Ecosystem
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dashboard (Surrealist)&lt;/td&gt;
&lt;td&gt;Manage Database instance via UI&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Helm Chart&lt;/td&gt;
&lt;td&gt;Kubernetes deployment&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Migrations &amp;amp; Seeding&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Third-party&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VSCode Extension&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Third-party&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zed Extension&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;Third-party&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Documentation
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;Full documentation&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;in English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;University&lt;/td&gt;
&lt;td&gt;Course platform&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>surrealdb</category>
    </item>
  </channel>
</rss>
