Realm

Realm is a an open-source and object-oriented DBMS, which is built for the mobile platform. It supports programming language including Objective-C, Swift, Java, Kotlin, C# and Javascript. It's built on zero-copy architecture, which could provide high speed and auto-updating results for the query.

History

Realm originates from the project called TightDB which was initially developed by Alexander Stigsen and Bjarne Christiansen began in the end of 2010. The first version of Realm was released in June 2016 and a platform for real-time two-way synchronization in beta version was released in 2016 September.

Query Compilation

Not Supported

Foreign Keys

Supported

Not Supported

Data Model

Object-Oriented

Logging

Logical Logging

Realm only maintains the log for the transaction. But it doesn't support the recovery mechanism.

Stored Procedures

Not Supported

Views

Virtual Views Materialized Views

Realm database supports reflective views and imperative views. Essentially they are very similar to materialized views and virtual views.

Concurrency Control

Multi-version Concurrency Control (MVCC)

In Realm, each connected thread will see a snapshot of the data at a particular point in time. Moreover, it utilizes the copy-on-write mechanism and allows only one client to modify data at a certain point.

Isolation Levels

Read Uncommitted

No objects shared between threads, which means it's literally single-thread.

System Architecture

Embedded

Realm Database is not a distributed database. It's mainly for the mobile device.

Joins

Not Supported

It's not relational database

Storage Model

Decomposition Storage Model (Columnar)

Properties would be kept contiguously linked at the vertical level.

Storage Architecture

Hybrid

You could configure during run-time.

Query Interface

Custom API

Realm Database has its own custom APIs.

Hardware Acceleration

Custom

No Acceleration

Realm Logo
Website

https://realm.io/products/realm-database

Source Code

https://github.com/realm

Tech Docs

https://realm.io/docs

Developer

Realm

Country of Origin

US

Start Year

2011

Former Name

tight.db

Project Type

Commercial, Open Source

Written in

C++

Supported languages

C#, Java, JavaScript, Objective-C, Swift

Operating Systems

Android, iOS, Windows

Licenses

Apache v2

Wikipedia

https://en.wikipedia.org/wiki/Realm_(database)#Features