Choosing an open source database management system
Firebird
Firebird [7] offers concurrency, high performance, and language support for stored procedures and triggers. Based on InterBase 6.0 source code released in 2000 from Inprise (now the Borland Software Corporation), Firebird has been used in production systems under various names since 1981.
Supporting many ANSI SQL standard features, Firebird uses Procedural SQL (PSQL) as its internal language for stored procedures. It is 100-percent ACID-compliant and uses a multi-generational architecture (similar to MVCC) to ensure OTLP and OLAP operation. It offers careful writes that result in fast recovery with no need for transaction logs. With a small footprint, Firebird requires minimal configuration.
Firebird achieves high availability through optimistic locking at the record level, which reduces wait times. It adapts to fluctuating workloads and can be replicated to safeguard against disk failure. Online backups using snapshots allow for 24/7 operation.
You can scale Firebird in any direction with growth limited to available disk storage, which can be spread across multiple hard disks. With Firebird, the database engine manages the database's on-disk structure independent of the filesystem. You can embed the engine as a standalone client application, deploy it in a 2-tier client/server LAN with support for up to 750 users, or use it in a multi-tier system with thousands of users.
Firebird offers security via user authentication at the server level, SQL privileges within the database, optional database encryption via plugins, and wire protocol encryption between client and server.
Developed by a large community of independent C/C++ programmers, technical advisors, and supporters, Firebird provides documentation on their website along with community support through mailing lists [8].
With Firebird's Initial Developer's Public License (IDPL), you can build a custom version as long as any modifications are made available under an IDPL license, which enables other users to build on and use your modifications. An InterBase Public License (IPL) covers the source code inherited from InterBase, while the IDPL license applies to any additions or improvements made by the Firebird Project to the original InterBase code. There are no fees to download, register, license, or deploy Firebird "even for commercial developers."
CUBRID
Optimized for OTLP with fast query responses, CUBRID [9] offers enterprise-grade features that support distributed transactions and multiple replication methods.
To guarantee high availability, CUBRID relies on a simple single primary/secondary configuration to provide basic failover services. For intensive read scenarios, it uses a multi primary/secondary and primary/secondary/replica configuration.
If your software or hardware fails, WAL guarantees consistency and accuracy for restoring the database and online backup. CUBRID Backup options include hot/online as well as offline and incremental backups. You can even choose the level of backup you require.
You can scale CUBRID both vertically and horizontally with no limit on database size or number of tables, indexes, and rows. Even when the amount of data or queries increases, MVCC, lock-free hashes, row level and lock escalation, promotable read-to-write page latches, and other optimizations guarantee continued performance.
For security, CUBRID uses SSL/TLS to encrypt data between the client and the server and OpenSSL for server-side encryption.
The CUBRID engine has an Apache v2 license, with a BSD license for the CUBRID APIs and GUI tools.
NoSQL DBMSs
Non-relational, or NoSQL, DBMSs began to emerge in the late 2000s in response to decreased storage costs and increased data usage in applications. A non-tabular DBMS, NoSQL offers a more flexible schema, which makes horizontal scaling easier. As a result, NoSQL DBMSs can handle larger datasets and higher user loads, as well as allow for faster queries. They can handle ad-hoc organization and analysis of high volume data of disparate data types, allowing you to query specific information when you need it.
NoSQL DBMSs differ based on purpose. The four main types are:
- Document DBMS: Documents can vary in structure (they can even be incomplete), which leads to greater flexibility. You can embed other documents within a document. A document's fields function like columns in an RDBMS, and these fields can be indexed to increase search performance.
- Key-value stores: A simpler DBMS that associates a value with a key, which is then used to identify the object.
- Wide-column DBMS: Stores data in tables, rows, and dynamic columns and can use variable column names and formats across rows. This type of DBMS is good for quickly accessing columnar data. It can also store data across multiple machines to enhance security.
- Graph DBMS: Stores data in nodes (people, places, and things) and edges (relations to nodes). A graph DBMS maintains both data and relationships between data points, where the relationship is often just – if not more – important as the data itself.
If you have data that doesn't fit into a predefined relational mode, NoSQL DBMSs are the best choice for storing and processing that data. They work well with human- or machine-generated data in a text or non-text format. A NoSQL DBMS is also the best option for horizontal scaling, especially for cases where you want your data spread out over multiple geographic locations. Examples of NoSQL DBMSs include Apache Cassandra, MongoDB, Redis, JanusGraph, and CouchDB.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Gnome 47.1 Released with a Few Fixes
The latest release of the Gnome desktop is all about fixing a few nagging issues and not about bringing new features into the mix.
-
System76 Unveils an Ampere-Powered Thelio Desktop
If you're looking for a new desktop system for developing autonomous driving and software-defined vehicle solutions. System76 has you covered.
-
VirtualBox 7.1.4 Includes Initial Support for Linux kernel 6.12
The latest version of VirtualBox has arrived and it not only adds initial support for kernel 6.12 but another feature that will make using the virtual machine tool much easier.
-
New Slimbook EVO with Raw AMD Ryzen Power
If you're looking for serious power in a 14" ultrabook that is powered by Linux, Slimbook has just the thing for you.
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.