1 Executive Summary MySQL is the most popular open source database in the world. Though best known for delivering the performance, scalability and reliability demanded by Web properties such as Google, Facebook and Yahoo!, MySQL is also an extremely popular embedded database. It’s relied on by over 3,000 ISV and OEM customers including seven of the top ten largest software companies in the world.1
This paper first looks at embedded databases in general: what they are, the embedded database market, and the benefits of distributing a proven embedded RDBMs over using a flat file, building your own embedded relational database, or supporting your customers’ databases. We next look at the ways in which using MySQL as an embedded database impacts the three most fundamental measures of business success -- revenue, cost, and risk, by meeting customer needs and helping expand market reach, by lowering COGS, and mitigating risk.
The goal of this paper is to answer the questions: • Why should I use an embedded relational database? • Why should I use MySQL as my product’s embedded database?
We recommend reading how MySQL helps increase revenue, reduce COGS, and lower risk, and the related sub-sections that are relevant for you. The customer quotes will be useful whether you’re targeting SMBs or the Fortune 500. This is a good reference document, a compendium of facts and information with numerous links to more technical details and information about our customers and their experiences with MySQL.
1.1 Embedded Database Definition
Embedded database management systems (DBMSs) are databases that ISVs (independent software vendors), OEMs (original equipment manufacturers), and VARs (value added resellers) include and distribute with their products. These products may be software, hardware, appliances, or devices. Embedded DBMS licenses are not purchased directly by the end-user customer but are instead included in the ISV / OEM’s product licenses.
The term “embedded database” generally encompasses these three packaging and installation options: • Bundled - Integrated with the product but not part of the product’s installation and management processes. • Embedded - Installed with the product and most often managed automatically by the database itself, placing no or very little administrative burden on the end-user. • Deeply Embedded - Running in process within the application, completely transparent to the end-user customer and requiring zero administration.
The product’s form factor and the end-user’s technical skill level will usually determine whether the database is bundled, embedded, or deeply embedded with the product. For example, vendors with all-in-one appliances or those targeting non-technical users will typically embed or deeply embed MySQL to eliminate the need for end-user administration and maintenance.
A 2010 IDC report has forecast a very healthy 10% compound annual growth rate (CAGR) for the embedded database market through 2014. They cite the bounce-back in the software industry in general as a predictor of this stronger growth. It’s also spurred by the rising complexity of the data center, which is actively driving demand away from adding new (resource- consuming) databases and toward products that manage their own data, or at least hide “the data management problem”. A related effect is the global proliferation of all-in-one, “black box” appliances and devices, which further contributes to the rising demand for zero-admin, embedded databases. 2
2 Benefits of Embedded Relational Databases When deciding what type of database to use with their products, many ISVs and OEMs consider or implement the following options, usually in this order: 1. Using a flat file 2. Building their own RDBMS (relational database management systems) 3. Requiring that their customers supply the RDBMS 4. Embedding a proven RDBMS.
Because it can be both difficult and expensive to migrate from one database to another, it’s useful to compare each of these options with using an established RDBMS from the outset.
2.1 RDBMS vs Flat File
ISVs and OEMs often start out using flat file databases with their products because: • The development team is more familiar with flat files than RDBMSs • Flat files are no cost • A flat file may be “good enough” at the beginning
The problem with flat files is that data is rarely static. Most applications generate data that will need to be changed – created, updated, deleted. With flat files this can be difficult and error- prone. Relational databases (RDBMSs) like MySQL create one-to-many data relationships and thereby streamline data manipulation.
Other significant benefits of RDBMSs over flat files include their ability to: • Prevent data corruption – Even if an application or server fails mid-transaction, data is left in a consistent state • Support concurrent access to data from different application threads or processes • Perform significantly faster reads and writes • Create ad hoc reports, based on different data relationships • Import and export data from other standards-based databases
For these reasons, relational databases will be superior for most applications, especially over time. By using MySQL as an embedded RDBMS, you can overcome the primary barriers to (early) RDBMS adoption: expense and complexity. Unlike many other RDBMSs, MySQL is easy to design and develop. These are two of the primary reasons for MySQL’s adoption by literally millions of users. Even small vendors with tight budgets and little or no database expertise can
use MySQL and continue to do so as their business and products mature, removing the considerable difficulty and expense of database migration.
2.2 Buy vs. Build
Creating, maintaining, and supporting your own database often carries high opportunity cost or risk. Using an established embedded relational database like MySQL not only reduces downside risk (and costs) but can also bring substantial upside.
• Focus on Core Competencies Most ISVs / OEMs have deep expertise in their own product’s technology – not in databases. By embedding a proven database technology, you avoid the high cost of developing and maintaining software that is outside your development team’s core competencies. • Accelerate Time to Market By effectively outsourcing your database, you can get new products and new versions out into the market more quickly, which lowers your COGS and speeds time to revenue. • Limit Risk to Engineering Schedule By choosing to embed rather than build a database, you eliminate the risk to your product delivery schedule that’s inherent in learning and developing unfamiliar technologies. MySQL’s renowned ease-of-development and the MySQL Workbench development tool can reduce that risk even further.
2.3 “Batteries Included” vs. Customer Supplied
Though perhaps counter-intuitive, including a database with your product is usually more cost- effective than requiring that your customers purchase and manage their own database, which you then will have to support. By using an embedded database, you can:
• Lower the Total Cost of Your Solution Databases can be expensive, and often more expensive than their associated application, especially when total costs are considered. By including a low-cost, easy-to- use database like MySQL with your product, your customers are not burdened with buying, installing, configuring, deploying, maintaining, tuning, or even administering the database, which can significantly reduce the overall cost of your solution. • Shorten Sales Cycles and Win Competitive Comparisons Sales cycles can speed up dramatically when database selection and costs are removed from the equation. Proofs of Concepts (PoCs) can be run in a fraction of a time with an embedded database. With a pre-integrated database, your application can perform optimally out of the box, providing a significant advantage in competitive situations. • Increase Customer Satisfaction In addition to lowering their costs, including a database provides your customers with a better experience – initially and over time. With a pre-configured and tuned database, your customers are able to get your product into production much faster, and enjoy better performance without a DBA or the added burden of administration, maintenance and support. • Cut Quality Assurance, Engineering and Support Costs Testing and supporting just one database vs. the long list of databases and editions your customers may use with your application can greatly reduce your COGs and your customers’ TCO.
MySQL Customer Example: SonicWALL “[The SonicWALL GMS Product Team] had performed a comprehensive product cost analysis that showed that the majority of our development, quality assurance, and documentation cycles and dollars were being spent on supporting our customers’ Microsoft SQL Server configurations. In addition, we found that one out of every five trouble tickets had been opened against issues dealing with the integration to Microsoft SQL Server. Because of this, and in response to our customers’ requests to include a database, we decided to use MySQL [embedded] for its performance, ease of use, stability and reliability. In less than one year, we had recouped our initial investment in MySQL. We achieved 100% ROI in under nine months through lowered development, QA, tech pubs, training and support costs alone.” SonicWALL -- Greg Naderi, GMS Product Line Manager
Based on the very positive results SonicWALL had with MySQL embedded in its GMS products, they are standardizing all SonicWALL products on MySQL. >> Read more
. 3 Embedded Database Criteria In business Revenue, Cost, and Risk are the three primary, interdependent metrics that are continually monitored to gauge success, and the likelihood of attaining and keeping it. When choosing an embedded database, it’s useful to evaluate the database’s impact on these three variables as they relate to your products’ success.
How will the embedded database impact your • Customer Satisfaction and Market Reach (Revenue)?
• Cost of Goods Sold?
• Level of Risk?
We examine how using MySQL as your embedded database affects these critical metrics, and your products’ and business success in the sections that follow.
4 Satisfy Customers (Revenue) Customer satisfaction is directly related to a product’s ability to meet or exceed customer expectations. Customer satisfaction is highly correlated with revenue: it generates repeat business and positive word of mouth, resulting in perpetual and growing revenue streams.
Embedded databases can greatly influence customer satisfaction with your products for two main reasons:
• To your customers, an embedded database is simply a feature of your product; in fact, many will never even know that there’s a database inside.
• The data an embedded database stores and manages is often one of your customers’ most valued assets.
The best ways to determine customer satisfaction with any technology is by
• Its popularity and success: Is it #1 or #2 in its category? • Listening to other customers: What do they say?
MySQL is the #1 most popular open source database in the world, backed by Oracle, the largest database company in the world. With over 65,000 downloads per day, MySQL continues to be the choice for a broad range of developers, DBAs and IT managers who want a high performance database that is reliable, affordable, and easy to use.
Figure 1: MySQL’s Five Core Markets
Global companies such as Bank of America, Lufthansa, and Walmart rely on MySQL for their day-to-day business operations and over 3,000 ISVs and OEMs entrust their products to MySQL as their embedded database. They range from small start-ups to many of the world’s largest software, hardware, and telecommunications vendors, including:
MySQL is also the database of choice for a new generation of modern database applications including Web, SaaS and Cloud applications. The overwhelming majority of the top 100 most heavily trafficked Web sites in the world3, including Facebook, Google, and YouTube, rely on MySQL.
One of the most valuable aspects of MySQL are the volumes written about and by MySQL’s customers and users. Anyone with a browser can access information, advice, and opinions from MySQL users on virtually any topic.
>> Read more MySQL Customers
In the next section, we examine some of MySQL’s features and capabilities that influence customers’ satisfaction and product revenues as evidenced by MySQL customers.
4.2 Performance and Scalability
MySQL’s is renowned for its ability to perform and to scale horizontally across commodity hardware, which has made it the database of choice for the largest Web properties and some of the most demanding industries, such as Telecommunications and Security. These customers provide proof that MySQL can meet the most demanding performance and scalability requirements of any system. For example, Facebook deploys thousands of MySQL servers and has scaled MySQL to manage 750 million users.
"RightNow has tripled its traffic and now manages over 30TB of data – all stored in MySQL. And with MySQL, we are able to handle 17 billion queries and 500 million page turns per month. We use thousands of database schemas, all from different customers, running dynamically generated SQL based on customer design." RightNow Technologies -- Laef Olson, CIO >> Read more
“MySQL handles 20,000 write operations per second from the NetHawk network monitoring system and generates up to 8 terabytes of data comprising 10-20 billion rows per month, all accessed by multiple client systems in the O&MC. MySQL embedded efficiently partitions tables and indexes, enabling our product to better manage and perform with those massive data sets.” NetHawk -- Markus Weiland, Product Manager >>Read more
“On a daily basis, our MySQL databases handle several terabytes of data, which means that high performance is key to our mission-critical operator software. We have chosen to base our analytics software on MySQL to secure high performance, scalability, and security. Moreover, we can offer our clients a lower total cost of ownership, which results in a win-win situation for both us and them.” Aito Technologies -- Anssi Tauriainen, CEO >> Read more
>> Read more MySQL’s Web customers >> Read more MySQL’s Telco customers >> Read more MySQL in Network Management >> Read more MySQL in Security
4.2.1 MySQL Performance and Scalability Features
MySQL provides the following advanced features that further enhance its scalability and performance:
Partitioning – MySQL’s Partitioning capabilities significantly increase the performance and simplify the management of very large databases. MySQL offers multiple partitioning methods including Range, List, Column, Hash (and Linear Hash), Key, Sub-Partitioning, and Partition Pruning.
Thread Pool - MySQL Thread Pool reduces overhead in managing client connections and statement execution threads so MySQL’s high performance is maintained even with thousands of concurrent users.
>> Read more MySQL Replication Web page >> Read more MySQL Partitioning Web page >> Read more MySQL Enterprise Scalability Web Page
“Using MySQL with partitioning, we took our product from a maximum of 3,500 records per second to 22,000 records per second, for a 6x performance gain. We’re now at 10x (1,000%) performance of pre- partitioning levels and still haven’t reached the max simply because we haven’t had enough test machines.” F5 - Bruce Butterfield, Development Manager >> Read more
4.3 Reliability and Fault Tolerance
The same reliability of the MySQL server that has caused companies like Amazon, eBay, Google and other “always-on” Web-based businesses to standardize on MySQL can be found in the server that manages the database needs for critical embedded systems. ISVs using MySQL will experience the high uptime and availability whether they’re like Symantec, addressing the needs of the Fortune 1000, or like Sage Accounting, targeting thousands of SMBs.
As the most popular open source database, MySQL is stress-tested by many thousands of users who provide invaluable feedback. MySQL server also undergoes extensive internal and external quality assurance testing to ensure its code is of the highest quality.
“Xceedium GateKeeper is actually used in live combat zones and may not be shut down cleanly. The product must come back up regardless. MySQL was the best at self-repair, with the ability to fix any corruption and come back after induced crashes. We just couldn't break it.” Xceedium -- Kern Weissman, Senior Director of Product Management >> Read more
“Our overall experience with MySQL has been extremely positive. MySQL has well-designed processes that provide the capabilities we need, including partitioning, and it just runs and runs – our customers have never had to reboot. We haven’t had one sub-case that could be traced back to MySQL. We have also been impressed that with new releases of MySQL nothing has ever broken; we have just got improved features.” F5 – Bruce Butterfield, Development Manager >> Read more
If your customers rely on your application to conduct their business, then its embedded database’s availability is very important. Few things can damage customer satisfaction like the inability to transact business and the associated loss of revenue and productivity.
The MySQL customers listed in the Performance and Scalability section are also testament to MySQL’s high availability; for most, going down or off-line is extremely expensive, and / or business limiting, as is the case for Telcos. MySQL has a number of high availability solutions: the right one depends on the mission-criticality of your application and number of “nines” availability your customers require. Listed from lower to highest availability they are:
Replication – Replication is the most popular MySQL high availability (HA) solution in addition to being the most popular performance and scalability solution. It uses Master/Slave Replication to enable database operations to manually fail-over to another server in the event of a hardware or software problem.
Windows Server Failover Clustering - WSFC automatically detects any MySQL or underlying server failures and restarts the MySQL instance on the Standby node. Your application and any of the MySQL replication slaves, can then automatically reconnect to the new host running MySQL on the same virtual IP address.
MySQL Cluster CGE (Carrier Grade Edition) - MySQL Cluster enables organizations to deliver 5 Nines (99.999%) availability using parallel server architecture with no single point of failure. MySQL Cluster supports in-memory or disk-based data and synchronously replicates data to all data nodes in the cluster. This results in sub-second response time and extremely fast failover. Data partitioning, fail-over, and recovery are all automatically handled by MySQL Cluster. MySQL Cluster is used by the world’s leading telecom organizations including Alcatel- Lucent, Nortel, and Nokia. MySQL Cluster CGE is available separately.
>>Read more MySQL Replication Web page >> Read more “MySQL with Windows Server 2008 R2 Failover Clustering” white paper >> Read more MySQL Cluster Web pages >> Read more MySQL Cluster customers
4.5 Data Protection
The data generated by your application, and stored and managed by its database, is likely to be one of your customers’ most valued assets. And protecting their data has become even more critical because failure to do so can carry stiff penalties as prescribed by the growing number of security and privacy laws and standards (such as HiPAA). MySQL offers safeguards to help insure against data loss, whether by system error or by malicious acts, and to maintain legal and standards compliance. They include:
Transactional Support - The InnoDB transactional storage engine assures data integrity and provides ACID-compliant transactions, MVCC or multi-version currency control, foreign keys and much more. InnoDB is now the default engine for MySQL database versions 5.5 and above.
can also create compressed backup files, typically reducing backup size from 70% to over 90%, greatly reducing storage and other costs.
External Authentication - MySQL Enterprise Edition provides ready to use external authentication modules that easily integrate with other security infrastructures including LDAP and Windows. MySQL users can be authenticated using Pluggable Authentication Modules (“PAM”) or native Windows OS services. In addition to user authentication, MySQL offers numerous encryption functions that encrypt data on disk to guard against malicious data theft or unauthorized viewing.
>> Appendix A, Technical Specifications >> Read more MySQL Enterprise Backup Web page >> Read more MySQL 5.5 Reference Manual -- InnoDB >> Read more MySQL Enterprise Security Web page
4.6 Lower Customer TCO
In MySQL’s annual surveys, lower cost is consistently shown to be the number one reason why users choose to use MySQL. An IDC study showed that there are multiple components that contribute to a database’s costs, as shown in Figure 2, and to your products’ TCO.
Figure 2: IDC’s TCO Breakdown of Database Costs
Using MySQL helps reduce each one of these cost components through • Highly affordable licenses, which can lower your product license fees (Software) • Optimization for use on commodity systems (Hardware) • Ease of deployment and administration (Staffing) • Broad availability of skills, documentation, and a huge, active user community (Training) • High reliability, horizontal scalability, and an array of HA solutions (Downtime)
4.6.1 Easy Installation and Deployment
All MySQL installation and deployment options are fast and easy – even for your non-technical customers. MySQL installs in just minutes on any platform and can be easily integrated into application installation processes.
“MySQL’s ease of use and zero administration capabilities enable PortaBilling to be installed and configured in less than 15 minutes.” PortaOne – Andriy Zhylenko, Vice President of Engineering >> Read more
4.6.2 Zero Administration
The MySQL database does a very good job of administering and maintaining itself. For example, MySQL automatically manages all of the underlying storage of the database so no human intervention is required to increase the size of the database or its underlying objects. In addition, after initial setup and configuration, MySQL self-manages its memory caches, connection pools, and other such things. Finally, MySQL has a number of built-in management aids, such as a job scheduler, that lessen the need for any outside configuration or linkage to other sets of software.
As a result, your customers will not require a dedicated DBA and, in most instances, won’t need to do anything outside of your product’s administration and maintenance. This is especially important if you’re targeting SMBs, or non-technical users such as students or healthcare providers. MySQL’s low or zero administration requirements make it ideal for use in all-in-one appliances and devices.
>> Read about MySQL’s use in Appliances
MySQL’s automatic installation and zero administration also mean that you won’t be burdened with costly database-related support calls, which can be a sizable, ongoing expense. In the earlier SonicWALL example, 20% of their trouble-tickets and the majority of their support costs were related to their customers’ problems with Microsoft SQL Server.
“MySQL’s low administrative requirements allowed Scholastic to ship products that work out of the box and don’t require school districts to hire high-cost, dedicated DBAs.” Scholastic >> Read more
“We only touch our appliances when we do another release, so maintenance must be simple. We’ve never had to do anything more than this once-a-release form of maintenance on MySQL.” Xceedium -- Kurt Weissman, Senior Director of Product Management >> Read more
5 Enter New Markets & Extend Product Lines (Revenue) 5.1 Full-Featured and Low Cost
Using MySQL you can meet the needs of both high value and high volume markets because, as detailed in the previous sections, MySQL is both full-featured and low cost. You can extend your products’ reach to more sophisticated users and higher value markets, easily adding “enterprise” editions to your product line and / or offering value-added data analysis and reporting capabilities. With MySQL you can also keep pace with your customers’ data needs as they increase over time, saving you and your customers the expense and hassle of migrating your product and their data to a new database.
MySQL’s low total costs can provide margin flexibility to more effectively compete at the opposite end of the market, in cost-sensitive, high volume markets without sacrificing profitability. MySQL’s ease of use is also an advantage in meeting the needs of these markets, which are often comprised of non-technical users.
“With MySQL, we’re in a much better place than when we started. Customer satisfaction is even higher now. The [new] Simply Accounting by Sage Enterprise version was made possible because of MySQL, and we are able to scale with our customers’ needs.” Sage Simply Accounting -- You-Sheng Kang, Director Research and Development >> Read more
5.2 Multi-Platform Support
MySQL supports multiple platforms, providing ISVs and OEMs the freedom to ship products on a wide range of hardware and operating system combinations and therefore to more markets and more users. MySQL supports the most popular operation systems: Windows, Linux, MacOS, Solaris, and many more.
>> Read more MySQL Supported Platforms
"Had we chosen a proprietary database, we would have been limited to the platform on which the product is available. Here we have complete freedom to support the platform of our choice." S2 Security Corporation -- John Moss, CEO >> Read more
“MySQL reduces overall cost of ownership as it is not dependent on one platform or stack, and it has low hardware requirements which keeps costs down for SMEs and gives our customers choice in how they use their Sage products in relation to operating systems and other applications.” The Sage Group, plc. -- Klaus-Michael Vogelberg, CTO >> Read more
5.3 Small Footprint
MySQL can be used in the growing number of applications that need very small footprints for use in handheld devices, tablet PCs, and laptops; and with self-contained units such as portable printers and/or small, unobtrusive security or healthcare monitoring devices.
6 Reduct Product COGs Since its inception, MySQL has been designed to keep costs low throughout a product’s lifecycle. Using MySQL, vendors can: • Devote fewer resources to their products’ database and more toward improving and differentiating their products.
• Adopt more aggressive pricing to compete and win against alternate solutions
MySQL’s cost effectiveness is clearly shown in quantitative analyses. In a comparison of total costs over a three-year period, MySQL is over 90% less expensive than Microsoft SQL Server.4
Hardware Configuration: Intel x86_64 Servers: 4, CPUs/Server: 4, Cores/CPU: 4 Figure 3: Three Year TCO Comparison
You can customize the same TCO Calculator to estimate your cost savings. >> MySQL TCO calculator
"With MySQL we could focus on designing a solution that would meet customer needs rather than on how to minimize database licensing costs. NetQoS reduced its database costs by several thousand dollars per network appliance while also meeting the high-performance requirements of enterprise networks." CA NetQoS -- Ben Haley, Senior Product Architect >>Read more
"Using MySQL enabled us to deliver a cost-effective network analysis solutions that works out of the box and resulted in NetIntercept earning the Best Value Award from Computerworld's Security Pipeline. Also, only MySQL provides the performance to meet the high volume demands or our enterprise customers." Sandstorm Enterprises, Inc -- Jans Van Bokkelen, President >> Read more
"MySQL allowed us to create a breakthrough product by combining a full-featured database with our physical security management appliance at an affordable price." S2 Security Corporation – John L. Moss, President and CEO >> Read more
MySQL’s low learning curve and ease of development have contributed greatly to its adoption and popularity. In fact, there are few developers who are not already familiar with MySQL so most ISVs / OEMs do not need to hire in new skills to use MySQL. Developers can get up to speed quickly using MySQL’s quality documentation and active user forums in addition to support from Oracle MySQL. The result is reduced database development time, increased focus on your application, and accelerated time to market.
"It took us less than one day to fully integrate MySQL with our MobileMonitor/Analyzer products, which is a small fraction of the time it has taken us just to research how to integrate with other databases." CONCEVIUM -- Jonas Gyllensvaan, CEO, CTO and Founder >> Read more
“Most of our engineers were already familiar with MySQL. We could draw on existing expertise, saving us the substantial investment in time and money it would have required to come up to speed on another database.” Xceedium – Kern Weissman, Sr. Director Product Management >> Read more
6.2.1 Multi- Language Support
MySQL offers support for multiple languages such as C, C++, C#, Java, Perl, Python, PHP and Ruby. Your developers can use what they are used to vs. having to learn and use proprietary APIs, or unfamiliar programming languages, all of which can be a big time and cost savings advantage.
>> Read more in Appendix A: MySQL Technical Specifications >> Read more MySQL Supported Datatypes >> Read more MySQL Supported Platforms >> Read more MySQL Connectors
Figure 4: MySQL Pluggable Storage Engine Architecture
>> Read more MySQL Pluggable Storage Engines and Architecture
If you have very specific requirements that aren’t met by any of the existing storage engines, MySQL’s architecture allows you to use your own custom engine.
>> Learn how in webcast by MySQL customer, CA NetQos, “Inserts at Drive Speed: Developing a Custom Storage Engine for MySQL”
“Because of MySQL’s pluggable storage engine architecture, we are assured that if we need to change from MyISAM to a transactional engine, we can do that. This gives us technology and investment protection – we won't have to throw away any work in the future.” Xceedium – Kern Weissman, Sr. Director of Product Management >>Read more
6.4 GUI-Based Tools
6.4.1 MySQL Workbench
MySQL Workbench is a particularly useful tool for ISVs and OEMs: it’s a visual database modeling and design tool, a SQL editor, and an administrative tool. MySQL Workbench enables you to create and validate schema for new MySQL databases, and optimize existing physical MySQL databases with reverse/forward engineering and change management functions. Its SQL editor helps you create clean syntax and error checks existing SQL. Its administrative capabilities allow you or your customers to automate frequent tasks with extensions and scripts, and to optimize and troubleshoot MySQL in their environment. Using MySQL Workbench results in faster development and time-to-market, better product quality and performance, and easier as- needed administration.
Figure 5: MySQL Workbench – Visual Database Design
>> Read more “MySQL Workbench” whitepaper >> Read more MySQL Workbench Web page
“MySQL Workbench SE has allowed our team to improve productivity and deliver products on time and within budget. The tool is very intuitive and our new staff’s ramp up time minimal. This tool has reduced the task time of our data modeling significantly. This leaves more time to concentrate on quality and eliminates defects early in our development phase.” B Three Solutions, Inc -- Jamie Schultz, Vice President of Operations
>>Read more MySQL Workbench user quotes
6.4.2 MySQL Enterprise Monitor
MySQL Enterprise Monitor is a distributed Web application that helps ensure MySQL is performing optimally with your product. Using MySQL Enterprise Monitor during QA and testing helps your product perform at its peak right out-of-the-box. MySQL can also be used to monitor your customers’ MySQL databases, either remotely or on-site. This helps reduce support costs and / or bring in new revenue through higher SLAs or value-added tools.
• See at-a-glance and receive notifications when a server is down or performing poorly. • Receive instant expert advice on how to fix the problem. • Monitor and tune poorly performing SQL code.
Figure 6: MySQL Enterprise Dashboard >> Read more “MySQL Enterprise Monitor for ISVs and OEMs” white paper >> Read more MySQL Enterprise Monitor Web page
“By scaling-out with MySQL, we were recently able to add 3 million new users in less than a month... The new MySQL Enterprise monitoring tools give us unprecedented views into real-time and historical DB performance too troubleshoot problems, balance workloads, and predict future resource requirements.” iLike -- Nat Brown, CTO
7 Reduce Risk The risk associated with using an embedded database is a measure of the likelihood of loss resulting from that use. Risk can wipe out benefits, including cost savings and revenues, turning a good decision bad in a very short time. It usually comes from intangible sources, often unrelated to the technology itself. Embedded database risk can come in the form of:
• New, unproven technologies, or a small / shrinking user base. • Vendor instability, which can lead to under-investment in the technology. The likelihood of vendor instability increases if it’s not the clear leader, or if the market is fragmented among many vendors. • Not using support, or relying on support from an unproven vendor, or one with limited hours / geographical reach. • Lack of indemnification. • Inflexibility or limitations in the technology and supported platforms, which can make an embedded database like a straightjacket or a costly divorce.
Using Oracle MySQL carries none of these risks. It is a “safe choice” with assurances that many other databases and vendors simply cannot provide.
7.1 A Proven Solution
There are over 10 million active MySQL installations around the globe and the tens of thousands of new downloads from the mysql.com Web site every day indicate that those millions are growing. This massive installed base provides a testing and feedback loop that contributes to MySQL’s continuing quality and reliability. It also assures that, whatever your application, hundreds or thousands have probably used MySQL in the same way.
A Gartner study measured RDBMS market share by the number of active deployments. MySQL was the third most widely deployed database behind Oracle and SQL Server5, a clear indicator of not only MySQL’s ubiquity but also the market’s confidence in using MySQL in production environments.
Figure 7: Responses to Gartner survey question - "For each of the following DBMS products, state whether your organization has these deployed already, or plans to deploy in the next year, or longer term."
7.2 Part of LAMP Stack
MySQL’s ubiquity is due in part to its fundamental role as the “M” in the open source LAMP stack (Linux, Apache, MySQL, PHP/Perl, Python). The LAMP stack’s adoption has been fueled by organizations’ desire or need to improve their operational efficiency and reduce IT infrastructure costs. LAMP is now a well-proven technology stack used by the most popular Web sites in the world including Facebook, Google, Twitter, YouTube, Craiglist and Flickr.
7.3 Oracle Provides Strong Backing
MySQL AB was acquired by Sun Microsystems, Inc. in January of 2008, which in turn was acquired by Oracle Corporation two years later in January 2010. Some wondered about the fate of MySQL under Oracle ownership – would it under-invest in MySQL or ignore it? When assessing the acquisition of a technology, it’s helpful to look at the strength of the acquiring
company in that technology, the fit between the acquired and existing technologies, and best, how the technology has fared after a period of time under the new owner. We do that for MySQL and Oracle in the following sections.
7.3.1 #1 in RDBMS
Oracle is the world’s largest database company. According to a 2011 Gartner report, Oracle is #1 in RDBMS market share based on 2010 software revenues. In fact, its 48.1% market share is larger than its five closest RDBMS competitors combined. And, despite its extremely large base, Oracle’s RDBMS revenues grew at 10.9%, exceeding both the industry average and it’s closest competitors’ growth rates.6
7.3.2 #1 in Embedded RDBMS
Oracle is also the leader in the embedded RDBMS market. IDC reported in 2010 that Oracle held 30% of the embedded RDBMS market. Oracle’s embedded database business was nearly three times that of its closest competitor, and its 3.6% growth rate was over twice that of the overall market.7
7.3.3 MySQL’s Place within Oracle
Oracle is committed to being Open – with open standards and open source; Integrated – with products that are built together, tested together, managed and serviced together; and Complete – with the ability to meet customer requirements at every level, which is why MySQL is important to Oracle and its customers.8
MySQL complements Oracle’s incredible lineup of databases as the only open source Web and embedded RDBMS. And with MySQL, Oracle now has the most complete open source stack in the world that includes Oracle Linux, Oracle VM, MySQL, Apache / Glassfish.
As many as 70% of Oracle customers also use MySQL. To better meet the needs of these joint users, MySQL has been integrated with: • Oracle Linux • Oracle VM • Oracle Golden Gate • Oracle Fusion Middleware • Oracle Secure Backup
>> See frequently updated list of Oracle and MySQL product integrations
7.3.4 Investment in MySQL Pays Off
Oracle has made significant investments in MySQL, which is plainly evident in the 10 products that were released in just one year after the acquisition. In the history of MySQL there had never there been as many product releases, nor as many major releases in a single year.
>> Learn more What’s New in MySQL 5.5 >> Learn more What’s New in MySQL 5.6
Oracle offers 24 x 7 global support for MySQL from seasoned MySQL support engineers with direct access to the engineers who create MySQL. With Oracle Premier Support, you can lower the total cost of using MySQL as an embedded database with fast and highly effective support whether you’re developing your application or troubleshooting customer problems. Oracle Premier Support for MySQL includes the following features:
• 24 X 7 production support • Unlimited support incidents • Knowledge Base • Maintenance releases, bug fixes, patches and updates • MySQL consultative support
MySQL Support surveys each customer upon resolution of their issue. The monthly average is 95% customer satisfaction with MySQL Support’s services.
With access to the MySQL source code base, ISVs and OEMs have the ultimate flexibility to tailor MySQL to meet your application and customers’ specific needs. Your developers also benefit from one of the world’s largest and most active open source ecosystems with a huge community of users who work with the product daily submitting bug issues and reports, and contributing ideas back to MySQL. Community input is fed directly into improving the quality of the product. This model of quality control and creative initiative has been and continues to be critical to MySQL’s success.
The fact that MySQL is an open source product provides: • Wide availability of skills • Access to code • Better quality code • Community user forums and support • Broad access to independent opinions and advice
“By powering our system with MySQL, we have full access to the source code, which makes the debugging process significantly more efficient. It also facilitates our development of future versions of AKM.” Danfoss – Martin K. Iverson, Project Manager >>Read more
Because MySQL delivers its software under a dual-licensing model, ISVs and OEMs can obtain MySQL software under a traditional commercial license, thereby eliminating legal uncertainties and risks related to embedding and distribution of GPL-licensed code in commercial software products. MySQL tailors licensing terms to meet the unique requirements of ISVs interested in embedding or bundling MySQL.
As illustrated throughout this paper, using MySQL as an embedded database can lower COGs and increase customer satisfaction and lower risk simultaneously, creating a kind of virtuous circle. It is the #1 open source database, backed by the #1 database company. It has been wildly successful and the evidence clearly points MySQL reaching even greater heights under Oracle’s stewardship.
The most important gauge of MySQL will always be its millions of users and thousands of customers. Please do click on the many links throughout this paper and “Read more” – see what others have to say. Check out MySQL – download it and try it out. Ask questions. And ask yourself it you’d like to be able to say about your product’s database what these ISV and OEM customers have said about MySQL. If you do, please get in touch. We would love to work with you to see how MySQL can help lower your COGs, increase your customer satisfaction, and lower your risk.
“The benefits that MySQL brings the Brightmail product are its rock-solid quality and performance; its reliability, its robustness, and its very low administrative cost.” Symantec – Paul Stephens, Senior Development Manager >> Read more
“We chose MySQL for its reliability, ease of use, low administration and high performance. MySQL allows us to implement the workgroup productivity features in Adobe Creative Suite CS3 so that our users can be more productive. “ Adobe – Mike Wallen, Version Cue Product Manager >> Read more
“We tried multiple database solutions. Based on price, performance and functionality, there were no databases that could compete with MySQL.” FairWarning – Kurt Long, CEO >> Read more
“MySQL embodies what we’re trying to do with our appliances – it just works.” Dell KACE -- Dave Kloba, Vice President Engineering >> Read more
”MySQL is easy to use, reliable and has stood the test of time; plus, the performance of MySQL unmatched. MySQL is making a lot of my customers very happy right now.” Plixer International – Michael Patterson >> Read more
“Having made the decision to further improve the database technology that underpins our products, we chose MySQL as it proved to be the most powerful and versatile solution available.” The Sage Group, plc -- Klaus-Michael Vogelberg, Chief Technology Officer >> Read more
- Views - Row-level Locking MySQL Enterprise High Availability1 - Triggers - Customizable Lock Isolation Levels - Oracle VM Template for MySQL - Stored Procedures - Distributed Transactions (XA) - Windows Failover Clustering for MySQL - User-Defined Functions - Snapshot
- Information Schema - Repeatable Reads (readers don’t MySQL Enterprise Scalability1 - Unicode block writers and vice-versa) - MySQL Thread Pool - Referential Integrity - Timed Deadlock Detection
- Server-enforced Data Integrity
Web Application Optimized MySQL Enterprise Security1 Replication & High-Availability features - MySQL External Authentication - Built-in Replication Engine - Server-side Thread Pool - PAM (Pluggable Authentication Module) - Master/Slave - Connection Thread Caching - Windows Native Authentication - Dual Master - Query Results Caching
- Replication Ring - Load Balancing MySQL Enterprise Monitor1 - Replication Tree - Prepared Statements - MySQL Enterprise Dashboard - Row-based Replication - Full Text Search - MySQL Query Analyzer - Semi-synchronous Replication - Multiple Character Sets - MySQL Enterprise Advisors - MySQL Cluster HA - Geospatial Support - MySQL Replication Monitor
- Multi-Terabyte Scalability
MySQL Enterprise Advisors1 - 99.999% Availability Data Warehouse Optimized - Administraiton Advisor - Distributed architecture features - Security Advisor - Synchronous replication - Fast Data Load Utility - Replication Advisor - Real-time transactional performance - High-Speed Multi-Insert Function - Performance Advisor - SQL & Non-SQL data access - GROUP BY WITH ROLLUP - Memory Usage Advisor - Java, C++, LDAP, memcached, HTTP - Aggregate UDF - Schema Advisor
Graphical Tools - Built-in Space Reclamation Partitioning (Table/Index) - MySQL Workbench - Auto Undo/Rollback Management - Range - Data Modeling - Customizable Storage Assignments - Hash - Database Administration - Compressed and Archive Tables - List - SQL Editor - Packed Index Storage - Key
- Works with NAS or SAN storage - Composite Drivers
- MySQL Native C Library Security - MySQL Drivers for ODBC, JDBC, .Net, C, - SSL Support C++ - Built-in Data Encryption/Decryption - Community Drivers for PHP, Perl, Python, - Fine Grained Object Privileges Ruby - View Support
- Triggers for auditing Operating Systems - Query Logs for auditing - Linux, Solaris, FreeBSD, Mac OS, Windows