Thursday, February 19, 2009

Performance Tuning Knowledge is Important for the New DBA

As MySQL continues to expand in the market place, I am seeing a common mistake new DBAs make. They are waiting too long to develop their performance tuning skills. Whenever I work with new DBAs I always tell them it is important to focus on three areas:
  1. Understand the architecture and how things work. It is not good to guess.
  2. Get very good at back up and recovery if you want to keep your job.
  3. Get very good at performance tuning if you want to enjoy your job.
It is important that in your future as a DBA you plan on taking a Performance Tuning class. The reasons are:
  • Most databases get bigger (add more data) and have more users over time. So performance tuning will always be a factor in managing your systems as your systems grow.
  • It's important to take a performance tuning class sooner than later. Reason is you could be making decisions that will have very negative performance ramifications in the future, if you do not understand performance factors. Future scalability is impacted by performance decisions made today.
  • Understanding performance tuning makes you a better DBA. Being good at performance tuning requires you understand how a database server works in more detail. This understanding will help with diagnostics and trouble shooting for everything you do as a DBA.
Being good at performance tuning helps you be a more proactive DBA versus being a reactive DBA. Reactive DBAs are always putting out fires and fixing things after the fact. If you want to enjoy your work as a DBA focus on being a proactive DBA.

Monday, February 9, 2009

The New Tipping Point: The Sun Open Source Software Stack

Sun's Software Stack - At the right place at the right time
The technical industry has always had tremendous ebbs and flows. Just ask powerful or up and coming companies like Digital Equipment Corporation, Silicon Graphics, Informix, Netscape, Atari, and even Sun. Yet sometimes, "everything is in the timing".

With the current economic environment, it is safe to say that all organizations are taking a very serious look at how to reduce costs. This perspective is likely to continue through at least 2009 and 2010. Sun's software stack is positioned in the right place at the right time. Sun's current software stack will significantly reduce operational costs and provide more flexibility over operational budgets. As costs continue to impact organizations, you will see more traditional organizations follow the direction of start up companies.

Ninety percent of start up companies in the U.S. are using the LAMP stack (Linux/Apache/MySQL/PHP,Perl). The LAMP stack is a proven software stack that offers tremendous cost savings over proprietary licenses. Sun's software stack is a faster, cost effective and enterprise version of the LAMP stack. So we can expect more and more organizations looking at and moving to the Sun software stack. I'm seeing this every week in my training classes. My students are selling me on all the benefits they are receiving from this stack. And a major percentage of my students are from proprietary vendor environments.

Major Areas of the Sun Software Stack
Major areas of the software stack that will dramatically reduce costs versus alternative options:
  • MySQL - The fastest growing database server in the industry. The adoption rate is increasing every month.
  • Glassfish - A powerful, fast enterprise application server that is a fraction of the cost of its competitors. A great solution for customers that are growing out of their Apache and JBoss servers.
  • Open Storage - With the ever increasing volumes of data that organizations need to work with, storage will continue having a significant impact on IT budgets.
  • Identity Management - Fast enterprise identity management. Sun has one of the best LDAP solutions out in the industry.
  • Solaris/OpenSolaris - Offer proven powerful software solutions that can significantly reduce OS costs.
  • Java - Key software for mobile applications and large enterprise business applications.
So as the trend continues, watch as the Sun software stack increases in popularity. There are reports that the government is evaluating increasing its use of open source to reduce license costs. It won't take much more for the Sun software stack to become a major tipping point in the software industry.

Recent MySQL Trends

In working with customers every week I am seeing some trends that I would like to share with everyone.
  1. There is a tremendous upswing in Oracle customers looking at MySQL. A year ago about half the customers were evaluating MySQL, now I am seeing about 90% saying they have been mandated to look at using MySQL for future DBA projects.
  2. Must stronger acceptance by the traditional Oracle DBA as to the features and benefits of MySQL.
  3. A large number of customers new to MySQL are not very knowledgeable about the environments surrounding MySQL database servers. Mention words like Memcache, InfoBright, KickFire and most customers are not sure what they are.
  4. Customers are still using a wide variety of tools to monitor and manage MySQL database servers. However, I do see an upswing on customers looking at the MySQL Enterprise Monitor.
  5. Too many customers underestimate the need to get their administration teams trained on performance tuning and advanced database features. MySQL is a database server that needs to be tuned and managed correctly just like any other database server. Too many customers think all they have to do is install it and they are done.
  6. There is a lot of interest in MySQL version 6 with the new optimizations, storage engines and availability features.
  7. Too many customers are not sure on whether to use Ruby, Groovy, Java, .NET, PHP, etc. I am constantly surprised on how customers are still trying to figure out the best tools to use for development for specific projects. Maybe this will never change.
  8. More and more web developers do not understand how to write good database code. This leads to big performance issues down the road when database usage begins to go up.
  9. Web developers are almost never using database vendor specific features. They want databases that are fast, easily deployable and easy to work with.
  10. From my perspective in working with customers, MySQL is growing at the fastest rate I've seen in the last few years. Is their any area of technology that is growing faster than MySQL?