Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating SQL database on Mac

I'm looking to create SQL database on my Mac and I was wondering what would be the optimal software I can create/operate it with.

Any advise will be highly appreciated.

like image 584
user2959843 Avatar asked Nov 06 '13 09:11

user2959843


1 Answers

Postgres

Postgres is a mature heavy-duty enterprise-quality database system. Postgres aims to implement the SQL specifications as closely as is practicable. Postgres is open-source and free-of-cost. Multiple companies sell professional support services. Conferences dedicated to Postgres occur year-round all over the globe including in Ottawa where the core contributors meet. The more I learn about Postgres, the more impressed I become.

There are different ways to install on a Mac:

  • The usual way is to run an installer provided as a courtesy by the EnterpriseDB.com company. For security, the installer creates a new Unix user on your Mac named "postgres" and creates folders accessible only to that user rather than your regular User account.
  • Another way to run Postgres is a unique configuration packaged as a Mac app, called Postgres.app, provided as a courtesy by the Heroku company.

MySQL & MariaDB

MySQL (and MariaDB) is a competitor to Postgres, and is quite popular. But MySQL pales in comparison to Postgres in my opinion, in regards to quality, robustness, stability, security, documentation, responsible gradual planned development, focus on safety of your data, openness, and more considerations.

The more I learn about MySQL, the less impressed I became. But MySQL is very popular. You will find many resources, books, and postings on MySQL. But its popularity eludes me. MySQL versus Postgres is like Linux versus BSD, the one seems superior in so many technical categories yet the other gets all the popular hype.

But no need to start a flame-war: check it out and make your own decision.

SQLite

SQLite is another open-source free-of-cost SQL engine. But as the name suggests, it is aimed at relatively small simple purposes. Apple bundles SQLite with both Mac OS X and iOS.

H2 Database Engine

If you are savvy with Java, you might consider the H2 Database Engine. Simple to get started with. Mainly aimed at embedding in an app, though you can use it as a database server. Though it lacks many server features, it may be a good way to get started.

Derby

Derby is another Java-based database engine for both embedded use as well as server. Originally a commercial product, later acquired by IBM and then donated to Apache as an open-source free-of-cost project. There have been some issues with heavy use in production, so research the current state of development. H2 seems to be a better choice over Derby, currently.

Firebird

FirebirdSQL in another open-source database, but I've no experience. Seems to have engaged a new wave of interest and development in recent years.

OpenBase

OpenBase is a commercial database server originally developed for NeXTSTEP/OpenStep (which evolved into Mac OS X that we know today).

Interbase

Another commercial server is Interbase by Embarcadero Technologies.

4D

4D (formerly 4th Dimension) is a unique kind of database server, originally developed on the classic Mac and lives today on both Mac OS X and Windows. 4D is special because it is a competent relational database server but has a proprietary query language rather than SQL. 4D is also special because it is integrated with its own programming tool-set that includes a visual form-layout development environment. Other development tools can access its data through Web Services calls (SOAP, JSON, etc.), plugins, and other mechanisms.

My view

My own choices for projects of late have been:

  • Postgres, for heavy-duty mission-critical purposes where preserving data is paramount.
  • H2, for lighter uses, and especially where portability is important. Being Java-based, it can run anywhere.
like image 78
Basil Bourque Avatar answered Sep 18 '22 22:09

Basil Bourque