Embedded databases are lightweight, stand-alone libraries with no server components, no administration, a small code size, and limited resource requirements. There are several embedded databases that you can use in mobile applications. Let’s take a look at the most popular databases.

En.wikipedia.org/wiki/Embedd…

 

Berkeley DB

Berkeley DB was created by Sleepycat Software (now owned by ORACLE). Developed a set of open source embedded database management system (acquired by Oracle), which provides scalable, high performance data management services with transaction protection for applications.

Berkeley DB (BDB) is an efficient embedded database programming library with apis for C, C++, Java, Perl, Python, Tcl, and many other languages. Berkeley DB can hold any type of Key/Value Pair and can hold multiple data for a Key. Berkeley DB enables thousands of concurrent threads to operate the database at the same time, supporting up to 256 TERabytes of data, and is widely used on a variety of operating systems, including most Unix-like operating systems, Windows operating systems, and real-time operating systems.

www.oracle.com/database/te…

 

Couchbase Lite

Couchbase Lite is a lightweight, reliable, and secure JSON database for both online and offline mobile applications. It provides a productive and reliable reputation for your mobile applications even under the most uncertain network conditions. In addition, the ‘sync portal’ feature can also provide collaboration, social interaction or user updates.

Highlights of Couchbase mobile:

JSON Anywhere: Use a flexible data model designed for object-oriented mobile applications to instantly adapt to your application’s needs without drastic application changes.

2. Easy synchronization (easy synchronization) : synchronization is ready in just a few lines of code; Allows developers to focus more on application development rather than synchronization issues.

3. Native APIs: Manage mobile databases using APIs optimized for iOS and Android.

4.REST APIs: REST APIs provide an alternative access method based on your development needs.

 

LevelDB

LevelDB is a Key/Value storage engine written in C++ that supports high concurrent access and writes. LevelDB is especially suitable for high write business environments. LevelDB stores are divided into sstAbles, which are immutable and stored on persistent devices, and memtables, which are immutable and stored in memory.

Rely on Boost libraries

Github.com/google/leve…

 

SQLite

SQLite is an open source embedded relational database that implements a self-contained, zero-configuration, transaction-enabled SQL database engine. It is characterized by being highly portable, easy to use, compact, efficient and reliable. Unlike other database management systems, SQLite is very simple to install and run, and in most cases, you just need to make sure the SQLite binaries exist to start creating, connecting, and using the database. If you are looking for an embedded database project or solution, SQLite is definitely worth considering.

www.sqlite.org/index.html

 

UnQLite

UnQLite is an embedded C language software library from Symisc Systems. UnQLite is an in-process software library that implements a self-contained, serverless, zero-configuration transactional NoSQL database engine. UnQLite is a document storage database similar to MongoDB, Redis, CouchDB, etc. It is also a standard key/value storage similar to BerkeleyDB, LevelDB, etc. UnQLite is an embedded NoSQL (key/value storage and document storage) database engine. Unlike most other NoSQL databases, UnQLite does not have a separate server process. UnQLite reads and writes ordinary disk files directly. A complete database with multiple collections is contained in a single disk file. The database file format is cross-platform, and you can copy the database freely between 32-bit and 64-bit systems or between big-endian and little-Endian architectures.

www.unqlite.org/

Github.com/symisc/unql…

 

Firebird

www.firebirdsql.org/

 

SQLite DB Firebird Embedded Server Edition

Current version: 3.3.8, 4.5.20, 2.0 speed: fastest, fast, fast stability: good, good, good database capacity: 2TB, 256TB, 64TB SQL support: most sql-92, not supported, full sql-92 and most sql-99 Win32 platform minimum volume: Data manipulation: SQL, Application-only interface, SQL

Development interface: C, C++, PHP, Java, Delphi, Python.net(some developed by third party vendors)

Berkeley DB is special because it does not use SQL to manipulate data. Firebird’s embedded version is a bit larger by comparison, but it has the best support for relational database features. If you want to consider upgrading your database to a web version in the future, Firebird is the place to go.