Database Architect, NetMotion Wireless
NetMotion Wireless Overview
NetMotion Wireless develops software to manage and secure wireless data deployments for organizations with mobile field workers. Founded in 2001, NetMotion Wireless has been recognized as one of the fastest growing wireless and technology companies, received over 25 awards for outstanding technology, and acquired over 2,500 customers, including Advocate Healthcare, Comcast, Hertz, Pacific Gas & Electric Company, Oregon State Police, and Unilever.
NetMotion Wireless Mobility is a market share-leading1 mobile VPN that helps maximize mobile field worker productivity by maintaining and securing their data connections as they move in and out of wireless coverage areas and roam between networks. Organizations using Mobility see considerable ROI from gains in mobile worker productivity, as well as lowered IT support costs.
Locality™ is a NetMotion Wireless cellular network performance management product that gives organizations the insight and visibility they need to optimize their mobile data deployments. Using Locality, companies can:
- Identify the causes of chronic connectivity problems
- Ensure mobile field workers have access to the best coverage and the fastest network technologies
- Redeploy or disconnect under-utilized devices
- The resulting reductions in mobile worker downtime, help desk calls, air card management, and data plan costs combine to produce significant cost-savings for Locality customers.
Figure 1: Locality Coverage Map
The Database Challenge
When first developing NetMotion Wireless Locality in 2010, database architect Jonathan Wiggs and the rest of the product team faced multiple challenges:
- Real-time Data Collection and Analysis - Even the smallest Locality customer deployments would have hundreds of millions of records and require scalability up to hundreds of terabytes.
- Maintaining High Customer ROI - High customer ROI required low database costs over their products' lifecycle.
- Ease-of-Use - Some NetMotion Wireless customers are small shops or not highly technical. It would be an advantage if neither Locality nor Mobility required a DBA.
- Great on Windows and Language and Platform Flexibility - Because Locality and Mobility were Windows platform-only, their database had to perform on Windows and integrate well with .NET. In addition, NetMotion Wireless wanted a database that wouldn't restrict Locality and Mobility to the Windows platform, and they wanted the freedom to use whatever technology -- C#, C++, Java or even scripting languages -- was best suited for their application.
- Not Microsoft SQL Server, if Possible - NetMotion Wireless Mobility has a popular Analytics Module that at that time used Microsoft SQL Server as its database. Though it could handle high data volumes on Windows, even one SQL Server license for Mobility Analytics eroded customer ROI. In addition, "Microsoft SQL Server really is a stand-alone database. It lacks the platform and language flexibility to be a good product [embedded] database," said Wiggs. For these reasons, the product team hoped to find a better alternative in MySQL.
The MySQL Solution
Wiggs and the rest of the team decided to evaluate MySQL based on its reputation as a low-cost / high performance database, its multi-platform and multi-language support, and its popularity as an embedded database. They had some doubts whether MySQL could perform at the levels Locality and Mobility Analytics required, and were most concerned about using MySQL - the "M" in LAMP (Linux, Apache, MySQL, PHP/Perl/Python) - on Windows.
Comparing MySQL with SQL Server
The product team subjected MySQL to rigorous testing, using key criteria to compare it with what they knew best: Microsoft SQL Server. Their conclusions follow:
- .NET and Java Support - They found MySQL provided excellent integration with .NET "MySQL works every bit as well with ado.net as SQL Server, and its Java integration is equally good," said Wiggs.
- Scalability to Support Terabytes by the Hundreds - "MySQL could handle large data support upwards of dozens of terabytes, even hundreds of terabytes," said Wiggs. Locality customers with hundreds of millions of records would not be an issue.
- Highly Transactional - With MySQL's InnoDB engine, NetMotion Wireless was able to get the tight referential integrity necessary to extract good data.
- Partitioning, Connection Pools, Stored Procedures - These were essential features and MySQL had them, "on a par with SQL Server."
- Flexibility - MySQL's language and platform flexibility made it a better embedded database for the development team for use across a broad range of customer environments.
- Database Profiling and Tracing - The product team needed these during QA and testing to get the data analytics and caching abilities Locality and Mobility Analytics required. "We initially thought this was the only point of important technical disparity between MySQL and SQL Server, but it was addressed completely by MySQL Enterprise Monitor," said Wiggs. "Using Enterprise Monitor, we can easily see a query that's running too frequently and find a fix for performance bottlenecks in hours instead of days. This is something the big three [Oracle Database, SQL Server, and MySQL] have. None of the others have this back layer visibility."
- Final Conclusion: Feature Parity and Lower Costs - At the end of the evaluation, there was nothing in the "con column", making their choice for MySQL clear. "There was no tradeoff," said Wiggs. "There was feature parity and much lower costs. MySQL is every bit as much an enterprise player as SQL Server."
Migrating from Microsoft SQL Server to MySQL
The decision to use MySQL was clear but the team had concerns that moving Mobility Analytics from SQL Server to MySQL wouldn't be as straightforward. Three things helped ease their migration:
- NetMotion had kept to an ACID design for Mobility Analytics and isolated the data access with SQL Server. As a result, the migration was primarily a matter of re-writing from SQL Server's proprietary Transactional SQL (T-SQL), to MySQL's ANSI standard SQL.
- They relied on MySQL Workbench during the migration for rebuilding the schema and rewriting the stored procedures, using EXPLAIN where needed. "Often open source tools have very limited scope and you need more than one to get what you need but they don't all work together. It's nice when you can use one tool like Workbench to do exactly what you need," said Wiggs.
- There was a lot of similarity between the two databases, with the biggest difference being MySQL's closer adherence to the international [ANSI] SQL standard.
Benefits of Using MySQL
Development and Training
The product team found it easy to develop with MySQL, and even easier using MySQL Workbench. Said Wiggs, "MySQL Workbench is just a really good tool. No problems, it's intuitive, it works well. Hard to ask for more than that." Training on MySQL (which was a new database for many) consisted of a few informal training sessions over lunch.
Performance and Scalability - Even on Laptops
With MySQL, Locality can achieve hundreds of thousands of transactions per minute running on a VM on a laptop. This allows the development team to test on a number of systems simply using VMs. "The fact that we're not limited to running our tests on two $20,000 servers removes a huge barrier," said Wiggs.
Easy to Do Business
Wiggs found that "it was much easier to establish a licensing agreement with Oracle than with Microsoft. This is a huge benefit, even for technical people."
NetMotion Wireless has been impressed with MySQL's reliability. "We've always been able to get MySQL back up and we've never had any irrecoverable loss of data. That's especially impressive because our applications are used in the field."
Easy, Transparent Administration
"MySQL's administration is automated, easy to configure, and highly configurable: we can get it to leap through any flaming hoops we need. In real-time, MySQL checks the hardware parameters and builds itself for that system, fully optimized to take advantage of the hardware. MySQL makes it all easy and transparent for customers. That's huge. We just want our customers to look at the application's analytics, not at the database admin screen, tools, or console," said Wiggs.
Summing up, Wiggs said, "MySQL's enterprise capabilities and ease of integration make it competitive with the other enterprise databases. MySQL provided the perfect trifecta of feature parity, ease of integration, and lower cost."
1 2011 Global Frost & Sullivan Market Share Leadership Award, recognizing Mobility XE for achieving the highest market share among mobile VPNs.