Realm (database)

Last updated
Realm
Original author(s) Alexander Stigsen and Bjarne Christiansen
Developer(s) MongoDB Inc.
Initial releaseJanuary 2017;7 years ago (2017-01)
Repository github.com/realm
Written in C++
Type Object database
License Apache License 2.0
Website realm.io

Realm is an open source object database management system, initially for mobile operating systems (Android/iOS) [1] but also available for platforms such as Xamarin, [2] React Native, [3] and others, [4] [5] including desktop applications (Windows [6] ). It is licensed under the Apache License.

Contents

In September 2016, the Realm Mobile Platform was announced, followed by the first stable release in January 2017. It allows two-way synchronization between the Realm Object Server [7] [8] and the client-side databases that belong to the given logged-in user. Both a developer and a commercial edition [9] was released, along with a business license [10] for integrating with other database management systems such as PostgreSQL. [11] [12]

In Spring 2019, MongoDB acquired Realm for 39 million USD. [13]

In September 2023, the Realm database was rebranded to be called "Atlas Device SDKs". However, in the following year, September 2024, MongoDB announced the deprecation of the Atlas Device Sync service, synchronizing Realm with MongoDB. The database will stay available as open-source, but will no longer be maintained by the MongoDB team. [14] In October 2024, MongoDB announced several options that will offer a sync service for MongoDB instead, e.g. Ditto, ObjectBox and Powersync.

History

Realm's development began in the end of 2010 by Alexander Stigsen, along with Bjarne Christiansen, [15] under the name TightDB. The company started in 2011 at Y Combinator. [16] It was promoted as NoSQL with configurable durability, and the ability to share the same groups of data across multiple processes, but also even multiple devices and clusters.

TightDB renamed its product to Realm in September 2014, and released it for public testing. In March 2015, funding of about $20 million was disclosed. [16] [17]

Realm was mentioned in some trade press, [18] [19] including by other firms such as IBM. [20]

Realm announced version 1.0 in June 2016, and released a platform for real-time two-way synchronization (beta in 2016 September, release in 2017 January), [21] and provided a Node.js SDK for server-side applications. [22]

In May 2017, UWP support was announced.

Features

The most notable features of Realm are the following:

Programming language support

Related Research Articles

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Windows, Linux, macOS, FreeBSD, and OpenBSD, and handles a range of workloads from single machines to data warehouses, data lakes, or web services with many concurrent users.

The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.

In databases, a partial index, also known as filtered index is an index which has some condition applied to it so that it includes a subset of rows in the table.

A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.

<span class="mw-page-title-main">Navicat</span> SQL database management software

Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.

<span class="mw-page-title-main">Apache CouchDB</span> Document-oriented NoSQL database

Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

<span class="mw-page-title-main">Couchbase Server</span> Open-source NoSQL database

Couchbase Server, originally known as Membase, is a source-available, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines.

<span class="mw-page-title-main">Opa (programming language)</span>

Opa is a programming language for developing scalable web applications. It is free and open-source software released under a GNU Affero General Public License (AGPLv3), and an MIT License.

A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model.

<span class="mw-page-title-main">Apache Drill</span> Open-source software framework

Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dremel system. Drill is an Apache top-level project. Tom Shiran is the founder of the Apache Drill Project. It was designated an Apache Software Foundation top-level project in December 2016.

Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase.

SymmetricDS is open source software for database and file synchronization with Multi-master replication, filtered synchronization, and transformation capabilities. It is designed to scale for a large number of nodes, work across low-bandwidth connections, and withstand periods of network outage. Data synchronization occurs asynchronously from a scheduled job, with data changes being sent over a push or pull operation. It uses standard web protocols (HTTP) and database technologies (JDBC) in order to support a wide range of platforms and maximize its interoperability. It includes support for Oracle, MySQL, MariaDB, PostgreSQL, Greenplum, SQL Server, SQL Server Azure, HSQLDB, H2, Derby, DB2, Firebird, Informix, Interbase, SQLite, Sybase ASE, Sybase ASA, MongoDB, Amazon_Redshift, and VoltDB databases.

<span class="mw-page-title-main">MEAN (solution stack)</span> JavaScript software stack

MEAN is a source-available JavaScript software stack for building dynamic web sites and web applications. A variation known as MERN replaces Angular with React.js front-end, and another named MEVN use Vue.js as front-end.

<span class="mw-page-title-main">DBeaver</span> Multi-platform database administration software

DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. It is written in Java and based on the Eclipse platform.

References

  1. "Realm: Object Centric Present Day Database for Mobile Applications" . Retrieved 2017-04-22.
  2. "Realm mobile database platform now has support for Microsoft's Xamarin". Gooroo. Retrieved 2017-04-22.
  3. "Realm: Introducing Realm React Native" . Retrieved 2017-04-22.
  4. "Realm: Microsoft Xamarin 1.0, Azure, Windows Desktop" . Retrieved 2017-04-22.
  5. "Realm Mobile Platform Supports Xamarin, Microsoft Azure – ADTmag". ADTmag. Retrieved 2017-04-22.
  6. "Using Realm Mobile Database in a converted desktop app with the Desktop Bridge". App Consult Team. Retrieved 2017-04-22.
  7. Kepes, Ben. "Realm broadens its mobile database offering with Object Server". Network World. Retrieved 2017-04-22.
  8. "Realm broadens its mobile database offering with Object Server | The Diversity Blog – SaaS, Cloud & Business Strategy". www.diversity.net.nz. Retrieved 2017-04-22.
  9. "Realm launches commercial edition of its mobile database – SiliconANGLE". SiliconANGLE. 2017-01-19. Retrieved 2017-04-22.
  10. "Realm Open Sources Mobile Database, Grows It into Enterprise Platform – ADTmag". ADTmag. Retrieved 2017-04-22.
  11. "Realm Makes PostgreSQL Real-Time with New Connector". Database Trends and Applications. 2017-03-21. Retrieved 2017-04-22.
  12. "Realm's Mobile Development Platform Links to PostgreSQL to Tie into Enterprise Data – The New Stack". The New Stack. 2017-03-21. Retrieved 2017-04-22.
  13. Miller, Ron. "MongoDB to acquire open-source mobile database Realm for $39 million". techcrunch.com. Retrieved 2019-04-25.
  14. "MongoDB Feature Updates: End-of-Life and Deprecation". mongodb.com. Retrieved 2024-09-30.
  15. "A startup launched 9 months ago by these former Nokia engineers is going absolutely bonkers". Business Insider. Retrieved 2017-04-22.
  16. 1 2 Ron Miller (March 24, 2015). "Realm Can Expand Its Reach With $20M Investment". Tech Crunch. Retrieved May 21, 2017.
  17. "Form D: Notice of Exempt Offering of Securities". March 30, 2015. Retrieved May 21, 2017.
  18. Krill, Paul. "Realm revives object database for mobile dev". InfoWorld. Retrieved 2017-04-22.
  19. Thomas Claburn (September 29, 2016). "Realm – a database you may not have heard of but app devs have – touts cloudy platform". The Register. Retrieved May 21, 2017.
  20. "Visual Recognition Mobile App with Watson, Realm, and Swift – IBM OpenTech". IBM OpenTech. 2016-12-12. Retrieved 2017-04-22.
  21. "Realm: Introducing the Realm Mobile Platform" . Retrieved 2017-04-22.
  22. "Realm Releases Object Database for Node.js". InfoQ. Retrieved 2017-04-22.
  23. realm/realm-kotlin, Realm, 2024-07-27, retrieved 2024-07-27