Sunday, February 17, 2008

Leveraging MySQL Environments for Scalability

One of the biggest mistakes organizations make when they look at MySQL, they look at just the MySQL Database Server. There are a lot of tools available in MySQL environments that can offer tremendous scalability to MySQL database servers while keeping the total cost of ownership down. Some of my favorites include:
  • Memcache - Memcache is a high performance distributed caching system. This offers tremendous benefits to dynamic web appliations. This caching system can take large loads off the database server and distribute across low-cost servers with a global cache. Most large scale MySQL database environments use memcache.
  • Replication - MySQL replication supports the distribution of MySQL across multiple low cost servers. Replication can be implemented with no additional license fees.
  • LAMP - Linux, Apache, MySQL, PHP/Perl/Python (LAMP) is a low cost proven platform for implementing web applications.
  • Monitoring - Nagios, Mon, Zenoss and Cacti are excellent monitoring tools for MySQL database environments. Zabbix is a product I have not looked at but their website information on their product definitely got my attention. The MySQL Enterprise Monitor is a licensable product but it can be used at a fraction of the cost of other database vendor monitoring tools and 3rd party solutions.


6 comments:

Anonymous said...

Don't forget about graphing trends for both mysql and hardware. There are many tools available like Zenoss or Cacti.

Unknown said...

Sean,

Thanks for the mentioning of Zenoss and Cacti. I think the MySQL community needs to do a better job of making new and existing MySQL DBAs more aware of software options available in MySQL environments.

Unknown said...

I've added Zenoss and Cacti to the list.

Anonymous said...

You should include zabbix as well

Unknown said...

I haven't tried zabbix but their web site looked very interesting. From the web site it looks like a very robust tool.

Jonathon Coombes said...

Another one I would add which is very simple to setup (unlike many of the others) and gives alerts (like Nagios etc), is Munin. You can set that up to monitor your server and MySQL in less than 5 minutes.