How to Choose an SQL Database for Simple Data Preparation and Analytics

clouddatabase-design

In the interests of not making this a shopping list: please advise on "how" to choose a the right tool, as opposed to which is the best. E.g:

  1. Which questions should I be asking myself / client?
  2. What features should I be looking for?

Draft use case:

  • easy setup / installation + easy to use
  • size: 5-10gb database with 10-30 tables of varying sizes
  • users: handful of beginner-intermediate SQL analysts
  • load: 10-20 short-ish SQL scripts per day
  • usually one user per table at any one time
  • aspiration that SQL scripts should not take long to run
  • 'fast' and 'flexible' more important than 'safe'
  • abiliy to import/export from/to CSV
  • low cost(!)

Essentially, we are a small team of (somewhat) geographically distributed data analysts looking for platform to do data preparation – we are not app developers. Data is exported for analysis in MS Excel.

Options considered so far:

  1. MySQL with phpMyAdmin on WAMP on my 3-yr old laptop, which was OK
    for one user but slow for some queries on larger datasets
  2. Google Cloud SQL – I have set up Tier D0 instance and connected
    phpMyAdmin from Compute Engine but found it slower than my desktop
    so far. Wasn't so easy to set up.
  3. Visual Foxpro – in the past with similar issues to (1) but more flexible; expensive.
  4. MS Access – some use but risk of 2gb size constraint
  5. Valentina Studio with SQLite – still testing; documentation confusing

What suggestions does the community have? Particularly intrested in comments on:

  • Desktop vs. Server vs. Web/Cloud (cloud seems like overkill, but option to access database anywhere is attractive)

  • SQL vs. other approach / language (SQL is easy to learn)

What other questions should I be asking but am not?

Thanks in advance for your thoughts.

Best Answer

Questions to ask could include:

  1. What fits well with your current skills? (That might make it 'easier' to use.)
  2. Is your focus on getting something working soon, or on developing new skills?
  3. What is the cost of your choices (money, time, effort, unfamiliarity, etc)?

With your list you do emphasize cost as a factor and the database is not expected to be huge. So, you can use the free version of some vendor product (such as SQL Server Express), or use open source offerings (such as MySQL, PostgreSQL, etc).

But you will pay, of course, for any choice.

Once you know where you want to spend your resources (which only you can answer) you should be able to discard some of the options.