Recently, the company selected a brand new database system as the development platform for projects. I am also working hard to adapt to the development and use of this database. Many users (including our programmers) are confused about which database to choose. I have also experienced this phase before. I would like to share my views.
I have only used PostgreSQL, MySQL, and Oracle databases. These three databases are also very representative. The discussion below is only for these three databases. You can repeat other databases on your own.
Copyright issues
Both MySQL and PostgreSQL are open database systems. The protocol used by MySQL is complex. In simple terms, it is based on GPL.
Protocol (mysql users can get support from mysqlab and use the MySQL Protocol ). The PostgreSQL system is completely based on BSD
Protocol, which is more "free" than MySQL ".
The GPL Protocol requires that you publish your modified code. BSD can be used for commercial purposes without any restrictions.
Oracle is a completely commercial system. It is fully charged for use and cannot be modified or copied to its code, programs, or even documents.
Cost
Cost is relative to copyright. Based on the above three database systems, if the cost is calculated. The cost of Oracle is the highest, while that of MySQL is slightly less. PostgreSQL is completely free.
Supported
It is very important for the later technical support of the database. Oracle Database is a commercial product, so its support is naturally very thoughtful. In China, MySQL and PostgreSQL basically rely on networks and communities.
Throughput performance
From a technical point of view, because the application objects of the three databases are different, the performance is different. Oracle
Suitable for medium and large system development and maintenance, and suitable for storing massive data. MySQL is suitable for the rapid development and maintenance of small and medium-sized systems, PostgreSQL
It is advertised that it is "the most comprehensive open-source database system", and its performance is naturally good.
In my personal experience, Oracle is like a truck, MySQL is like a pickup, and PostgreSQL is like a passenger car.
Stability
For stable performance, all three databases can be used for the 7 × 24 hour test. In terms of performance, my personal experience is that the stability of Oracle is the best, MySQL is the second, and PostgreSQL is the second (the stability of these three databases is relatively good ).
Summary
Speaking of this, it may be difficult for you to choose these three databases. My personal opinion is to consider the actual project requirements, scale, and cost.
Oracle is the first choice for large and medium-sized projects, and its expenditure is relatively high. The relatively economical alternative is PostgreSQL (but it requires more labor costs ).
For small and medium-sized projects, MySQL is fully competent. The performance of lamp systems in the open-source field is obvious to all.
For program development, Oracle often works with Java (JSP), MySQL works with PHP, and PostgreSQL can be connected to multiple programs.
Appendix:
The words of the family are for reference only. The following is a classic answer from searchoracle.com:
PostgreSQL, MySQL, Oracle or other? ==> Question posed on: 26 then l 2002
Which shoshould I choose: PostgreSQL, MySQL, Oracle or other? The
Application is not web-based, and the database contains 50 tables
The biggest table containing 18 million rows (6 GB total). The engine
Shoshould have:
# Good backup/restore to/from file service # ability to lock at row level # Fast inserting, updating posts
> Expert response
Which database version do you select? That \'s a tough one. It all
Depends on a lot of different factors. you \ 've listed a few factors,
But not all of them. The biggest one is price. How much can you afford?
Oracle will cost much more. And MySQL is free as long as you follow
GPL. You state that you want the ability to lock at the row level.
Oracle is one of the best at this, but MySQL with InnoDB is making
Progress. You also stat that you want fast inserts and updates.
That, I \ 'd go with Oracle. A properly configured Oracle database will
Run really nicely.
Other factors to consider are the expected number of concurrent
Users, the expected data growth, and that application. Like I said,
There are lots of factors to consider. In these cases, it \'s not a bad
Idea to hire a consultant to help in your determination so that your
Company doesn \'t waste time and money.
Should I select PostgreSQL, MySQL, Oracle, or others? (Note: The date is January 1, April 26, 2002)
My project is not a web project. The database contains about 50 tables and may contain up to 18 million data records (about 6 GB of data ). What database should I choose? PostgreSQL, MySQL, Oracle, or others? The required requirements must include:
# Good backup/recovery system # Lock at row level # Good Performance
Experts replied:
Which system should you choose? This question is very difficult to answer. This depends on different needs. You only list a small part of the requirements, and not all of them list what you actually need. Maximum question
The question may be about the cost. What is your estimated expenditure? Oracle may require more fees. MySQL is based on GPL
Protocol, so its expenditure is relatively less. You need to have the row-Level Lock function (lock at row level). I think oracle is the best authority, but MySQL
It also has good performance after including InnoDB
). Again, you need to have good performance. Honestly, I prefer oracle. The performance of Oracle with good configuration will be very satisfactory.
Other requirements are the number of users using your database, the growth of your database, and the applications on it. I think there are many factors to consider as mentioned above. I don't fully decide which database you actually use. I think you may need a consultant to review your specific application before it can be decided. This does not require a lot of time and investment.
Trend chart of these three databases in recent years