Original author(s) | Alexander Stigsen and Bjarne Christiansen |
---|---|
Developer(s) | MongoDB Inc. |
Initial release | January 2017 |
Repository | github |
Written in | C++ |
Type | Object database |
License | Apache License 2.0 |
Website | realm |
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.
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.
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.
The most notable features of Realm are the following:
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.
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.
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:
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.
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.
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.
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.
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.