A Database is a systematic collection of data which supports storage and manipulation of information. It is usually managed by a Database Management System (DBMS). Data within a database is typically modeled in rows and columns in tables to make data querying and processing more efficient.

Following is a handpicked list of Top Free database, with popular features and download links. This comparison list contains open-source tools that may have freemium features.

1) MySQL

MySQL is an open-source relational database which runs on a number of different platforms such as Windows, Linux, and Mac OS, etc.

Ninox is a personal Mac database of the flat file style with table relation capabilities. That makes it a bit less capable than full-fledged relational.

Platform: Linux, Windows, and Mac.

Languages: C, Java, SQL, C++, Perl, Python, Tcl, and PHP.

Cloud Version: Yes

Features:

  • The tool provides Scalability and Flexibility
  • The tool has web and data warehouse strengths
  • It provides high Performance
  • It has Robust Transactional Support

Verdict: MySQL can be used for packaged software, and business-critical systems and high-volume websites.

Link:https://www.mysql.com/

2) PostgreSQL

PostgreSQL is an enterprise-class open source database management system. It supports both SQL for relational and JSON for non-relational queries. It is backed by an experienced community of developers who have made a tremendous contribution to make it highly reliable Database management software.

Platform: Mac, Windows, and Linux.

Languages: PL/Tcl, PL/pgSQL, PL/Python, and PL/Perl.

Cloud Version: No.

Features:

  • Compatible with various platforms using all major languages and middleware
  • Standby server and high availability
  • The tool has mature server-side programming Functionality
  • Log-based and trigger-based replication SSL.
  • It offers a most sophisticated locking mechanism.
  • Support for multi-version concurrency control
  • It provides support for client-server network architecture
  • The tool is Object-oriented and ANSI-SQL2008 compatible
  • PostgreSQL allows linking with other data stores like NoSQL, which act as a federated hub for polyglot databases.

Verdict: PostgreSQL enables you to create custom data types and range of query methods. You can run a store procedure in different programming languages.

Link:https://www.postgresql.org/

3) MongoDB

MongoDB is a document-oriented NoSQL database used for high volume data storage. It is a database which came into light around the mid-2000s. It falls under the category of a NoSQL database.

Platform: Cross-platform

Languages: C#, C, Java, C++, Perl, Scala, Ruby, etc.

Cloud Version: Yes

Features:

  • Fully Automated scale provision, and manage complex, highly available, multi-node clusters with easily with API calls.
  • This tool allows you to create globally distributed clusters.
  • Easy to restore data when needed.
  • It offers visualization, monitor, and alert on more than 80 metrics which track your cluster's health or integrate with third-party monitoring solutions.
  • The tool has a powerful query language
  • It uses rich JSON documents to store tables in a relational database.
  • It provides MongoDB Atlas, which is a global cloud database.

Verdict: MongoDB allows you to validate the document. It is not suitable for those applications having complex transactions.

Link:https://www.mongodb.com/

Free relational database

4) OrientDB

OrientDB is an open-source NoSQL multi-model database which helps organizations to unlock the power of graph databases without deploying multiple systems to handle other data types. This helps you to increase performance and security while supporting scalability.

Platform: Linux, Mac OS X, Windows, Solaris, and HP-UX

Languages: Java, PHP, Nodejs, .NET, Python, C, JavaScript, Ruby, Scala, Elixir, Android, Perl.

Cloud Version: Yes

Features:

  • Unified Multi-Model API – for quicker deployment
  • TinkerPop 3 for the state of fast and effective upgrades.
  • The tool focused on Scalability and performance.
  • Offers enhanced query planner.

Verdict: OrientDB has the ability to do multi-master replication, shared data using clusters, and automate distributed queries and transactions.

Link:https://orientdb.com/

5) MariaDB

MariaDB is a fork of the MySQL database management system. It is created by its original developers. This DBMS tool provides data processing capabilities for both small and enterprise tasks.

Databases

Platform: Windows, Linux, and Mac.

Languages: C#, Java, C++, Python, etc.

Cloud Version: Yes

Features:

  • It operates under GPL, BSD or LGPL licenses.
  • It comes with many storage engines, including the high-performance ones that can be integrated with other relational database management systems.
  • It provides the Galera cluster technology.
  • MariaDB can run on different operating systems, and it supports numerous programming languages.

Verdict: MariaDB is an alternate software to MySQL. It provides high scalability through easy integration.

Link:https://mariadb.org/

6) SQLite

SQLite is an open-source, embedded, relational database management system, designed circa 2000. It is a database, with zero configuration, no requirements of a server or installation. Despite its simplicity, it is laden with popular features of database management systems.

Platform: Blackberry, Symbian, Maemo, Android, MeeGo, WebOS, NetBSD, FreeBSD, illumos, Solaris 10, Windows, and Tizen.

