Showing posts with label MySQL Advantages. Show all posts
Showing posts with label MySQL Advantages. Show all posts

Monday, February 18, 2008

The Right Strategy for Customers

There have been significant trends and changes in the IT industry. Some of them include:
  • Main Frame systems
  • Client/Server
  • Distributed systems
  • Multi-tiered platforms with application servers
  • Open Source
It's important to understand each of these is a technology to help meet business goals. Open source is currently an area of high growth and interest in the industry. The cost benefits provide organizations with a lot of flexibility in how they put their infrastructures together. Global markets and competition are putting even more pressure on IT organizations to make the right decisions.

I was talking to a friend about what organizations are doing with open source strategies. The result of the conversation ended with it is not about an open source strategy. It is more about developing the "right customer strategy" and if and how open source can play a role in helping a customer meet their business objectives and goals.

I've always felt as a DBA/manager, the more options I have the better decisions I can make. Including open source solutions in the decision process helps make sure customers are looking at their overall strategy in addressing challenges they are facing. No one technology solution is the best solution for every problem that exists. Oracle Enterprise Edition, Oracle Standard Edition, Oracle Express, MySQL, Oracle Application Server, Apache, JBoss, BEA, Eclipse, JDeveloper, Linux, PHP, Ruby on Rails, etc. all have features that can leverage what customers are trying to do. I have nothing against Windows or IBM it has just been my preference to work with Oracle and MySQL environments. Oracle and BEA have played well in the large enterprise commercial environments. MySQL has played well in Internet and web applications. For anyone to say other vendors do not provide a good solution is pretty closed minded. What I like to do is understand what a customer is trying to do and weigh the pros and cons and let them make the decision that is best for customer.

Most companies are running different types of applications.
  • Java and SOA are extremely scalable and powerful solutions that are great when those benefits are needed.
  • Ruby on Rails and PHP are great for web based applications that do not need a lot of database features.
There are current and future costs and ramifications associated with hardware, database, application server and application development decisions. With all the options out there customers need to make sure they align their purchases with their business objectives.

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.


Saturday, February 16, 2008

Understanding the Total Cost of Ownership for Databases















Vendors often talk about the Total Cost of Ownership (TCO). A MySQL environment offers significantly reduced overall costs and greatly reducing the total cost of ownership. When purchasing a database companies look at the license numbers of the database but often underestimate the surrounding costs of running a particular database. Overall TCO also includes the following costs:
  • Hardware
  • Application Servers
  • GUI development tools
  • Monitoring tools
  • Administration costs
  • 3rd party software
  • Technical skills
  • Scalability
MySQL offers a TCO that is a fraction of other database vendors. The following are some examples of how the costs of running a MySQL environment are significantly reduced:
  • Hardware: MySQL database servers take significantly less hardware resources compared to Oracle DB2 or SQL Server. There is also more flexibility in choosing Windows, Linux, Unix or Mac OS platforms.
  • Application Servers: MySQL environments usually use Apache or JBoss run at a fraction of the costs of running application servers from IBM, Oracle, BEA and Microsoft.
  • Monitoring Tools: MySQL environments use tools like Nagios, Mon, Zenoss, Cacti are free or a fraction of the costs compared to vendor or 3rd party tools that often have licenses in the 6 and 7 figure range.
  • GUI Development Tools: MySQL environments often run SQLYog, Navicat, MySQL Query Browser that are free or run at a fraction of the cost of 3rd party tools for the larger database vendors.
  • GUI Admin Tools: MySQL Administrator, phpMyAdmin and Enterprise Monitor are free or run at a fraction of the cost of 3rd party tools for the larger database vendors.
  • BI and Reporting: BI Open Source tools from companies like Pentaho run at a fraction of the costs of BI solutions from the major vendors.
  • Scalability: Features like partitioning and replication are free in MySQL. So as your environment grows there are no additional license costs. MySQL Cluster is a licensable feature but it also is a fraction of the clustering solutions from the larger database vendors. Database servers are going to grow, so its great to know that a MySQL environment allows you to use free features or features that do not have large incremental increases the larger your databases grow.
When looking at a database vendor make sure and consider the overall Total Cost of Ownership and not just the costs of running a database server.

Monday, January 28, 2008

Don't Underestimate MySQL

A lot of the popularity of MySQL is its ease of installation and how easy it is to use out of the box. Anyone can install MySQL pretty easily. That is the danger of MySQL. Because MySQL is so easy to install, people can forget or not realize that MySQL is a full blown database server. MySQL:
  • Needs to be installed properly.
  • Needs to be tuned like any other database server the more it is used.
  • Proper management practices need to be put in place.
I've taught the Oracle 10g DBA Workshop I and the MySQL Database Administration classes. I will tell you that the MySQL DBA class is every bit as technical and complex as the Oracle DBA class. The point is there is a lot to learn about MySQL if you are going to use it in a production environment. As a MySQL DBA you are going to have to configure, tune and manage MySQL as a database server similar to how other database servers are managed. MySQL's performance, scalablity, security and ease of administration are dependent on how MySQL is configured.

The most common mistake I see among DBAs that come from other database vendor environments is that they underestimate how much MySQL can be configured and that its architecture and tools are different than other databases. Storage engines, sql modes, MySQL memory caches and buffers, SQL and PL/SQL processing, replication, etc. all need to be understood to maximize how MySQL can be used. Even the hardware purchases are different in a MySQL environment.

MySQL is growing in popularity as an enterprise solution. So if you are an Oracle, SQL Server, DB2, Sybase, Informix DBA, do not underestimate how much you can do with MySQL. If you are going to manage MySQL databases in a production environment you should be taking the DBA, Performance Tuning and High Availability classes to learn the core fundamentals of MySQL.

Thursday, November 1, 2007

Poll on Favorite Development Environments for MySQL

I did an informal poll on favorite development environments for MySQL and I was surprised to see how PHP seemed to be signiciantly more popular in MySQL environments versus Java, Ruby on Rails or .NET. Here are the results of 99 responders:

  1. PHP 52
  2. Other 23
  3. Java 13
  4. Ruby 5
  5. .NET 5
  6. Access 1