Can open source databases like MySQL support loading my website?

I am about to start product development (in .NET) and I am evaluating open source database engines to avoid adding licensing costs to the total cost of my product.

Which ones do you know that are strong? Is MySQL a good alternative? What website load can it support?

Do you have experience using an open source database in real projects?

Or do I just need to use Oracle or SQL Server to develop a reliable product?

+6
database mysql open-source
source share
18 answers

MySQL is not as cheap as you think.

Large organizations that use MySQL spend significant amounts of money on maintaining it and are often forced to develop their own extensions. There have been several recent articles from MySQL insiders about the poor quality of their product. I have been a MySQL user for several years now, and release quality has plummeted after changing ownership of SUNW.

I understand that MySQL can be optimized and made to work well, but I am not dBA and cannot afford to have dba for all my projects. I have some very complex queries that sometimes cause out of memory on the system. I am currently migrating my systems to SQL Server Express. Test queries run much faster in SQL Server Express than in MySQL. If you are not very strong in databases and need a reliable and fast system, I would not use MySQL. SQL Server Express is more suitable for developers who are familiar with basic databases. They automated and worked on the settings that you would need to do manually in MySQL.

On the other hand, if you are very happy with databases, you can consider PostgresSQL. It is open source. It is not as convenient as MySQL, but from my superficial understanding it is more powerful and much more stable.

bottom line - MySQL was a good option, but consider SQL Server Express and PostgresSQL as the best current alternatives.

EDIT:

here are some links. there were 2 more sharp ones, but I got them from reddit.

monty-says

was it a good step

mysql destruction

punch in the teeth

criticism

random forum post

what's happening

+3
source share

MySQL is good enough for Flickr, Facebook, Wikipedia, Google, and YouTube to use it (says Wiki). I would say that each of them serves more load than you are likely to achieve. I believe WordPress.com is four million + blogs ( stats ), including CNN, Time blogs, etc. - also uses MySQL.

Oracle / MSSQL is definitely not required to develop a reliable product.

+17
source share

This wikipedia link should help; it compares most large relational databases. http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems Mysql should work fine, if you write your code correctly, then what works in wikipedia should support almost all applications if they are configured correctly and run on reasonably good hardware / settings clustering.

+7
source share

This is not an easy question. The nature of your application is the nature and amount of interactions with your database. I can say that MySQL and PostgreSQL will work just like any DBMS in most situations.

+5
source share

MySql should be ok for your needs ...

He works for many and many companies.
Please also note that it has a lot of support, developers familiar with it are still in development, etc. Do not look further.

+2
source share

Wikipedia (imho is one of the best web worlds ever created) runs on MySQL, so it can't be bad. I have the pleasure of being able to code any database platform that satisfies the needs of projects, and although there are some interesting MSSQL functions that I really get from a lot of mileage, MySQL is what all of my open source packages run away and I can’t say that I have any complaints about this installation at all. If you have a choice between PostgreSQL and MySQL, I'm talking about the PostgreSQL route, because if you delve into the stored procedure proc and functions, PostgreSQL will give you much more reliable functionality that you can work with.

+2
source share

It all depends on what you are looking for in the database. Really, how big are your data sets? What kind of cargo will you need? Do you need clustering and / or separation? Will you have a full time DBA? Do you need any extensions on top of what you get from vanilla SQL?

Is the application a true green field or is it part of an environment in which there is already existing infrastructure / staff to support an existing database?

MySQL has reached a point where it can handle most of everything that you want to throw against it, but “free” and “can do the job” alone is not enough to make a decision.

+2
source share

SQL Express is free as far as I know. It may have some missing features from standard SQL Server, but it allows you to distribute it along with your product, and your customers can move up as needed.

+1
source share

I agree with ceejayoz , mysql is a mature DBMS. No frills, no restrictions, fast lighting, fault tolerance and reliability if necessary.
It definitely deserves more than a chance.

As with open source dependencies, I must indicate that mysql is licensed under the GPL.

Are you planning to release a project under the GPL? This requirement is often ignored.

Edit:
I have some critics in my punctuation, I should have better explained my position.

GPL reference regarding linking closed source to GPL one
http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#MereAggregation

You should read faq, especially when they say