Languages: C, C#, C++, Java, PHP, Python, Ruby, etc.

Cloud Version: Yes

Features:

  • SQLite is very lightweight compared to other database management systems like SQL Server, or Oracle.
  • It has an in-memory library that you can call and use directly without installation or configuration.
  • You do not require any dedicated server to store database. The database is stored in the hard disk of a computer.

Verdict: SQLite is a C programming language library which

offers self-contained, reliable and full-featured SQL database engine.

Link:https://www.sqlite.org/index.html

7) Cassandra

Cassandra is a free tool which is designed to manage a large amount of data across a wide range of servers. The tool offers support for replicating across multiple datacenters.

Different people may give different answer to this question, but it is a fact that some problems always exist and trouble you to remove this app under the OS X. How can Uninstall File Sumo 1.2 Totally from Your MacWhen there is a need to uninstall File Sumo 1.2 on your Mac computer, do you think it is just a piece of cake or a difficult task for you? Filesumo mac filesumo for mac.

Platform: Cross-platform

Languages: SQL, Go, C++, Python, and Node JS

Cloud Version: Yes

Features:

  • Data is copied to numerous nodes to provide a fault-tolerance system.
  • There are no network bottlenecks as every node in the cluster is sperate.
  • The tool supports for contracts and services from third parties.
  • It allows you to choose between synchronous or asynchronous replication for the update.

Verdict: Cassandra is for those people who want scalability and high availability without decreasing performance.

Link:http://cassandra.apache.org/

8) Microsoft SQL

SQL Server is RDBMS developed by Microsoft. SQL Server supports ANSI SQL, which is the standard SQL (Structured Query Language) language. However, SQL Server comes with its implementation of the SQL language, T-SQL (Transact-SQL).

Platform: Docker Engine, Ubuntu, SUSE Linux Enterprise Server, and Red Hat Enterprise Linux.

Languages: C, C++, Java, and C#

Cloud Version: Yes

Features:

  • It provides integration of structured and unstructured data with the power of SQL Server and Spark.
  • The tool offers scalability, performance, and availability for mission-critical, intelligent applications, data warehouses, and data lakes.
  • It offers advanced security features to protect your data.
  • Access to rich, interactive Power BI reports, to make a faster and better decision.

Link:https://www.microsoft.com/en-in/sql-server/sql-server-2019

9) CouchDB

CouchDB is open-source software that is based on the common standards to access your important data. It stores data on your server or with a leading service provider of your choice.

Platform: Cross-Platform

Languages: Java, Python, C++, Perl, C, JavaScript, PHP, etc.

Cloud Version: No

Features:

  • It enables you to run a logical database server on any virtual machines.
  • CouchDB tool works with external tools like load balancers, HTTP, and proxy servers.
  • The too provides support of authentication and session.
  • CouchDB cluster enables you to save data redundantly.

Verdict: CouchDB offers a scalable solution. It also provides flexibility for storing data.

Link:http://couchdb.apache.org/

10) Oracle

Oracle is self-repairing, self-securing, and self-driving designed to eliminate manual data management. It is an intelligent, secure, and highly available database in the cloud that helps you to grow your business.

Platform: Windows and Linux

Languages: C++, COBOL, C, Java, Visual Basic, and Pl/SQL.

Cloud Version: Yes

Features:

  • Oracle Cloud is optimized for high-performance database workloads, streaming workloads, and Hyperscale big data.
  • You can easily migrate to the Cloud.
  • It provides the services based on how you like to operate, in order to run Oracle cloud in your data center.

Verdict: Oracle database stores and retrieve information. Database server solves the problem related to information management.

Link:https://www.oracle.com/in/database/

11) DynamoDB

Amazon DynamoDB is a nonrelational database. This database system provides consistent latency and offers built-in security and in-memory caching. DynamoDB is a serverless database which scales automatically and backs up your data for protection.

Platform: Cross-platform

Languages: Go, Node.js, Java, .NET, C#, Ruby, Python, PHP, and Perl.

Cloud Version: Yes

Features:

  • Key-value and document data model support.
  • DynamoDB offers secondary indexes which provide the flexibility to query on any attribute.
  • Amazon DynamoDB Accelerator delivers fast read performance for your DynamoDB.
  • DynamoDB integrates with AWS Lambda to provide triggers.

Verdict: DynamoDB is a document database and can be used for various purpose.

Link:https://aws.amazon.com/dynamodb/

12) Neo4j

Neo4j is an open-source NoSQL graph database, implemented in Java. It saves your data in graphs rather than in tables.

Platform: Cross-Platform

Languages: Java, Cypher Query Language, JavaScript, Java, etc.

Cloud Version: Yes

