Realm vs SQLDelight
Realm
realm.github.ioSQLDelight
sqldelight.github.ioSide by side
| Figure | Realm | SQLDelight |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| iOS | Yes | Yes |
| Android | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 2 |
| Spec score · Mobile Databases | 7.7 (#18) | 8.3 (#5) |
| Integrations | Realm's former Device Sync connected data across users, devices, and a backend in real time. | The docs provide extensions for Kotlin coroutines, RxJava, and AndroidX Paging, alongside a Gradle plugin. |
Plans
In their own words
Realm
Realm is an object database for local data persistence in mobile and edge applications. It runs directly on phones, tablets, and wearables, and presents data as objects that developers can query in code without an ORM. The database supports relationships, generics, and vectorization. Its documentation describes apps continuing to work through weak signal, offline periods, or outages. Listed SDKs include Java, Swift, Objective-C, JavaScript, and .NET; the JavaScript implementation supports React Native on iOS and Android, as well as Node.js and Electron on Windows, macOS, and Linux. Realm Swift supports encryption in transit and at rest. Realm Studio can open and edit local and synced Realms and administer Realm Object Server instances. Former Device Sync connected data across users, devices, and a backend in real time, but MongoDB announced deprecation of Device Sync and Realm SDKs in September 2024. Realm is free and open source under Apache License 2.0.
SQLDelight
SQLDelight generates typesafe Kotlin APIs from SQL statements and checks database schemas, SQL statements, and migrations at compile time. Its IDE features include SQL autocomplete and refactoring support. Documented database dialects include SQLite, MySQL, and PostgreSQL; HSQL and H2 are experimental, while CockroachDB, DB2, and Oracle dialects are listed as third-party options. The JVM connection overview lists MySQL and PostgreSQL, with JDBC and R2DBC variants shown for supported dialects. The project provides a Gradle plugin and extensions for Kotlin coroutines, RxJava, and AndroidX Paging. Its coroutines extension can expose a query as a Flow and emit updated results when the queried data changes. The Gradle verifySqlDelightMigration task applies migrations to stored schema databases and checks whether they reach the latest schema. SQLDelight is open source under the Apache-2.0 license and has a free listing at free, with no paid tiers stated. Its listed platforms are Android, API, iOS, Linux, macOS, web, and Windows.