There’s a lot of fuzz about MemSQL lately – it promises great performance compared to MySQL and sensible compatibility. So, I decided to give it a try and install newest Zen Cart on it. Okey, I admit – this post is rather simple statement that “Yes, You can install Zen Cart on MemSQL” rather then lengthy guide on how to do it. Why? Because installation on MemSQL is just as simple as regular installation on any other MySQL. In fact the user that installs Zen Cart on MemSQL does not see any difference from installing it on MySQL. So let’s tart:

Get MemSQL

Go to http://memsql.com/#download and fill out download form. MemSQL is free for testing purposes and as far as I know for databases smaller than 10Gb (but I might be wrong so read their license). After You submit the form You should receive instructions on Your email with download link like:

Part of email from MemSQL

Follow the instructions and get binary package with MemSQL, extract it and  run:

cd memsqlbin
./check_system

to verify that Your server is capable of running MemSQL (requires 64 bit version of linux, 8GB of memory is advised but not required). After that You can start MemSQL deamon:

./memsqld --port 3307

It starts memsqld process on port 3307 as 3306 is taken by MySQL. Congratulations, Your MemSQL server is up and running!

Install Zen Cart

I won’t go into too much detail about installing Zen Cart as whole process does not differ at all from regular Zen Cart installation. Just change port number on database configuration screen from 3306 (Your MySQL server is probably running there) to 3307. That’s really, really it!

I played with stock installation of Zen Cart 1.5.0 for a while and haven’t encountered any errors or odd behavior. It seems that MemSQL is compatible with MySQL but it is also too soon to rush and throw away Your old MySQL installation and move to MemSQL. Further testing is required to use it on production server.

Few things to keep in mind

Not all features of MySQL are supported. However when it comes to Zen Cart there’s only one obstacle: MemSQL runs only on UTF-8 character set so You might need to convert to it.

Here’s list of yet unsupported features (taken from http://developers.memsql.com/docs/1b/unsupported.html):

  • Views
  • Prepared Queries
  • Stored procedures
  • User Defined Functions
  • Triggers
  • Foreign keys
  • Charsets other than utf8

Zen Cart does not use any of above features by default so there shouldn’t be any problems with installation of it.

Please let me know in comments if You tested ZC on MemSQL.