Features:

  • It supports graph analytics and transactional applications.
  • Continuous-time traversals for a relationship in the graph both in breadth and depth because of double linking on the storage level between node and relationship.
  • Relationship in Neo4j is fast and allows you to materialize and use new relationships later to 'shortcut' and speed up the domain data when the new requirement arises
  • Memory caching for graphs that provide compact storage, resulting in efficient scale-up.

Verdict: Neo4j allows any organization to unlock its business value of connections, relationships in data, and influences through a new application.

Link:https://neo4j.com/

13) Firebirdsql

Firebird is an open-source SQL RDBMS that runs on, Microsoft Windows, macOS, Linux, and several Unix platforms.

Platform: Linux, Windows, HP-UX, macOS, Solaris, and AIX.

Languages: C/C++ and COBOL

Cloud Version: Yes

Features:

  • Firebird allows you to build a custom version.
  • It is a free to download, registration as well as deployment.
  • The tool has enhanced multi-platform RDBMS.
  • Provides a range of funding options from firebird memberships to sponsorship commitments.

Verdict: Firebird has development-friendly language support, stored procedures, and triggers.

Link:https://firebirdsql.org/

Summary

NameLinkPlatformDB Capacity Limit
MySQL https://www.mysql.com/Windows, Linux, Mac. No limitation
PostgreSQL https://www.postgresql.org/Windows, Linux, and Mac No limitation
mongodb https://www.mongodb.com/Windows, Linux, Mac. No limitation
OrientDB https://orientdb.com/Windows, Linux, Mac. No limitation
Mariadb https://mariadb.org/Windows, Linux, Mac. No limitation
SQLite https://www.sqlite.org/index.htmlWindows, Linux, Mac. No limitation
Cassandra http://cassandra.apache.org/Windows, Linux. No limitation
Microsoft SQL https://www.microsoft.com/en-in/sql-server/sql-server-2019Windows, Linux. 1 GB RAM & 10 GB database. 1 CPU.
couchdb http://couchdb.apache.org/Windows, Linux. maximum size is 4 GB
oracle https://www.oracle.com/in/database/Windows, Linux 1 GB RAM 11 GB database. 1CPU.
DynamoDB https://aws.amazon.com/dynamodb/Windows, Linux. 25 GB, 25 write capacity units and 25 read capacity units for AWS Free Tier
Neo4j https://neo4j.com/Windows, Linux, Mac. free Startup License
firebirdsql https://firebirdsql.org/Windows, Linux, and Mac. Multi-CPU, 20 TB database.

Love it or hate it, Mac OS X ships with Unix under its hood. As a user, I worry the Mac experience could degrade into editing brittle text configuration files and typing obscure and unforgiving commands. As a programmer, I’m overjoyed because we Mac users now have access to certain industrial-strength software. This is the type of software that drives Fortune 500 companies, calculates extremely complex chemical reactions, and generates the movies we watch. Since I don’t make movies and I’m not a scientist, I’m most interested in the business side of this software. In particular, I’m interested in relational databases.

On the classic Mac OS, FileMaker Pro and 4D dominate the database scene. I’m partial to the newcomer Valentina, while other folks swear by Helix RADE or Frontier [for context, see Matt Neuburg’s articles on these last two. -Adam]. Unfortunately, none of these databases qualify as 'industrial strength.' Don’t get me wrong: they do their jobs well, but they lack the qualities that many database professionals crave: SQL and ACID. But before we dive into those two acronyms, let me introduce you to the relational database model. In the next installment of this article, we’ll look at some of the relational databases that become available to Macintosh users under Mac OS X.

<https://tidbits.com/getbits.acgi?tbart=05814>
<https://tidbits.com/getbits.acgi?tbart=05351>

Relational Databases — Although there are many different types of databases (free form, hierarchical, network and object relational to name a few), the relational database model is the favorite of businesses.

Introduced by mathematician Dr. E. F. Codd in the early 1970s, the model is simple (though most books like to obscure it behind mathematical jargon). Imagine a spreadsheet where you keep a list of your customers:

Notice that you have three columns of information, with each column dedicated to holding a certain nugget of information. You have four customers, each represented by a distinct row.

The relational model calls this data layout a 'table;' a relational database contains one or more tables. Although similar in concept to a spreadsheet, a table is different in that each column can hold only one type of data. For example, it would be illegal to put text into the 'CUSTOMER_ID' column – it can hold only numbers. Also, unlike a spreadsheet, the relational model doesn’t allow cells to hold formulas (each cell must stand alone and can’t refer to another cell).

If you’re used to thinking of databases as a bunch of index cards (as in FileMaker), here’s a helpful guide: a table is analogous to a stack of cards, a row is analogous to a single card (a record), and a column represents a single field on a card.

Now, let’s say you want to keep track of your customers’ purchases. You whip up another table:

You can add rows to this table as customers make purchases. Each purchase has a 'CUSTOMER_ID' column, which can be used to relate a purchase with a customer. For instance, in this table we know that Purchase #1 was made by Customer #1.

Let’s explore how these relationships can work. Given a PURCHASE_ID, it’s easy for us to retrieve the purchaser’s email address. Suppose we’re interested in the fourth purchase; its CUSTOMER_ID field is set to 3. By scanning our customer list for customers with an ID set to 3, we discover a Michael Spindler, email address <[email protected]>.

Relationships can also work the other way: given a CUSTOMER_ID, we can work backwards to compile a list of purchases made. Let’s start off with Steve Jobs, who has a CUSTOMER_ID of 1. Now we scan our purchase list, where we discover three rows with matching CUSTOMER_ID fields: purchases 1, 3, and 5.

By following good design rules when setting up your tables, your database will have little or no duplicate data and will accept only valid data. Another perk is that nothing in your database is tied to a specific program – if you outgrow your current database program, you can move to another without much effort.

Finally, relational databases are very scalable. You can start off on a $400 PC running Linux and migrate the same database to $400,000 IBM big iron. The only difference is speed and reliability. You can see why businesses like relational databases.

Now that you know the general idea about relational databases, we can decode the SQL and ACID acronyms I mentioned earlier.

SQL — SQL stands for Structured Query Language, and is correctly pronounced by spelling out its letters ('ess cue el'). Some folks pronounce it 'sequel,' however this is incorrect: there was a language named SEQUEL that was SQL’s forerunner. A minority pronounce SQL as 'squeal,' which never truly caught on, probably for the same reason SCSI was never pronounced 'sexy' – it sounded silly in the boardroom. ('We’ll need to attach a sexy drive to our squeal server.' Sure you’re going to say that to the big boss.)

SQL is the standard language used to communicate with relational databases. Because it’s actually a full language, users, developers, and software programs can use it to create, alter, and delete tables and the rows of information they contain. The use of a standard language opens relational databases up to a wide variety of interfaces and access methods that would have to be written from scratch individually for other types of databases. That accounts for one of the limitations of traditional Macintosh databases.

Like HTML, SQL is a declarative language. It contains no variables or loops, and is easy to learn even for the non-programmer. With a non-declarative language, you must spell out the steps necessary to complete a task. A declarative language, on the other hand, simply allows you to state the desired end-result. SQL is an older language, and although it is case insensitive, convention capitalizes almost everything. Here’s a valid SQL statement to create the customer table discussed above:

This command creates a table named CUSTOMER with three columns: CUSTOMER_ID, NAME and EMAIL. The CUSTOMER_ID column is defined to hold a number, while the NAME and EMAIL columns are respectively defined to contain 100 and 200 characters.

It’s easy to enter information into a table using the INSERT verb:

Space prohibits me from detailing the syntax for altering and deleting rows and tables, but it’s just as easy as creating and inserting tables and rows.

The key SQL verb is SELECT, which allows you to access and filter information from the database. For example, we can look up a customer’s email address like so:

Here’s the result you get back:

The result takes the form of a table. Granted, in this case it’s a table with only one column, but it’s a table nonetheless.

As a final example, given a name, the following query displays all of a customer’s purchases. It’s okay if you don’t understand it, I just wanted to show off a little of what you can do with SQL.

Here’s the result:

The ACID Test — ACID stands for 'Atomicity, Consistency, Isolation, and Durability.' These are the features that separate the pros (Oracle, PostgreSQL) from the minor leaguers (FileMaker Pro, 4D). When your business rides on the quality of your information, ACID is the feature set that helps you sleep at night.

Atomicity (pronounced 'atom-ih-sit-ee') comes from the word atom and its original meaning: that which is indivisible. In a database, that means that multiple operations are all bundled up into one indivisible transaction. Either all of the transaction’s operations take place, or none of them do. This helps to ensure the database is in a valid state at all times.

Consistency is the principle that only operations that meet all the database’s validity constraints are allowed. The end effect of this is that illegal operations aren’t allowed, whether they are external (perhaps users enter invalid data) or internal (perhaps a disk fills up and a required row can’t be added).

In this wild Web world, databases have to deal with multiple concurrent modifications. But what happens when Alice’s transaction is modifying the table that Bob’s transaction is reading? Isolation ensures that Bob’s transaction sees the table as it existed before Alice’s transaction started or after it completed, but never the intermediate state.

Finally, Durability is the principle that once a transaction is completed, a mere system crash won’t wipe it out. In the real world, this means that transactions aren’t considered completed until the all the information has been written to a disk.

What’s Available?Minecraft launcher. In the next installment of this article, I’ll cover the merits of a handful of database applications that can be run under Mac OS X, such as MySQL, FrontBase, and speculation about Oracle’s possible entry into the Mac field.

[Jonathan 'Wolf' Rentzsch is the embodiment of Red Shed Software and runs a monthly Mac programmer get-together in Northwest Illinois.]