... pipes, sockets, and command line arguments are communication mechanisms commonly used between two separate programs. Therefore, when they are used for communication, modules are usually separate programs. But if the semantics of communication are quite intimate , exchanging complex internal data structures , which can also be the basis for considering two parts as combined into a larger program p>

I was already bitten when the mysql interface libraries switched from LGPL to the GPL, in version 3.80. We, our legal department, discussed with MysqlAB if I correctly remember the name of the company before the acquisition of Sun, at that moment the options that they gave us consisted in acquiring a commercial license not belonging to the GPL, or remaining with version 3.80 of the library.

By the way, the .net connector is the GPL, this is clearly indicated on the download page
http://dev.mysql.com/downloads/connector/net/5.2.html
and I don’t think that you, like everyone else included by me, may find it useful to talk to the server through a raw TCP connection with an existing connector.

Two other words on mysql% php: php license and mysql license are incompatible with each other Sun and MysqlAB earlier, I had to insert a license exception adapted to php and other open source projects so that php supports mysql. It was a long and passionate diatribe, and I was disappointed with the result, we had a clear opportunity to get php under the GPL.

+1
source share

Also note that the MySQL.Net client lib is GPL-ed. And if you use it, you must release your application under the GPL. And you should not redistribute MySQL with your product.

Or you can buy MySQL, but the advantage over MSSQL / Oracle goes away.

Or you can use 3p client libraries that are directly linked to MySQL without GPL libraries.

In general, a difficult decision to make. Think twice.

+1
source share

A note on MySQL and the GPL: I believe that if you do not distribute the binary application (i.e. your product is a web application that you only host and do not deploy to your clients), you can use the GPL without having your application also must be open.

+1
source share

As you develop in .Net, you may find MS SQL Server useful.

You can encode CLR stored procedures that can be super efficient for building tree data from multiple sources, for example.

It is also available in Express Edition with advanced services.

This version includes reporting services, which are pretty good.

MySQL is also very good as a database engine, fast and free, but since you are already using .Net, I would first consider MSSQL.

+1
source share

I ported a lot of development from Ms SQL to PostGreSQL (for similar reasons for you) and was pleasantly surprised.

I found that there are a few caveats:

  • Expect some learning curve around the stored procedure ("functions" in PostGreSQL). If you are familiar with Oracle plsql, this may not be a big problem.
  • The npgsql.Net connector has some stability issues (esp with .Net 2.0). However, the developer community v. Actively and responds to requests and problems. (More stable commercial connectors available)

(As a result of my experience and in the search for developing a codebase that can support several databases, I found that it is best to remove most of the entire logic from the query language. PostGreSQL approach was adequately superior and the learning curve was not burdensome)

+1
source share

Oracle also has a free version called Oracle XE.

0
source share

If you're just worried about licensing costs, there is a free version of SQL Server that is very capable. There is a size limit, but if you outgrow, then you will probably also get enough income to afford to pay for the payment.

0
source share

A slightly offtopic answer (for the interest shown in mysql and wikipedia):

Here is a link to server location diagrams on Wikipedia over time.

http://meta.wikimedia.org/wiki/Server_layout_diagrams

Taken from:

http://en.wikipedia.org/wiki/Wikipedia#Software_and_hardware

0
source share

I have used MySQL and Postgres for over five years, and both are good. Please note, however, that MySQL vs. Postgres is one of the sacred lights such as Linux vs. Windows, etc.

Both should be ok for most everyday applications. Please note that additional features such as clustering, hot backups, etc., may require effort / research to configure.

Postgres is more "like Oracle" in syntax and in some functions, indeed, it is sometimes called "Oracle poor man." MySQL I'm not sure what to compare with.

Of the two, Postgres has long been considered more reliable, and MySQL is faster, but both are currently somewhat controversial.

Please also note that while Wikipedia and Flickr start MySQL, no one says how many actual MySQL servers are needed for their backend.

There may be a number of functions that one of them misses / implements in comparison with each other, as well as with commercial databases. If you specify your specific needs (clustering, triggers, sequences, ACID matching, good scalability?), This may affect which datbase you would be better off with.

0
source share

If you are developing a product for sale, MYSQL is not free. There is a fairly significant license cost to release a database with the program. Take a look at Firebird. Very convenient, free, and in addition to the full database server there is a small version of footprint.

0
source share

All Articles