Forum Discussion

Anonymous's avatar
14 years ago

What Database Should I Choose?

This is a question we receive in technical support from customers installing CodeCollaborator for the first time. CodeCollaborator supports four different databases (only three in a production environment), so what one should I choose? What are the tradeoffs?

2 Replies

  • Anonymous's avatar
    If you're starting a small trial, where small is 10-20 users and you have not decided what production database you will use if you decide to purchase CodeCollaborator, then use the embedded database we include specifically for trials. This database is plenty robust enough for a trial and you can migrate off it to any of the production databases should you decide to purchase. We recommend this database primarily because it's the fastest path to getting you doing code reviews.

    If you're doing a pilot where one of the decision points is performance and scalability, then please give us a fair shot by using a production level database (MySQL, Oracle, or SQL Server). We make no claim as to the performance of the embedded database -- except to say that it's worse than any of the production databases. Likewise, if you are doing a pilot and want to include realistic maintenance of the server, including regular database backups, then by all means, select one of the three production databases. And finally, if you're ready to put CodeCollaborator into production, use a production database. If you don't the application will warn you to do so.

    How should you select between the production databases? First, consider your in-house expertise and available licenses. The primary support for the database will come from inside your organization. So, if you have DBAs and an existing database cluster, use whatever your DBAs recommend (usually this means Oracle or SQL Server, though sometimes this can be MySQL too). They can be a great resource. If you don't have access to a DBA, then we generally recommend MySQL. This has a couple of advantages. The big one is it's free. It's also easier to set up (usually) and we usually have an easier time supporting it. Anecdotally, our tech support team gets fewer questions about MySQL that require extensive research to answer (the stuff your DBA would be able to answer without looking up from whatever she was busy working on at the moment).
  • mattcaron's avatar
    New Contributor
    My personal experience is:

    • Oracle is expensive and slow.

    • MySQL is fast, though has had some teething issues over the years. It's gotten a little slower as they've added features, but is still pretty fast, and has gotten a lot more reliable. That said, change your default table type to InnoDB. MyISAM is a toy and should not be used in production. See MySQL Storage Engine Docs and Guide to MySQL storage engines.

    • SQL Server had a decent edge on MySQL with regards to features at the beginning of the decade, but that has narrowed in recent years. I haven't used it much in production to really comment further.