5

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.

3
  • 1
    MAMP is a popular package for beginners. Commented Nov 6, 2013 at 9:56
  • Thanks deceze - I'll definitely have a look at that one Commented Nov 6, 2013 at 10:00
  • More appropriate place for this Question is on the Software Recommendations Stack Exchange. But there you must outline specific criteria for what you mean by “optimal”. Explain the circumstances of your project and its general requirements. Commented Mar 27, 2016 at 6:08

1 Answer 1

11

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.
Sign up to request clarification or add additional context in comments.

2 Comments

Sorry for the late response, Basil. Got carried away by your post. Ended up with Postgress. Again thanks a lot for prompt response.
@user2959843 If the answer met your needs, you should mark it as Accepted. Make the big empty checkmark turn green.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.