MySQL, MSSql, Oracle: when to use which?

  • What is the limitation?
  • Is there a certain amount of data, each of which can process regardless of disk space?
  • When to use what implies that licensing is not a problem?
+6
database oracle mysql sql-server
source share
7 answers

This is a very delicate question, which in fact cannot be easily answered, since each situation can provide many advantages and disadvantages. In addition, Oracle-owned MySQL now and several branches from the core functionality means that MySQL! = MySQL is larger.

If you are looking for really really big data sets, you will need to break down with RDBMS sets and start looking at things like MapReduce and other big data processing technologies.

I have personally worked with all three in the last decade or so in terms of application. They all have their advantages, such as MSSQL working with other Microsoft technologies, such as LINQ, where MySQL has great open community support and Oracle, which is the workhorse of the commercial sector with great ability to embed application logic directly into the database.

Again, this really depends on the application, the situation, the skills of the people who will support it after its development, commercial considerations, considerations on the equipment and platform, etc. etc. etc.

+9
source share

It depends on what you are trying to do, and obviously it is related to cost.

  • MySQL and Postgres are very widely used by a huge number of startups, because it is open source and there is a lot of support for people using it.
  • MSSQL is good if you use MS programming languages โ€‹โ€‹because of the ease of connection and use.
  • I have never used the oracle, but I know that people often use it to store data, so it canโ€™t have such a bad name

All of them will suffer from similar problems when scaling, because they are RDBMS databases. They also have decent ways to get around it and with the decent ORM used in your code, then it doesn't matter what you use.

Choose the one that is more convenient for all developers

+3
source share

I would say if you want to compare apples with apples, then this is MySQL versus SQL Express, as well as Oracle Express.

Or, if you have $, then this is a license to support MySQL, MS-SQL Standard, against any cheap Oracle offer.

In my experience, as soon as you choose a language, for example. Php is best suited for MySQL, then you have chosen your database. Java goes well with Oracle. C # goes well with MSSQL.

Similarly, if you select your OS, then in Unix flavors they will start MySQL or Oracle, but MSSQL is just windows. MySQL and Oracle, of course, work with both unix and windows.

If you need to buy a lot of machines, then you do not need to pay OS licenses for the server, it helps in scaling .

+2
source share

As for the scaffman point, you might want to take a look at postgres if mysql doesn't scale for you. It is more mature and reliable than mysql, and is open source. However, the time it takes to turn on the switch is highly dependent on your application environment, however, if you need to cluster and replicate in order to work normally in 100% of cases, then postgres will not let you down (as it was in mysql in the past)

+1
source share

This will help greatly simplify if you provide information about whether you intend to distribute the database with your software; your system will be hosted; how much data; etc.

Do not accept any licensing obligations. Get a lawyer, perhaps even those who specialize in open source law.

"... regardless of disk space ..." - capacity always depends on this. Where do you think the data goes? Itโ€™s better to think about things like outlining your data, RAID, clustering, replication, etc.

I will worry about any system whose developer should have come to such a forum to ask such a question. You must have people with sufficient skill and knowledge to have a strong opinion on this matter.

0
source share

Perhaps one variable that people overlook in these cases is the availability of expert support. Okay, so there is currently an abundance of people who can help you with db related issues, performance issues, disaster recovery, etc. However, in the future this may not always be, and the applications that you use for this may be a defining problem. Do you have people in your organization who have experience working in one or more relevant databases? (as it happens, I believe that someone who becomes proficient in Oracle can become quite competent in Sql * Server or Mysql in a fairly short period of time). You declare that it will be used for your financial systems - perhaps you really need input from a consultant who worked on the implementation and / or support of financial systems - for example, I understand that Sybase is popular in firms like City. Or maybe there is a ready-made package that uses the preferred database? Try to pinpoint what your system (s) should do.

0
source share

Acquires or builds an application?

  • If you buy, does it support all three and talk to the app seller about the differences?
  • If Build, then this is an internal build or contract. If the contract, make your requirements and let the suppliers argue.
  • If you build a house, then first look at why you are not signing a contract. This is usually because you already have built-in capabilities, so look with this experience.

First you want to get size information. Are you talking about data volumes in megabytes, gigabytes or terabytes? What are your requirements for uptime, backup (restore / restore time)? How many simultaneous actions? Is it a peak?

Typically, any database system is suitable for storing and retrieving data. High-performance analysis, load balancing, replication, management, backup / restore, audibility, security - these are all areas that you may need.

0
source share

All Articles