8

Or Will I need to get the enterprise version?

This is because I found this on MySQL's site:

If you are running a MySQL production level system, we would like to direct your attention to the product description of MySQL Enterprise Edition at:

http://mysql.com/products/enterprise/

When I check the features, it seems like the community edition does not support transactions, while the enterprise version does.

If it is true that the community edition is not right for production, then it seems like posgresql may be my way out, for it supports transactions and it is fully opensource.

Will the sql syntax need to change (much) if I have to change?

1
  • 2
    First of all keep in mind that the website is trying to sell you stuff, that's it's job, but that aside it's a decision you have to make: Does enterprise come with something you need, or not? Or does it come with something you can add in yourself but it looks like too much work and effort compared to just buying it precooked?
    – Rob Moir
    Feb 24, 2011 at 23:11

3 Answers 3

17

Yes. The community edition is by far the most widely deployed version of MySQL in production environments. You can thank Oracle's acquisition of Sun for the confusion.

Transactions are indeed supported in the InnoDB storage engine, which is included in MySQL community edition.

The enterprise edition comes with a support contract, as well as a few extra bells and whistles: MySQL Enterprise Monitor, MySQL Enterprise Backup, and MySQL Workbench. It should be noted that these tools are actually very good, and do add some justification for the price instead of it being just a support contract.

If you want open source alternatives to MySQL Enterprise Backup I suggest Percona Xtrabackup. I'm not aware of any good alternatives to their Monitor product though.

Another thing worth considering is using the drop-in replacement for MySQL named Percona Server with XtraDB. It too is free and based off of the MySQL code. They have applied several (widely used) patches to improve MySQL performance on modern hardware (multi-core in particular) as well as improvements for things like replication, monitoring, and reliability.

5

In MySQL, transactions are a feature of the storage engine; InnoDB supports transactions by MyISAM does not. If the community edition supports InnoDB (which I think it does), then it supports transactions. I think the four additional apps that are listed on the linked-to page are the biggest benefits, plus whatever support you get.

Depending on the platform you are deploying on, your OS vendor might include a supported version, which I would suggest sticking with unless you have a good reason not to. But if your OS doesn't include it, then Enterprise is the way to get paid support.

1
  • Be aware that DDL is never transaction safe in MySQL, unlike PostgreSQL and many other dbms's. Feb 25, 2011 at 10:53
4

The short answer: Yes it is safe for production use and nearly everyone uses the community version.

Transactions

Depends entirely on your storage engine. If you use Innodb, which is supported in all Mysql versions, you have access to transactions. Myisam, the original Mysql storage engine, does not support transactions.

Enterprise vs Community

The Enterprise version moves slower, releases more often, and has less features than the Community version. Also you have to pay for Enterprise which puts a number of people off. Read more here for the differences.

2
  • 1
    "The Enterprise version moves slower, releases more often, and has less features than the Community version." - This is incorrect. The Enterprise and Community editions are identical and from the same development trunk. Your statement was true roughly two years ago.
    – hobodave
    Feb 24, 2011 at 23:15
  • You got a link on that? It would make sense because running two dev trees is a pain in the ass, but I can't find any docs to back that up.
    – kashani
    Feb 25, 2011 at 0:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .