Realm is a an open-source and object-oriented DBMS, initially for mobile(Android/iOS), also available for platforms such as Xamarin or React Native, and others including desktop application(Windows).[1] 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.[04]
- Website
- https://realm.io/[01]
- Source Code
- https://github.com/realm[02]
- Developer
- Country of Origin
- US
- Start Year
- 2011 [10]
- Former Name
- tight.db
- Project Types
- Commercial, Open Source
- Written in
- C++
- Supported Languages
- C#, Java, JavaScript, Objective-C, Swift
- License
- Apache v2
Realm is a an open-source and object-oriented DBMS, initially for mobile(Android/iOS), also available for platforms such as Xamarin or React Native, and others including desktop application(Windows).[1] 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.[04]
History[04]
Realm originates from the project called TightDB which was initially developed by Alexander Stigsen and Bjarne Christiansen began in the end of 2010. Later in 2011 they started a company at Y Combinator and renamed the product to Realm in 2014 September.
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.
Checkpoints
Not Supported
Compression
Not supported
Concurrency Control[05]
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.
Logging[07]
Realm maintains a transaction log to coordinate operations across boundaries between threads/processes. The log includes all the individual changes made to the database.
System Architecture
Realm Database is not a distributed database. It's mainly for the mobile device.
Views
Realm database supports reflective views and imperative views. Essentially they are very similar to materialized views and virtual views.
Citations
10 sources- Atlas Device SDKs Deprecation - Atlas Device SDKs - MongoDB Docs realm.io
- Realm · GitHub github.com
- Atlas Device SDKs Deprecation - Atlas Device SDKs - MongoDB Docs mongodb.com
- Realm (database) - Wikipedia wikipedia.org
- https://academy.realm.io/posts/threading-deep-dive realm.io
- https://realm.io/blog/xamarin-ch9-realm-mobile-database-adam-fish realm.io
- https://docs.realm.io/platform/self-hosted/customize/log-compaction realm.io
- Atlas Device SDKs Deprecation - Atlas Device SDKs - MongoDB Docs realm.io
- https://academy.realm.io/posts/jp-simard-realm-core-database-engine realm.io
- https://www.crunchbase.com/organization/realm-2#section-overview crunchbase.com