Solved

SQL Server 2012 vs MySQL

Posted on 2013-12-16
8
1,892 Views
Last Modified: 2013-12-23
Hi Experts,
I have been developing .Net applications with MS SQL Server as the backend for a long time now.  The company that I work for has grown in size and with it, the COST of SQL Server licenses has alos grown.  Is continuing to develop in .NET, but switching to MySQL as the backend, a viable solution to eliminating the huge licensing cost of SQL Server?
Will I see a decrease in performance using MySQL?
What will the downfall/pitfall be in switching to MySQL?

Thanks in advance,
mrotor
0
Comment
Question by:mainrotor
8 Comments
 
LVL 22

Assisted Solution

by:Nico Bontenbal
Nico Bontenbal earned 72 total points
ID: 39723406
Isn't SQL Server express an option then? Then you still have the same environment (with some limitations of course), but without the licencing costs.
0
 
LVL 38

Assisted Solution

by:Aaron Tomosky
Aaron Tomosky earned 143 total points
ID: 39724171
Use SQL express for under 10gb databases. No reason for full SQL for most projects.
0
 
LVL 29

Assisted Solution

by:Rich Weissler
Rich Weissler earned 71 total points
ID: 39724203
The biggest risk/cost that I've encountered with MySQL is finding qualified DBAs who work with it and really know it.  Most of the instances I've enountered have been set up by web developers who know just the minimum needed to get the server spun up.  When performance starts to suffer, they tend to start throwing an increasing number of indexes on their tables.

As Nicobo asked, have you considered SQL Server express an option?  If you are in an environment where the 'free' version of MySQL would be an option, presumably MSSQL Express Edition would satisfy your need as well.  If you are taking advantage of additional features of the databases, you may need the more capable editions of MySQL as well.

To answer the other two questions about pitfalls and performance problems -- that'll depend entirely on the expertise and support available to your DBAs.  If you have strong MySQL skills available, it'll be fine.  At least in my experience, finding or developing those skills in staff can be problematic.  That'd be the largest challenge.
0
 
LVL 50

Assisted Solution

by:Steve Bink
Steve Bink earned 71 total points
ID: 39724863
While SQL Server Express is certainly an option, presuming your databases fall below its ceiling, there is no reason not to use MySQL.

1) MySQL is free

2) MySQL uses SQL-92 standard syntax, plus some proprietary syntax, just like Microsoft's T-SQL.  There is a very shallow learning curve when moving from one to the other.

3) MySQL offers most of the core functionality available in MSSQL, including tables, views, triggers, stored procedures, transactions, and user security.

4) MySQL is extremely well-documented.  What you can't find in MySQL's manual can be found in the huge community surrounding it.

While Razmus does have a point regarding unqualified DBAs, I assert that the same problem exists with MSSQL.  Those individuals tasked with creating or maintaining a database, but lack the skill set to do so professionally, will always make things more difficult than they need to be.  It really doesn't matter which platform is being used if it is not being used optimally.

As far as performance considerations, I've found the two to be comparable, but that is only my anecdotal evidence.  In my brief research into benchmarks for this question, I found MSSQL2008 to be a better performer in general over MySQL5.5.  The stats I looked at were not specific about the configurations each used - they only mentioned the engine (MyISAM or InnoDB) and the statement type (SELECT, INSERT, etc.).  Still, if your application will be experiencing heavy loads, it is definitely worth your while to research those differences more thoroughly.  Be very clear about one thing: the database platform will only perform as well as its configuration allows.  Regardless of which platform you choose, you need to optimize its configuration for your environment.

Finally, the primary difference I've found between MySQL and MSSQL is how much of a feature set you get for your money.  MySQL is free, and comes with all the basics you need.  It does not have a fancy GUI management interface (no, I do not count the Workbench), nor does it have built-in integration with other services, such as email (IMHO, databases do not send email...).  If you want those things, as well as all the other API stuff available, then you'll need to shell out the license fee for MSSQL.
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 35

Assisted Solution

by:David Todd
David Todd earned 71 total points
ID: 39724981
Hi,

Just a comment on routinet's response - what happens if you develop an application, that's fine with either SQL Express or MySQL, but then, you need some of these other features? Or the application suddenly becomes incredibly critical? And you now need the database to email alerts etc.

You know SQL.

SQL Express can be upgraded, or the databases migrated to a fuller featured version of SQL quite easily.

Regards
  David
0
 
LVL 50

Expert Comment

by:Steve Bink
ID: 39725736
@dtodd:

That is absolutely true.  MSSQL can certainly make things convenient by doing all these things together in one box, but it is also one of the attributes that makes MSSQL licensing outside the reach of many businesses.  Absent the monolith, it takes time and energy to frankenstein the various parts of that together from open source.  But, it is possible to do, and it becomes easier to do it every day.

On the other hand, when your monolith changes, it is going to touch that much more.  If I'm using my little frankenstein, then I know if MySQL gets upgraded, I don't have to worry about how that affects my email reporting.  I only need to worry about my db abstraction layer, not the tens of dozens of other contact points my application could have.  

Both paradigms have their place.  This question happens to focus on "What if I don't pay Microsoft all this money?"  The answer is that you'll be left with a whole bunch of extra work if you need something above and beyond a database, but it is all do-able.
0
 
LVL 38

Assisted Solution

by:Aaron Tomosky
Aaron Tomosky earned 143 total points
ID: 39725767
Short answer: dotnet devs should use mssql express until there is a reason not to. The first reason is usually db size over 10GB. The next most common is clustering and replication. If you don't need something missing from mssql express, I don't see the point in even thinking about MySQL for .net stuff.
0
 
LVL 51

Accepted Solution

by:
tedbilly earned 72 total points
ID: 39725950
As an added comment to using MS SQL Express.  Use feature sharding to break up the databases as well.  You don't need one massive database for one application.  Using multiple databases for one application to avoid the 10 GB limit whenever possible.

I use both MySQL and MS SQL.  The toolset for MS SQL is superior especially when you use 3rd party tools like what Red Gate Software has to offer.  What you pay for software you save in labor.

Also, with a profitable business, software licensing is a capital expenditure and a tax write off.

Personally I only use MySQL when I have too.  Cheap client or a product that uses it for a backend.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now