How Is MySQL Most Commonly Used in the Enterprise?
MySQL has several million users, among them many corporate users. In this section, I discuss the most common uses of MySQL in a corporate environment. This summary is based on my own observations while handling commercial support requests at MySQL AB.
Database Backend for a Web Site
Many Web sites have to provide dynamic content (e.g., a news site) and/or collect some data from visitors (e.g., an online store). Thus, there arises the need to have some data storage/retrieval functionality in the Web application. As many Web developers have discovered, MySQL is a perfect tool for this kind of job.
Free to obtain, easy to install and configure, and providing excellent performance and stability, MySQL has been a lifesaver for more than one CTO floundering in the perilous waters of the dot-com world. Some often hesitate to bypass a more expensive alternative, somehow thinking that if MySQL is free it cannot be good. Nevertheless, when they finally make the decision they are often surprised to discover that MySQL is not only able to handle the load, but can often handle a load that none of the database “giants” they’ve tested has been able to.
Another common problem in the IT industry is logging events of various types for the purpose of subsequent statistical analysis or simply for record retrieval in the future. This could be, for example, a network traffic monitor, an ISP keeping track of dial-up users, a cell phone provider logging calls, or a Web- usage counter.
MySQL’s speed on insert and select queries makes it an attractive choice for this kind of application. And, of course, the other advantages of MySQL mentioned earlier make it only more attractive.
Various technologies today enable the accumulation of large collections of data. For example, a business could have a list of purchase records accumulated over the years, or a computer chip manufacturer could have collected a large dataset of test results. It could be very useful for various purposes to drill through the data and produce a number of statistical reports.
MySQL’s speed on select queries makes it an excellent choice for many such problems. In fact, MySQL was originally written for the specific purpose of solving a particular data-warehousing problem more efficiently than what the market could offer at the time.
More and more often, software vendors are finding it necessary to integrate a database into their commercial products. For example, a desktop phone book application with various search capabilities will be much easier to write if a lightweight SQL server has been integrated into the system.
The main considerations for a database server in this situation are the cost and the resource requirements. MySQL makes the grade in both aspects. Although not free in this case, the license cost per copy could very well be below $10 if the volume is large enough. And, of course, MySQL is very frugal about the resource utilization, the binary itself being small in size and the server configuration options allowing it to use no more than a few kilobytes of system memory while still maintaining a decent performance.
Sometimes an application must process large amounts of data. A low-cost, lightweight database server is the ideal solution for an application programmer working under the restrictions of the embedded environment.
In addition to the advantages mentioned in the previous section, all of which apply here, the portability of MySQL makes it an attractive choice. MySQL can already run on a large number of architectures. Even if it has not yet been ported to the target architecture, the high coding standards that diligently address potential portability issues make it very likely that the port could be done with minimal effort.